if you look at this piece of code, the (FIND) word, there are a couple of passage that engage me for a bit of time:
Code:
L249 LDY #0
LDA (N),Y
EOR (N+2),Y
;
;
AND #$3F
BNE L281
L254 INY
LDA (N),Y
EOR (N+2),Y
ASL A
BNE L280
BCC L254
LDX XSAVE
DEX
DEX
DEX
DEX
CLC
TYA
ADC #5
ADC N
STA 2,X
LDY #0
TYA
ADC N+1
STA 3,X
STY 1,X
LDA (N),Y
STA 0,X
LDA #1
PHA
JMP PUSH
L280 BCS L284
L281 INY
LDA (N),Y
BPL L281
L284 INY
LDA (N),Y
TAX
INY
LDA (N),Y
STA N+1
STX N
ORA N
BNE L249
LDX XSAVE
LDA #0
PHA
JMP PUSH ; exit false upon reading null link
for example:
Code:
L281 INY
LDA (N),Y
BPL L281
if i got it right, the BPL instruction that is described as branch if >=0, only look at N flag, so if the LDA (N),Y load <$80 make it jump.
This is my problem: having a good description about flags and branches.
I'm resolving with the help of emulator sources, but maybe exist an easy way!
thanks