【求助】游戏模拟器Kawaks与Motorola 68000汇编的问题
SM光 2005-09-22 09:40:37 如题,最近在学习使用汇编来修改拳皇,玩拳皇使用的模拟器是WinKawaks,此模拟器自带68000调试器,我在网上找到了Motorola 68000 CPU的文档,里面有指令的详细介绍,可是我就是搞不懂怎么运用调试器里所显示的数据寄存器和地址寄存器来计算代码的执行过程。
比如调试器里有一行代码是这样的:
019E54 002E 0002 0007 ORI.B #0x2,(0x7,A6)
其中019E54是偏移地址,A6是地址寄存器。文档里介绍ORI的用法为:
Instruction Operand Syntax Operand Size Operation
ORI #<data>,<ea> 8,16,32 Immediate Data Ⅴ Destination→Destination
我的理解是:地址寄存器A6的值加上0x7,然后与0x2或操作,最后将结果送至寄存器A6。我查看调试器,寄存器A6的值为10AC6A,然后我再利用调试器转到地址10AC6A,发现很大一部分数据全是0,总感觉我的计算方法错了,要不就是地址寄存器A6的值搞错了,可是调试器里列出的8个地址寄存器里(是从上到下列出的),只有一个数据是956E,但不管是从上往下数还是从下往上数,都不是寄存器A6,到底我错在哪里?或者说什么因为我的方法从根本上就错了?请高手指点啊!
拳皇97下载地址:http://down.52pk.net/soft/686.htm
里面包含模拟器,下载解压即可使用。
高手一定要帮帮我啊!如果有机会(尽管机会非常小)的话一定请吃饭!