|
关于逻辑、移位这几个指令
W5 i" `. v' L2 {: @$ y
( j- Y: r8 H, [0 z; s' A比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A
# S. @( d& U0 O* \我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?
4 g! D% Z+ Z6 Y8 @1 V所以请教高手指点。
/ b8 x! t M' @7 v还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?9 W7 w: m) V/ M& ~, x$ A9 C) |# R
$ f7 M+ @8 h3 O. O* [' D! J7 b2 q X% w. D
找个带逻辑的断点如超级魂斗罗:
3 U0 {0 [4 v- h7 U2 p* G以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$00" a+ R% F4 o2 ~* t' ]# Q
上一句是 1D 66 05 ORA $0566,X @$0566=$00
V& _5 a, g) R! E. r寄存器 A、X = 00,Y = 08. b0 n; p0 F5 i: g
这里的ORA是怎么运算的?# q) B) c7 b- O. D
; B! k/ R: W. y4 v3 G0 }/ C
还有个Z80的指令,inc hl 和 inc (hl)有什么区别?8 P& \3 g4 x3 N/ u: h V0 y. W
% N6 @3 N7 p8 S1 E4 w9 x
最后感谢各位大侠帮忙,呵呵。 |
|