EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
& a8 i3 q9 g9 v9 B4 [# m9 `2.68K Hook用 jmp 和 jsr 哪个比较好呢
7 @; R  `) J. R+ j" O3 a3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢9 l& _# w4 D7 h' u# s' Z
. M( S" o+ f$ _7 s! W/ r$ b
本人初学街机hack,很多问题不懂,望大神们指点3 m( \7 j9 b  X% n5 Y7 o

签到天数: 814 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12
0 g4 [- F' |- J: w/ uhttp://2006.emu618.org:6180/thread-122282-1-1.html

% C1 `* e& K4 Y2 g  @看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 814 天

[LV.10]以坛为家III

发表于 2025-5-11 12:34:13 | 显示全部楼层
本帖最后由 jrs911 于 2025-6-19 08:52 编辑 8 ^# H) N$ H! i: J& ~
weucxx 发表于 2025-5-11 11:266 ]6 m4 X- e4 g4 j6 s& ?0 _( P6 d
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
4 `9 v  T$ B2 l! D6 E$ f

3 c. D1 j6 d( [具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼# n# r6 i0 }! }
, U0 a' N' v5 L0 p$ H  Q- j2 E
https://pan.baidu.com/s/1Ale8oc4aVNq_QhLJuMnnUQ
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 2172 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
) S; b" X6 H9 k  u1 Q* g- F/ f$ V* T. _! |( I' O5 p
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈0 @! n5 m9 g+ [

8 h3 s7 }4 O& e- x8 g; [, Q% E/ E用movem命令来手工入栈出栈7 f& Q' f8 @+ i" \% u+ p

. D# }$ U" e9 F6 D: M$ m: B1 \入栈:
, l4 M# v+ J9 n) e6 H$ y2 @movem.l D0-D2/A0-A1,-(A7)( O- ]7 H, ~; r" H7 d

1 c! j: R  X% M) ?: c出栈:
1 W" v& P. U/ @9 u) xmovem.l (A7)+,D0-D2/A0-A1
& U& J0 a9 Z+ b( w& w" e
: N+ H, g1 W9 H( N( a$ ^2.68K Hook用 jmp 和 jsr 哪个比较好呢9 F! [: Z' b. Q7 {4 |
3 K7 ~. c/ i% O; Y* z2 [
jmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts/ P8 y( [( c4 D3 V9 s! C+ l

3 z5 m7 s8 T9 `6 |jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
9 y& J* N: f/ o" d6 q* }) F: u3 V$ V
jmp和jsr有无跳转长度限制不记得了
2 h9 R- ?; a' a+ A, l9 K( Y1 x* V0 A2 p# i
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
- }& X4 H, Q. P  s4 Q$ q: w! R1 e4 ?8 a* p" T
问deepseek AI去" m6 H& Z5 Q4 W3 N' E1 P

' s( z( f4 Z) J( s
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42; u8 e# d  x4 F) V& ^8 N: H
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?4 X. V5 n" i# S9 f8 _$ c4 v: k  M! x
0 V% K. W$ O  h- w3 \( W2 v& r  n
68K中A7(SP)寄存 ...
( t1 s  p1 }5 p% S$ A. C( h8 `
多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-26 09:04 , Processed in 1.076172 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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