|
关于逻辑、移位这几个指令
; N# k( O1 {- l, @
0 Z% d/ c) [/ K比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A0 u8 r2 }% M# V3 S: i9 U& | A
我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?% a0 G& {# `, {7 x% [' H5 r
所以请教高手指点。
5 b. _* n. R, ]( T还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?
6 g- q" C) b6 x, V; p4 o, l( B8 m0 w
找个带逻辑的断点如超级魂斗罗:
9 s X0 p* v# z: I: c' k以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$00
& H$ L0 l* c$ E2 I# h& ^上一句是 1D 66 05 ORA $0566,X @$0566=$00
8 p+ V* T A+ y' G: M, g$ M- M寄存器 A、X = 00,Y = 08* c E* r6 C3 [) T! m9 ?) b
这里的ORA是怎么运算的?
6 I8 u5 D, Z& z/ M0 ^# l; ~, P9 x: c6 z4 B" R. Y( i. w6 H
还有个Z80的指令,inc hl 和 inc (hl)有什么区别?
0 u: t' X" E4 R0 b4 V- L2 }* I+ ?; e3 u# \ e+ w8 n @
最后感谢各位大侠帮忙,呵呵。 |
|