EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?- q6 }8 g0 u! @# C
2.68K Hook用 jmp 和 jsr 哪个比较好呢3 H8 r8 G) j& [
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
, q' X+ P% i, k: i
/ m  f0 M0 G6 x  j本人初学街机hack,很多问题不懂,望大神们指点
6 R. V- c+ [. \" K7 N

签到天数: 736 天

[LV.9]以坛为家II

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

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12
* U4 F+ k5 _+ Rhttp://2006.emu618.org:6180/thread-122282-1-1.html
+ ~- G; g: ^2 F& A' Z5 m7 \
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 736 天

[LV.9]以坛为家II

发表于 2025-5-11 12:34:13 | 显示全部楼层
本帖最后由 jrs911 于 2025-6-19 08:52 编辑
/ r; O" {7 g* s: {9 P; A/ c: T
weucxx 发表于 2025-5-11 11:26( U" v1 E+ u' x3 D+ S1 k
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题

( r; u; ?& P4 Y+ u
8 J+ F. v3 k/ a2 F- P9 _9 K具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼/ {" n0 O& R8 [( Y- _7 L& O

+ \% S6 b3 i8 z( J6 I6 s$ s+ Fhttps://pan.baidu.com/s/1Ale8oc4aVNq_QhLJuMnnUQ
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 2094 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
# U) n0 m/ R, |# H, p% [1 i. T1 w8 z+ F
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈4 k  M0 D8 R, L6 H9 o

5 h# d6 u$ g. Z+ V- r& Y用movem命令来手工入栈出栈
' E$ E' U4 @, [' D. p# F; U% d/ I: C4 v" u
( d- m' h  D* h  N2 u入栈:, x3 h1 q8 z( w4 P8 ?/ m1 c  O
movem.l D0-D2/A0-A1,-(A7)
! O) B% ]/ _  W* r& W2 w* k, K: }1 @, q" x( f! j
出栈:! [2 ]4 T8 A3 F) q& O5 m0 X5 h
movem.l (A7)+,D0-D2/A0-A1
2 ?) _+ c' g- H5 ?6 h! A+ W. V; _5 |- V% f$ L: e" Q1 J! s7 r& {
2.68K Hook用 jmp 和 jsr 哪个比较好呢; ~7 X2 \1 O$ M: d+ O

8 v8 I4 O! Z' [, M7 l) A2 gjmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts
* Y3 X5 a! a$ g& v' P
' R. n3 J$ x- }0 J2 [5 {+ |jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器7 b9 v  h4 j( g. d  h4 u

; z7 t/ Y: H4 X/ I/ |3 l- x" {jmp和jsr有无跳转长度限制不记得了  D* P0 j) {; L! G: R

* ~- T" z8 Q* p6 U) X0 L# R6 }& u3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
) @1 l3 L2 T+ ~, ~
* ^* s: R) h6 m2 h# ^- _6 g问deepseek AI去
- ^4 w. Z. i7 R! _9 E% k+ E: K( v* u8 }+ e4 e+ `; y( H8 a" F3 ~
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42
9 q! V+ e" u' ]# i( d8 l6 i1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
1 v5 U9 K- V7 b- M+ h& {) ]. r* _$ N% d% M
68K中A7(SP)寄存 ...

, X+ U( I2 v0 I! g: A- J多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-8 06:48 , Processed in 1.096679 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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