EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?9 u/ S1 v4 {& r  d+ R4 M
2.68K Hook用 jmp 和 jsr 哪个比较好呢
" n; N# P5 i2 y- o( F3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
$ L, F# r) X; c2 a8 {
: v' y7 v0 m/ t2 ^' T7 S本人初学街机hack,很多问题不懂,望大神们指点
  p# j8 [% Q+ `- C, t- W. F& ~* e

签到天数: 613 天

[LV.9]以坛为家II

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

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:128 j$ `0 c+ i& m0 R5 D' z
http://2006.emu618.org:6180/thread-122282-1-1.html
$ L% N. U, f# L: i" {: Z
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 613 天

[LV.9]以坛为家II

发表于 2025-5-11 12:34:13 | 显示全部楼层
weucxx 发表于 2025-5-11 11:26
! ]) b* g* L# X2 @( B看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
- J! W5 y9 E. \) W; {# c
具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 1971 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?, d: o9 {7 G4 `& d

- y& `: W3 z7 ^/ i" F# f68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈
  K  ^& o, S! ~% m3 L* K4 o
/ `) ^- K( ~& N0 B4 D用movem命令来手工入栈出栈
) D7 ?+ _9 U$ Q  ]" S8 H4 Y& j1 Y& E% K& L7 a; q1 f" Q8 d7 D
入栈:
4 j: y8 U8 ^6 a; [) G0 A, ^# k( V; lmovem.l D0-D2/A0-A1,-(A7)
2 |1 y: P( X  e' r
1 ]+ j. m$ e" @% }7 k出栈:: D' l9 Z: B( v. f' L
movem.l (A7)+,D0-D2/A0-A17 ~0 [- W0 x" J% O. {: g5 I, {; x
# S8 @3 u/ S; O* N$ m( \" S) S
2.68K Hook用 jmp 和 jsr 哪个比较好呢) e$ R8 }7 e  m( p8 }6 l6 {

% w, z; B9 O5 ^/ q0 C, ^jmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts0 J- F: k: ?5 Z
" i6 o. y: A1 f: ?
jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
* j9 n% T  N+ @8 m% `, r0 ~5 ^
9 j1 C5 q6 B! Y. d; {jmp和jsr有无跳转长度限制不记得了) W; K5 \; c  |3 E# Y; l$ H" z9 y
: l$ i& w' i- Y
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢4 p8 I: [; @0 T' L% _$ w( n: n
; K2 j) y2 M4 H& K
问deepseek AI去
# U3 y2 c3 @' |, E& i# _, T9 S7 Y& L/ c1 ~  R; h& T. O: B# Y  {& H3 K
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42- H& ~; r8 }; v3 @% F6 {, |7 G
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?% s/ ~8 C8 Z- S; @+ t$ {
) I& h" P8 k5 c, C. Q: c: }- f6 d
68K中A7(SP)寄存 ...
& K. U1 T6 T9 W: S' g
多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 02:04 , Processed in 1.065430 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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