|
关于逻辑、移位这几个指令
$ x8 T% L, ?6 t: E. e M( Q5 p
0 e2 x6 {, b7 G( y( l4 _% l比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A$ b+ A2 g% n8 i6 m( i6 T
我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?
: ~$ A E" T& j0 o+ D, w所以请教高手指点。
# V! B: u6 T9 E! C5 ]) R( E1 m4 o还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?: K* v* W# T- b' Z
7 b4 j5 v) c$ O$ X0 x' W找个带逻辑的断点如超级魂斗罗:
: t: b7 |2 I/ ^以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$00
9 R6 Q, j9 v4 F$ `0 ^8 S% e上一句是 1D 66 05 ORA $0566,X @$0566=$003 U {+ i6 Q) s" ]6 v0 \5 F/ j
寄存器 A、X = 00,Y = 08
1 D& e. f0 [9 r! V. i* L* T0 Y这里的ORA是怎么运算的?
8 Z' A X: K) X% q) X q! C6 L: Q2 P3 Q; h2 N% T1 n: [" s r% S
还有个Z80的指令,inc hl 和 inc (hl)有什么区别?
1 z+ q( \+ t5 r. Y* A. X1 ?8 b* v2 D$ G" A0 d, |, q9 x5 Q* p
最后感谢各位大侠帮忙,呵呵。 |
|