找回密码
 立即注册

微信扫码登录

使用验证码登录

QQ登录

只需一步,快速开始

楼主: jlima

关于68K指令集的问题。

[复制链接]

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 2025-3-6 15:06:14 | 显示全部楼层

我真是新人啊。

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

8

主题

285

回帖

3075

积分

论坛元老

积分
3075

最佳新人

发表于 2025-3-6 15:19:54 | 显示全部楼层
本帖最后由 xyzhz 于 2025-3-6 19:12 编辑
jlima 发表于 2025-3-6 15:06
我真是新人啊。

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

............

0

主题

15

回帖

90

积分

注册会员

积分
90
发表于 2025-3-6 17:02:00 | 显示全部楼层
部分指令对应的机器码和指令地址也有关系,不能一概而论

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 2025-3-6 18:53:27 | 显示全部楼层
本帖最后由 jlima 于 2025-3-6 18:54 编辑
singinintherain 发表于 2025-3-6 17:02
部分指令对应的机器码和指令地址也有关系,不能一概而论

除法指令的长度只能是W吗?能不能是L?

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

0

主题

15

回帖

90

积分

注册会员

积分
90
发表于 6 天前 | 显示全部楼层
jlima 发表于 2025-3-6 18:53
除法指令的长度只能是W吗?能不能是L?

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

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

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 6 天前 | 显示全部楼层
singinintherain 发表于 2025-3-8 14:31
除法只能是L字节除以W字节,其结果是个L字节,存储在被除数(destination operand)的位置上,结果包含商 ...

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

0

主题

15

回帖

90

积分

注册会员

积分
90
发表于 5 天前 | 显示全部楼层
jlima 发表于 2025-3-8 17:15
DIVU #$F,D0
这条指令的机器码是什么啊?

这个机器码是80FC 000F

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

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 jlima 于 2025-3-9 12:34 编辑
singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

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

不会写代码,只会写机器码。

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

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 jlima 于 2025-3-9 13:58 编辑
singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

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

你这方法对于手写来说太麻烦了。
即使只改一条指令,都需要走编译、导入、重新载入游戏等一系列步骤,然后才能看到写的指令效果如何。


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


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

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

点评

其实2个软件也可以:模拟器mameplus(带debug功能) 、 HXD.  发表于 5 天前

2

主题

28

回帖

196

积分

注册会员

积分
196
 楼主| 发表于 5 天前 | 显示全部楼层
本帖最后由 jlima 于 2025-3-9 14:45 编辑
singinintherain 发表于 2025-3-9 10:36
这个机器码是80FC 000F

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

另外问一下。

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

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|肖琪模拟游戏站 ( 沪ICP备2023018581号-5|沪公网安备31011702888952号 )

GMT+8, 2025-3-14 20:46 , Processed in 0.041859 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表