jlima 发表于 2025-3-6 15:06:14

xyzhz 发表于 2025-3-6 07:06
............

我真是新人啊。

这两图中也没有你说的G站的网址啊。

xyzhz 发表于 2025-3-6 15:19:54

本帖最后由 xyzhz 于 2025-3-6 19:12 编辑

jlima 发表于 2025-3-6 15:06
我真是新人啊。

这两图中也没有你说的G站的网址啊。
............

singinintherain 发表于 2025-3-6 17:02:00

部分指令对应的机器码和指令地址也有关系,不能一概而论

jlima 发表于 2025-3-6 18:53:27

本帖最后由 jlima 于 2025-3-6 18:54 编辑

singinintherain 发表于 2025-3-6 17:02
部分指令对应的机器码和指令地址也有关系,不能一概而论
除法指令的长度只能是W吗?能不能是L?

除法指令的两个操作数只能是寄存器吗?不能用立即数吗?

singinintherain 发表于 2025-3-8 14:31:16

jlima 发表于 2025-3-6 18:53
除法指令的长度只能是W吗?能不能是L?

除法指令的两个操作数只能是寄存器吗?不能用立即数吗?


除法只能是L字节除以W字节,其结果是个L字节,存储在被除数(destination operand)的位置上,结果包含商和余数。因此被除数(destination operand)只能是寄存器,除数(source operand)可以是寄存器也可是立即数。

jlima 发表于 2025-3-8 17:15:13

singinintherain 发表于 2025-3-8 14:31
除法只能是L字节除以W字节,其结果是个L字节,存储在被除数(destination operand)的位置上,结果包含商 ...

DIVU #$F,D0
这条指令的机器码是什么啊?

singinintherain 发表于 2025-3-9 10:36:37

jlima 发表于 2025-3-8 17:15
DIVU #$F,D0
这条指令的机器码是什么啊?

这个机器码是80FC 000F

但是你这种学习的方法路径是错误的。正确的方式是写出完整的68K代码段,编译好整体导入ROM中

jlima 发表于 2025-3-9 12:33:31

本帖最后由 jlima 于 2025-3-9 12:34 编辑

singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

但是你这种学习的方法路径是错误的。正确的方式是写出完整的68K代码段,编译好整 ...
不会写代码,只会写机器码。

如果实在找不到机器码,我就用穷举法自己找机器码,时间问题而已。

jlima 发表于 2025-3-9 13:20:13

本帖最后由 jlima 于 2025-3-9 13:58 编辑

singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

但是你这种学习的方法路径是错误的。正确的方式是写出完整的68K代码段,编译好整 ...
你这方法对于手写来说太麻烦了。
即使只改一条指令,都需要走编译、导入、重新载入游戏等一系列步骤,然后才能看到写的指令效果如何。


而我直接在内存中改机器码,可以省略上面的所有步骤,直接实时看到效果。
写好一大段完整机器码,并且测试没有问题之后,再写入ROM,省略的步骤太多了。


最后,你说的这些软件,我全都没用过,不会用。

我做Hack就用到3个软件:模拟器(老旧的WinKawaks)、调试器&内存修改器(Cheat Engine)、16进制编辑器(WinHex)。

jlima 发表于 2025-3-9 14:41:15

本帖最后由 jlima 于 2025-3-9 14:45 编辑

singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

但是你这种学习的方法路径是错误的。正确的方式是写出完整的68K代码段,编译好整 ...
另外问一下。

1。寄存器清零时,默认是MOVE指令,改成EOR指令,执行速度会不会更快?
或者改成SUB指令,是更快还是更慢?

2。68K没有浮点数运算指令吗?

页: 1 [2] 3
查看完整版本: 关于68K指令集的问题。