EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?: K6 |2 A% n+ M" R
2.68K Hook用 jmp 和 jsr 哪个比较好呢
( o$ }. u5 @% @3 v7 L3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
. t0 A4 Y8 u6 b+ ?9 q/ G# I9 j- P5 R7 J% T
本人初学街机hack,很多问题不懂,望大神们指点
4 R  Z; a+ u' M( L) ?( T. w% g

签到天数: 761 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12, u, D2 a: I% U$ J  y, }
http://2006.emu618.org:6180/thread-122282-1-1.html

( K  Q* H1 Y3 C; n看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 761 天

[LV.10]以坛为家III

发表于 2025-5-11 12:34:13 | 显示全部楼层
本帖最后由 jrs911 于 2025-6-19 08:52 编辑
2 L5 H: }6 r/ a
weucxx 发表于 2025-5-11 11:26
- g- o9 C5 I! U; n/ v6 J看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
8 z8 a8 v% n& l- H
* {  \  B% h# a
具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼' s' w% J3 M! g
+ I5 t2 i& ]& H) |9 k+ Q- z
https://pan.baidu.com/s/1Ale8oc4aVNq_QhLJuMnnUQ
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 2119 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
+ ?9 L2 R# b5 G% |. ?
! M: I: T9 w  K; A8 M' ]68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈
# P8 ]! P$ z+ I  i
: a4 t7 V/ S4 K0 r1 {7 G用movem命令来手工入栈出栈$ r% i4 z. [; l" M- m  D& [6 e- C  K- b

4 }! L+ |& C( Y1 Z入栈:
2 U8 g3 ^6 f5 ]7 d, K1 Cmovem.l D0-D2/A0-A1,-(A7)' j: T. v- A' h* g. `1 [! y

  R+ |5 w' y5 i; F& [出栈:
% Z0 ]$ V$ z. e, j/ T5 i! }, xmovem.l (A7)+,D0-D2/A0-A1
4 B. J# r' A1 u1 s- u) ~
/ }' o: n" o! M2.68K Hook用 jmp 和 jsr 哪个比较好呢# e, U* ^. L* e: T* V8 l

4 V! }! k( r' k6 E" ujmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts2 l# H+ X: c& S( q" O& y

5 A, z% n; s6 p1 p3 g+ ejsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器( M9 R( k; P2 ?- @& i3 c5 N
$ @. p2 c7 U1 f5 ^' L6 o& f9 h% b
jmp和jsr有无跳转长度限制不记得了; j( B. D' X9 B- }
7 t. \2 Q4 {$ S# \8 q
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢- H3 t. t# C; v2 Y, R0 `5 c
6 ?% C1 {0 w- a& Y
问deepseek AI去& t; j4 \1 ?- O

9 F# y% |$ K1 O, T
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:420 @2 N6 V6 H3 w! G( F
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
" e( @. k: r8 s3 F/ a" |; w: f( i+ [2 v: \9 P
68K中A7(SP)寄存 ...

! m- s( m8 A; @4 j# j多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-2 09:59 , Processed in 1.078125 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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