|
|
关于逻辑、移位这几个指令
& d, R* A* Y- f: h* U; [# n* N/ S- `* G5 m: `
比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A- O$ Y. A$ ?% _: Z
我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?) F6 J- O6 z; n$ H8 b1 J/ Y1 }
所以请教高手指点。
0 Y/ V8 _9 b/ E2 u i8 X" c2 W还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?+ h) q( C# e6 ^( m" Z9 k
2 r! V, a9 e; ^: _& d+ I7 y& O5 d& b- `
找个带逻辑的断点如超级魂斗罗:/ Y) c; Z& V+ U) P% o
以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$00
8 h, X3 r2 V0 m0 r9 O上一句是 1D 66 05 ORA $0566,X @$0566=$00( n: V' G: k0 V4 |3 K; u
寄存器 A、X = 00,Y = 08: U% \7 }7 `" B+ H. {) ^' U- y
这里的ORA是怎么运算的?
/ d8 j! {1 i6 T5 O# G# F/ Q9 J5 R+ |& B+ D9 E9 {( x
还有个Z80的指令,inc hl 和 inc (hl)有什么区别?
+ \0 i" u7 P) P% G1 J- _ x. h$ I t! N- Z4 e& C/ F+ B) S/ j" E
最后感谢各位大侠帮忙,呵呵。 |
|