- 积分
- 147
- 最后登录
- 2022-6-14
- 精华
- 0
- 阅读权限
- 20
- 主题
- 23
- UID
- 4311252
- 帖子
- 368
- PB币
- 965
- 威望
- 0
- 贡献
- 0
- 技术
- 12
- 活跃
- 589
- UID
- 4311252
- 帖子
- 368
- PB币
- 965
- 贡献
- 0
- 技术
- 12
- 活跃
- 589
|
本帖最后由 mybabyson617 于 2014-2-7 23:37 编辑
为什么教程上的dsdt总跟我的不一样~~~~(>_<)~~~~
找了很多教程,爬了很多帖子,可是还是不知道我的dsdt怎么处理。 暂以https://bbs.pcbeta.com/viewthread-1053581-1-1.html为教程吧,以我的_BIF为例说明问题: - Method (_BIF, 0, NotSerialized)
- {
- If (ECOK)
- {
- UPBI ()
- }
- Else
- {
- IVBI ()
- }
- Return (PBIF)
- }
复制代码
我去找UPBI - Method (UPBI, 0, NotSerialized)
- {
- If (BAT0)
- {
- And (BDC0, 0xFFFF,Local0)
- Store (Local0, Index(PBIF, One))
- And (BFC0, 0xFFFF,Local0)
- Store (Local0, Index(PBIF, 0x02))
- And (BDV0, 0xFFFF, Local0)
- Store (Local0, Index(PBIF, 0x04))
- And (BCW0, 0xFFFF,Local0)
- Store (Local0, Index(PBIF, 0x05))
- And (BCL0, 0xFFFF,Local0)
- Store (Local0, Index(PBIF, 0x06))
- Store ("BAT",Index (PBIF, 0x09))
- Store("0001", Index (PBIF, 0x0A))
- Store("LION", Index (PBIF, 0x0B))
- Store("NOTEBOOK", Index (PBIF, 0x0C))
- }
- Else
- {
- IVBI ()
- }
- }
复制代码
教程中,人家是这样的: 1. // 原为 Store( ^^EC0.BDC0, Index (STAT,One) ), 2. // 现在用BB2W(^^EC0.SDC0,^^EC0.SDC1)代替了^^EC0.BDC0 PS:- Method (BB2W, 2, NotSerialized){ ShiftLeft (Arg1, 0x08, Local0) Or (Arg0, Local0, Local0) Return (Local0)}
复制代码
可是我这: - And (BDC0, 0xFFFF, Local0)
- Store (Local0, Index (PBIF, One))
复制代码
dsdt中找到 BDC0, 32, 我知道这是32位的, 如果我的是Store (BDC0, Index (PBIF, One)),我还能照葫芦画瓢,可这 Store(Local0, Index (PBIF, One)) 怎么转换?求指点一二。 附上我的dsdt。
DSDT.aml.zip
(13.97 KB, 下载次数: 15)
|
回帖推荐
mybabyson617 发表于37楼
查看完整内容
在lisai9093 版主的耐心解答下,现在能正常显示电池电量了.先以And (BDC0, 0xFFFF,Local0)为例,说明解决方法找到BDC0的定义 BDC0, 32, 说明我的是32位的,需要拆分成如下:
在DTDG函数下方(,即DTDG右大括号下边,不是在DTDG函数内)自定义一个函数
将And (BDC0, 0xFFFF,Local0)改成这个样子: And (B1B4 (SDC0, SDC1, SDC2, SDC3), 0xFFFF, Local0)全部改完之后是这个样子的:
编译后还有2个错误,同样的方法 ...
|