k90 - 2013/2/16 17:51:57
我發現使用支援程式後,PC_AA會有些問題:
首先我新增一個DeSmuME 0.98的支援程式,基址:40F90C,附加資料:0,這樣我的起始位址都是C199F0。
然後新增一個CheckBox
1|61(
[ENABLE]
alloc(tmp,256)
alloc(weapon,4)
registersymbol(weapon)
createthread(tmp)
tmp:
mov dword ptr [weapon],00E8708C
ret
[DISABLE]
dealloc(tmp)
dealloc(weapon)
unregistersymbol(weapon)
)再加入一個TextBox,地址:0,附加資料:62([weapon]),這樣的話[weapon]是沒作用。
但如果我把支援程式,基址改為0,[weapon]就可以作用了。
剛剛發現00E8708C用CM地只取代就可以正常作了了~
银河漫步 - 2013/2/16 20:11:01
mov dword ptr [weapon],00E8708C
这个编译能通过???
银河漫步 - 2013/2/16 20:13:10
你用62附加的话就不要在定义支持程序的基地址了
如果你想要用基地址
可以试试
6|62(...)
这种用法
我没测试过
理论上可能可以
k90 - 2013/2/16 21:05:39
回复 2楼银河漫步的帖子mov dword ptr [weapon],00E8708C
可以用唷~
6|62還沒試過~:D
axdx - 2013/2/17 2:36:47
没错, 61的运行AA脚本功能不支持CM的基址
因为它不知道CM的基址是多少
62取地址的时候也是不知道CM基址的
不过取完地址后, 会把地址交给CM处理
这时如果你有在支持程序里设定基址
那么CM自然会加上去, 然后反应到TextBox
如果未来插件能获知CM基址的话, 我会想办法更新,
目前是没有办法, 不过这问题也不大~
只要你了解PC_AA的运作方式就可以了
alloc(weapon,4)之后
脚本编译时会自动把脚本内所有的weapon转成地址
因此汇编代码里可以直接把weapon当作地址来用没有问题
registersymbol(weapon)
则是将weapon提升为全局符号名
因此在62里可以使用weapon当做地址