Prev: 6E8E Up: Map Next: 6F3E
6F27: Recognise punctuation
Checks whether the character in A is a full stop, comma or double quote. If it is, HL is moved past it, A is set to the corresponding token class ($B0 for a full stop, the same as THEN; $A0 for a comma, the same as AND; $90 for a quote) and BC is set to 0; the Z flag is left set from the successful comparison. If not, the routine returns with the Z flag reset.
Input
A Character
HL Its address
Output
F Z set if it was punctuation
A Token class
BC 0
6F27 LD B,$B0 Full stop: class $B0 (like THEN)
6F29 CP $2E Is it "."?
6F2B JR Z,$6F38 If yes, go to 6F38
6F2D LD B,$A0 Comma: class $A0 (like AND)
6F2F CP $2C Is it ","?
6F31 JR Z,$6F38 If yes, go to 6F38
6F33 CP $22 Double quote: class $90
6F35 RET NZ Return if no
6F36 LD B,$90 B = 144
6F38 INC HL Step past the punctuation mark
6F39 LD A,B A = B
6F3A LD BC,$0000 BC = 0
6F3D RET Done
Prev: 6E8E Up: Map Next: 6F3E