签到天数: 2172 天 [LV.Master]伴坛终老
|
发表于 2025-5-11 19:42:54
|
显示全部楼层
1.如果想借用D0、D2、A1寄存器来加一些功能,用完后再还原寄存器的值要用什么指令?
) S; b" X6 H9 k u1 Q* g- F/ f$ V* T. _! |( I' O5 p
68K中A7(SP)寄存器是堆栈指针,68K没有push、pop之类自动入栈出栈指令,只能手工管理堆栈0 @! n5 m9 g+ [
8 h3 s7 }4 O& e- x8 g; [, Q% E/ E用movem命令来手工入栈出栈7 f& Q' f8 @+ i" \% u+ p
. D# }$ U" e9 F6 D: M$ m: B1 \入栈:
, l4 M# v+ J9 n) e6 H$ y2 @movem.l D0-D2/A0-A1,-(A7)( O- ]7 H, ~; r" H7 d
1 c! j: R X% M) ?: c出栈:
1 W" v& P. U/ @9 u) xmovem.l (A7)+,D0-D2/A0-A1
& U& J0 a9 Z+ b( w& w" e
: N+ H, g1 W9 H( N( a$ ^2.68K Hook用 jmp 和 jsr 哪个比较好呢9 F! [: Z' b. Q7 {4 |
3 K7 ~. c/ i% O; Y* z2 [
jmp和jsr不同的唯一是jsr是带返回的跳转,返回指令是rts/ P8 y( [( c4 D3 V9 s! C+ l
3 z5 m7 s8 T9 `6 |jsr跳转时会把当前PC寄存器地址压入堆栈,之后用rts指令返回时会把地址恢复到PC寄存器
9 y& J* N: f/ o" d6 q* }) F: u3 V$ V
jmp和jsr有无跳转长度限制不记得了
2 h9 R- ?; a' a+ A, l9 K( Y1 x* V0 A2 p# i
3.怎么写随机数的取值范围,比如人物的随机数子程序是 :jsr $192c,执行完得出随机数d0。然后想得出随机数d0的取值范围在0-20之间要怎么写呢
- }& X4 H, Q. P s4 Q$ q: w! R1 e4 ?8 a* p" T
问deepseek AI去" m6 H& Z5 Q4 W3 N' E1 P
' s( z( f4 Z) J( s |
|