|
|
关于逻辑、移位这几个指令
( D C+ ^8 C& B2 J5 Q" N# A% P- r9 o4 {& M8 K/ Z) X* i g' Q+ b
比如:AND--寄存器与累加器相与,结果送累加器 A∧M→A ORA--寄存器与累加器相或,结果送累加器 A∨M→A0 t9 W7 m3 x3 W. o, q# ^
我不明白逻辑与和逻辑或是怎么运算的,为什么要用逻辑指令而不是直接给A一个数值?也就是说神马情况下要用逻辑?7 L# Y& l$ @/ \' I( d# F6 L2 s
所以请教高手指点。2 H; c' p3 Z/ D# s9 _0 y
还有移位,算数左移逻辑右移等完全不明白,移位是怎么运算的?
H% |. D# x. k: ~7 G) X) b7 I. G w3 {7 m: h) s3 ~
找个带逻辑的断点如超级魂斗罗:
* M) h+ q: @+ b; |8 V! N$ ~以金身地址D4下断,其中一个断点在 B4 D4 LDY $D4,X @$00D4=$00% J1 T) Q3 t. H; F( p
上一句是 1D 66 05 ORA $0566,X @$0566=$00
7 k5 V/ ?# H4 {% K8 h# E寄存器 A、X = 00,Y = 08; M" [3 z1 l8 c% h1 S: q7 z' V: v, q
这里的ORA是怎么运算的?1 K" C$ u2 u2 X h
! ?2 E B( a+ I9 @2 f还有个Z80的指令,inc hl 和 inc (hl)有什么区别?* S% ^# `9 o0 g5 F. ~
6 z- T9 f1 V2 S' P2 a1 n* W# a! y6 t
最后感谢各位大侠帮忙,呵呵。 |
|