签到天数: 2119 天 [LV.Master]伴坛终老
|
发表于 2025-5-11 19:42:54
|
显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
' `4 t! D/ z+ n3 @3 V( K( R- L
. R0 [2 y8 l- e2 F- l% w68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈* |; X( t I; \0 f, k) N2 i
6 j6 |# B$ v E. T n9 A. v
用movem命令来手工入栈出栈
: c8 K8 T# a/ b/ ]3 N1 n$ j
3 g4 X" l2 ^) \6 f0 e1 S T入栈:5 X! { r; |( N# u3 C1 n" Y
movem.l D0-D2/A0-A1,-(A7)
9 w0 c5 X8 A/ Z! a; o* P' `" o m8 ]+ O9 G( R% ?& ~
出栈:
7 H' i- H) v5 a" qmovem.l (A7)+,D0-D2/A0-A1# R2 V& [% q! {# e
& X$ D+ O: y+ I, N) e" |7 G* I2.68K Hook用 jmp 和 jsr 哪个比较好呢
* ~6 [' i' ~9 i/ D9 x
/ `$ I! Z5 x, Fjmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts1 W6 ?( h6 l' G: A. U
B x- D! n- Vjsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
7 ?, D/ ^# O, Q& ]! I2 ~
4 `) X8 H% C' _% `% N# @jmp和jsr有无跳转长度限制不记得了9 a3 g/ Y4 L4 J! A9 D; S
$ k+ U* s. X/ {6 p- P
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
: i7 K! ~/ Q+ `2 I6 M* G* b) g3 Q0 O6 C* i% h
问deepseek AI去
( t: @' {1 ~ T0 k* D4 N# u! S5 x2 k0 `# }( N* g @9 _9 S9 x
|
|