EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 前天 18:02 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?& W5 S# E1 D' G2 K
2.68K Hook用 jmp 和 jsr 哪个比较好呢, Q) A$ e, G* J) q" |) H: Q
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
7 l$ I$ u- Q' v9 O& r4 u9 j1 l; ?
本人初学街机hack,很多问题不懂,望大神们指点
6 x0 k% L0 @2 s4 v* C

签到天数: 587 天

[LV.9]以坛为家II

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

使用道具 举报

该用户从未签到

 楼主| 发表于 昨天 11:26 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12! [; ]/ Y) _; n
http://2006.emu618.org:6180/thread-122282-1-1.html
4 r. w# d( _: w6 O
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 587 天

[LV.9]以坛为家II

发表于 昨天 12:34 | 显示全部楼层
weucxx 发表于 2025-5-11 11:26
2 K1 C: \* s& }8 N5 q看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
7 e6 f+ n* R6 \" P  Z( q5 w" ?
具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 1947 天

[LV.Master]伴坛终老

发表于 昨天 19:42 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
3 I" Z. \6 m1 l2 d; T: M. C) Y, d8 ?: v( x; d$ b
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈
& R2 I9 D( B) R4 |% g  x% u4 o) y/ O% [4 C. i8 s
用movem命令来手工入栈出栈
' C5 I: b9 l4 P% X0 P8 k: u# Z
4 b% F' s8 W$ @4 E- u入栈:
8 I& D6 z3 o9 b; i: F6 e6 Ymovem.l D0-D2/A0-A1,-(A7)
6 R7 T! Q) t4 k0 ?$ r' |9 Y7 c/ R2 W# N. v
出栈:
2 ~4 }; s" n5 j5 c; m7 B) m  S/ U% Wmovem.l (A7)+,D0-D2/A0-A1  e3 p, @2 [7 H- o' @0 M" k

' ]: ^: G  ?0 s# y0 O2.68K Hook用 jmp 和 jsr 哪个比较好呢5 B6 A5 W, @3 A

* |, Z, b3 e% y2 Z- ~$ xjmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts( V0 ^: Q$ b/ |. k0 [+ f0 Y

6 ~" F- O' ]" R' \jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器$ o& k# s8 H7 A/ A# m4 b

& M" Z4 F; Y# T: a3 Ijmp和jsr有无跳转长度限制不记得了
- h: w% ^" q- M- c/ W9 ?3 A- _& C& w& Z9 I  ~) ^1 b: S
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢7 m/ p; l. i( }4 h+ r9 s
; o% k6 Q- P6 j; s2 Q
问deepseek AI去  u8 Q' d$ [+ k" f, S  e

" c) C8 n  ~# O
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 昨天 21:39 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42
8 L7 {% [$ k. J/ Y+ }+ r1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
5 P4 n2 K8 V8 p! g# q8 t0 x/ c+ f8 S3 W
68K中A7(SP)寄存 ...
+ ~# a$ a+ ?6 n7 u
多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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