EMU618社区

 找回密码
 立即注册
搜索
查看: 264|回复: 5

[求助] 关于68K指令的几个疑问

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
' Q4 H$ k8 p8 a* H2.68K Hook用 jmp 和 jsr 哪个比较好呢8 d; v' |! U1 d5 ^
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
% W0 |' a/ k$ \+ ~1 x$ \  n6 _  ]8 _# ~7 t# g; j2 A  w4 O2 A
本人初学街机hack,很多问题不懂,望大神们指点
8 Q9 I. r  ]3 @# Y- A

签到天数: 714 天

[LV.9]以坛为家II

发表于 2025-5-10 19:12:43 | 显示全部楼层
[发帖际遇]: jrs911摆地摊卖菜,占道经营被城管罚款 2 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12
6 G: [8 _/ T9 o9 U$ |1 a5 L! Dhttp://2006.emu618.org:6180/thread-122282-1-1.html
6 @- P4 s" Z: o
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 714 天

[LV.9]以坛为家II

发表于 2025-5-11 12:34:13 | 显示全部楼层
本帖最后由 jrs911 于 2025-6-19 08:52 编辑
# `0 i# h+ k7 y' U) p- W1 S
weucxx 发表于 2025-5-11 11:266 m, V, Q+ G* r* @
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
% `9 v' W8 Q, B& u% G

3 W3 d4 C$ i+ h% w) k1 h" H具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼
2 n% B  Q7 |: s" a3 l, G$ ^
, K/ ~# {" p8 @  {/ j4 s# j  ehttps://pan.baidu.com/s/1Ale8oc4aVNq_QhLJuMnnUQ
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 2072 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
, H8 ?2 M0 F& S) _) Z. m
2 t; x# n5 A+ t8 h: [68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈- _+ N$ f) w/ d3 L% ~
* W4 x7 H3 R, G1 ]" W  ~7 X- A% |/ i
用movem命令来手工入栈出栈
8 O* w8 i9 D$ H+ B$ A9 a* `2 u- B# |  M6 L0 |
入栈:
+ c, [, U1 ]: d+ Q0 O) E; W+ Imovem.l D0-D2/A0-A1,-(A7)
$ P& n/ f7 N8 N" r7 ~
/ B( g  a5 c" K" T出栈:
- v6 l2 n8 Z4 Wmovem.l (A7)+,D0-D2/A0-A1
* k2 w5 l5 Y% o. P+ l# n$ I+ ?& {( b! T
2.68K Hook用 jmp 和 jsr 哪个比较好呢  ]2 n( o* c* ~; \

5 l5 S0 L5 m8 P. pjmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts
8 V8 d2 o/ G, P" W: V  _
0 H7 T, H/ P' C# g0 p# K& o: Pjsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
6 K; H/ a0 y/ L& c) a& H9 f1 u, h* }1 I
jmp和jsr有无跳转长度限制不记得了+ T  ~$ b+ U  z1 v; k/ \
$ P, ]7 h  N  N. w
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
* R6 W% S! ^* i! D& ~/ e
4 z3 u; Q  j, e0 d8 p2 }& K. R7 t问deepseek AI去1 H+ q! g8 R* e/ ?. O

' w" l" X: J1 |* L( }
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42+ u9 x3 r) `( A3 `4 b9 }% P
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
1 F" u6 z; S& c
* E( K& Z; ?' u0 C$ S; P* z4 N68K中A7(SP)寄存 ...

, G3 C! v8 H4 z" `: O多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2025-9-16 18:56 , Processed in 1.077148 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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