EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 前天 18:02 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?/ ]0 n6 u7 u! _. A% e6 t' r8 Q5 A
2.68K Hook用 jmp 和 jsr 哪个比较好呢7 n8 W% ?0 z( y$ b
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
9 Z1 C' Y7 x, `# n/ _: D. n
& [* @4 ~* i% h& E' c本人初学街机hack,很多问题不懂,望大神们指点
! x; F" T% {! y

签到天数: 587 天

[LV.9]以坛为家II

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

使用道具 举报

该用户从未签到

 楼主| 发表于 昨天 11:26 | 显示全部楼层
jrs911 发表于 2025-5-10 19:122 q  Q7 H3 w) m6 G
http://2006.emu618.org:6180/thread-122282-1-1.html

8 Q" f* U2 w) v" m4 s7 U6 F看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 587 天

[LV.9]以坛为家II

发表于 昨天 12:34 | 显示全部楼层
weucxx 发表于 2025-5-11 11:26. |( B2 M+ N$ E
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
. Q' x. z; a6 x3 _* n" `* K$ Q5 D
具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 1947 天

[LV.Master]伴坛终老

发表于 昨天 19:42 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
; b; }" v$ p& A5 m0 L0 k9 W0 f/ U- b6 j$ F) ~! l3 |7 u
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈# `) i& {7 Z5 K* }
* m2 e1 V2 M  s" q
用movem命令来手工入栈出栈
* U1 B' j; }0 `2 E2 T4 i2 S& X
入栈:/ d- I7 c& F, C* D; `* t
movem.l D0-D2/A0-A1,-(A7)
1 k3 E. u9 O; @, `
' O8 _$ E2 R  n# ]+ o出栈:
# @9 X3 d3 x2 e% }# Rmovem.l (A7)+,D0-D2/A0-A1- e8 |6 J& V7 s$ o- X
3 H3 d; x; y7 u
2.68K Hook用 jmp 和 jsr 哪个比较好呢% a2 z2 Q5 K9 P, `
$ x* b  }; y8 x5 k; B  a( F- ~
jmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts
3 i& ?( k" H# E' \: a7 c. r3 }0 a7 {. F( v& d' L+ |. @
jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
" C9 ]% O. R) \5 h% v) ?5 l
! P' O; P; H* s3 v' U& I( x& C! Qjmp和jsr有无跳转长度限制不记得了: O( t/ A7 I6 ~, D9 `

7 U3 h0 \' u+ c$ Y& W$ T8 i( W  L3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
, I+ o# r6 q2 S4 k4 c. I; [6 ]" K
: L  [( R6 j( y3 f: e% W( R问deepseek AI去1 }; G( P; B% \: r( x
% x) o/ I0 e8 V1 v/ x5 R
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 昨天 21:39 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42, k4 w3 d! e! ]
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?  ], t% L: F  Y& g$ t4 h! J

/ f+ ?5 m2 ]$ ?( d( `0 b# y68K中A7(SP)寄存 ...

1 J' s7 V, O/ `9 O* X  W多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-12 06:04 , Processed in 1.063477 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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