EMU618社区

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

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

[复制链接]

该用户从未签到

发表于 2025-5-10 18:02:12 | 显示全部楼层 |阅读模式
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?) m( M3 J2 |! I( R: V2 e  }* f
2.68K Hook用 jmp 和 jsr 哪个比较好呢
* ^, r) I4 p$ @0 q3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢: P) ^6 [' z2 s0 ^# D

5 W8 C$ z# [; ^2 ?! t本人初学街机hack,很多问题不懂,望大神们指点! L; ]3 e! D8 T4 K7 ~

签到天数: 835 天

[LV.10]以坛为家III

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

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 11:26:36 | 显示全部楼层
jrs911 发表于 2025-5-10 19:12  l9 J; A: O( W" V
http://2006.emu618.org:6180/thread-122282-1-1.html
! n% A8 C6 X5 L6 I0 d/ M4 W
看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
回复 支持 反对

使用道具 举报

签到天数: 835 天

[LV.10]以坛为家III

发表于 2025-5-11 12:34:13 | 显示全部楼层
本帖最后由 jrs911 于 2025-6-19 08:52 编辑
: k0 H4 c5 w+ D5 D6 U) s2 g
weucxx 发表于 2025-5-11 11:26
- i% H5 `- T# j& A* t+ B! |看过这个教程,主要讲的是debug的用法,但没有讲过我上述的这些问题
& u( x4 _' E( }6 X7 p" a( N/ M0 B

) e, S- ~" D5 \" z具体问题到论坛的群里面找大神去问,也可以先联系下管理员疾风之狼5 G) U- B- m$ T  f0 h
6 X; `0 O, i8 K$ {8 F3 T
https://pan.baidu.com/s/1Ale8oc4aVNq_QhLJuMnnUQ
[发帖际遇]: jrs911 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 2192 天

[LV.Master]伴坛终老

发表于 2025-5-11 19:42:54 | 显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?8 y+ ^  n. Q6 o! H
' ]* y% ~9 L2 Q6 y: k
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈
, L$ h0 T2 u1 j9 x/ U5 Q" v
! x! C/ P' R- {. w" D7 d用movem命令来手工入栈出栈
$ Z: V5 q- N5 q. o+ ?4 h5 P, I# ^6 P# f& L- F; X7 ]4 `
入栈:
/ b. A" t3 j8 V7 @6 ?movem.l D0-D2/A0-A1,-(A7)
7 L0 H) {7 Z& Y: L6 @
( `$ E+ ~. E+ J4 L出栈:
) `/ n  L' F+ a  ?0 r) E0 G- Vmovem.l (A7)+,D0-D2/A0-A17 b6 G* T; \: M8 b" a9 }
; w6 `$ a8 s* G* j% B3 r1 J
2.68K Hook用 jmp 和 jsr 哪个比较好呢
) @0 {# w6 d" d9 ]! f) n% V: {' ^( a  F+ }2 z& M5 B5 a4 ]
jmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts! A8 F0 p) t2 _2 r) E$ T# Y5 D+ L( L
+ Z3 L0 f: `. U. D( H& H/ C# B& ^
jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器# U  @9 h, q6 B. W% f
' V, |8 q8 U/ i9 `9 w
jmp和jsr有无跳转长度限制不记得了/ j8 [- N6 `, ]; |, M7 ^. i
' A/ `3 P' v* ]. p$ y
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢2 n0 j+ A3 u2 K7 I2 Z9 f+ i, X7 Q3 o
' b! |8 T0 X5 h
问deepseek AI去5 _  j9 J6 h+ o( |) |& s' W
6 e! u5 P5 a7 B. R" \. d' `2 x
[发帖际遇]: 疾风之狼 在网吧通宵,花了 10 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2025-5-11 21:39:11 | 显示全部楼层
疾风之狼 发表于 2025-5-11 19:42
. j4 Y- |% D5 N4 i$ @8 e% Z8 V9 R1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?, N9 w( u% Q& a% _4 G
4 f$ U" B9 E1 |$ U; P# f: O2 V
68K中A7(SP)寄存 ...

: r+ G  v: ~8 w1 X/ z1 |多谢狼大指导,受益匪浅!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 09:51 , Processed in 1.086914 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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