-
Notifications
You must be signed in to change notification settings - Fork 0
/
debug.inc
67 lines (66 loc) · 2.61 KB
/
debug.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
;-----------------------------------------------------------------------------
debugLine:
;-----------------------------------------------------------------------------
; PRINTCRLF ;debug
; PUSH magenta ;debug
; CALL PrintString ;debug
; ;debug
; PUSH lineNo ;debug
; CALL PrintInteger ;debug
; OUT ASCII_SPACE ;debug
; PUSH pCode ;debug
; CALL PrintString ;debug
; ;debug
; PUSH white ;debug
; CALL PrintString ;debug
; PRINTCRLF ;debug
; RET ;debug
;-----------------------------------------------------------------------------
debugToken:
.proc debugToken
;-----------------------------------------------------------------------------
; PUSH cyan ;debug
; CALL PrintString ;debug
; ;debug
; DEBUGPRINT "token='" ;debug
; PUSH tokenStr ;debug
; CALL PrintString ;debug
; DEBUGPRINT "' Type=" ;debug
; CMPNE tokenType TT_EOL @n0 ;debug
; DEBUGPRINT "EOL" ;debug
; JMP @nn ;debug
;@n0: CMPNE tokenType TT_NUMBER @n1 ;debug
; DEBUGPRINT "Num" ;debug
; JMP @nn ;debug
;@n1: CMPNE tokenType TT_VARINT @n2 ;debug
; DEBUGPRINT "Var" ;debug
; JMP @nn ;debug
;@n2: CMPNE tokenType TT_KEYWORD @n3 ;debug
; DEBUGPRINT "Keyw" ;debug
; JMP @nn ;debug
;@n3: CMPNE tokenType TT_STRING @n4 ;debug
; DEBUGPRINT "Str" ;debug
; JMP @nn ;debug
;@n4; CMPNE tokenType TT_MISC @n5 ;debug
; DEBUGPRINT "Misc" ;debug
; JMP @nn ;debug
;@n5: DEBUGPRINT "???" ;debug
;@nn: DEBUGPRINT " Value=" ;debug
; PUSH tokenValue ;debug
; CALL PrintInteger ;debug
; DEBUGPRINT " Addr=0x" ;debug
; PUSH tokenAddr ;debug
; CALL PrintHex ;debug
; DEBUGPRINT "' tokenPeek=" ;debug
; OUT tokenPeek ;debug
; OUT ASCII_SPACE ;debug
; OUT ASCII_LEFT_PAREN ;debug
; PUSH tokenPeek ;debug
; CALL PrintInteger ;debug
; OUT ASCII_RIGHT_PAREN ;debug
; ;debug
; PUSH white ;debug
; CALL PrintString ;debug
; PRINTCRLF ;debug
; RET ;debug
.endp