|
关于逻辑、移位这几个指令) |" u3 x/ j0 ~2 v
4 c: s1 \4 f+ E y! [- A; F
比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A4 y9 Z8 Y% f+ Q' V
我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?8 p4 e1 s5 l9 j2 k" ]; @: B9 x
所以请教高手指点。9 `& G! T T2 @
还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?
, J; S5 {) K( M V% W
% R3 X, D7 l2 A4 a" W9 \3 q找个带逻辑的断点如超级魂斗罗:8 ?4 M) R6 v$ m2 }4 x9 |
以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$001 s- E8 c# F7 g6 ^$ j! @3 y( n/ H
上一句是 1D 66 05 ORA $0566,X @$0566=$00! i. I# \" C- C+ S Y
寄存器 A、X = 00,Y = 08" q: d* W# L+ y' p
这里的ORA是怎么运算的?8 n" Q/ `' P" N5 Y5 R( H7 a4 y
6 G* i) S% r7 B8 z7 p/ q6 d( `还有个Z80的指令,inc hl 和 inc (hl)有什么区别?
! ]( q' N& z9 o: Z+ D5 T7 { m2 R- c2 ]! B# r4 c/ U
最后感谢各位大侠帮忙,呵呵。 |
|