File: print.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/print.t2
2 0  ;-----------------
3 0  ;
4 0  ; compile print statement
5 0  ;
6 0  =4000 
7 4000  comppr::; 
8 4000  ;
9 4000  .ent:; 
10 4000 0444302 inc W2242   ; @4000
11 4000+0603526 lod GPs+49   ;=2006
12 4001   call     ;
12+14001 7320121004033 lnk gencode.lnk:jmp gencode.ent 
13 4002  ; from 4014, compile next print list element
14 4002  .4002:; 
15 4002   call     ; @4002
15+14002 7322411004503 lnk advance.lnk:jmp advance.ent 
16 4003 0600600 lod token   ;token
17 4003+1047661 jz .4017   ;->identifier
18 4004 0126256 sub K49   ;=49 (string start) @4004
19 4004+1047666 jz .4022   ;->
20 4005  .4005:; 
21 4005 0602205 lod K2a   ;
22 4005+0404300 sto W2240   ;
23 4006   call     ;2455 @4006
23+14006 7323131004627 lnk expression.lnk:jmp expression.ent 
24 4007 0040000 o02 0   ;=1
25 4007+0000000 o00 0   ;
26 4008 2710646600000 o27 stkp/lod 0; @4008
27 4009 0122214 sub intbit   ;
28 4009+1147653 jz .4011P   ;
29 4010 0603530 lod GPs+51   ; @4010
30 4010+1007654 jmp L4012   ;
31 4011  ;
32 4011 0000000 o00 0    
33 4011+ ;
34 4011+ .4011P:; 
35 4011+0603531 lod GPs+52   ;=GP7F 18,00
36 4012  ; from 4024+
37 4012  L4012:; 
38 4012  .4012:call     ; @4012
38+14012 7320121004033 lnk gencode.lnk:jmp gencode.ent 
39 4013  ; from 4021
40 4013  .4013:; 
41 4013 0040600 o02 token   ;token+1
42 4013+0122201 sub K42   ;=42 [,]+1
43 4014 1047642 jz .4002   ;->comma,more list to come @4014
44 4014+0603527 lod GPs+50   ;
45 4015   call     ;
45+14015 7320121004033 lnk gencode.lnk:jmp gencode.ent 
46 4016   ret     ;
46+14016 0036517000001 o00 comppr.lnk/jmp 1 
47 4017  ;
48 4017 0603427.4017:lod idptr   ;
49 4017+0062221 and typbits   ;=03700000000000
50 4018 0122232 sub procbit   ; @4018
51 4018+1047664 jz .4020   ;->
52 4019 0102232 add procbit   ;
53 4019+1007671 jmp .4025   ;
54 4020  ;
55 4020  ; from 4018+
56 4020  ;
57 4020  .4020:call     ;call 3254 get expression? @4020
57+14020 7331155006266 lnk CallProc.lnk:jmp CallProc.ent 
58 4021 1007655 jmp .4013   ;->
59 4021+ ;
60 4021+0000000 o00 0    
61 4022  ;--------------------------------------------------------------------
62 4022  ; compile a string for print statement
63 4022  ;
64 4022  .4022:; 
65 4022   call     ; compile string @4022
65+14022 7331155006764 lnk CompStrPtr.lnk:jmp CompStrPtr.ent 
66 4023  .4023:; 
67 4023   call     ;
67+14023 7322411004503 lnk advance.lnk:jmp advance.ent 
68 4024 0603535 lod GPs+56   ; call OutStr macro @4024
69 4024+1007654 jmp L4012   ;->
70 4025  ;
71 4025 0126264.4025:sub TStr   ;=00600000000000
72 4025+1147672 jz .4026P   ;
73 4026 1007645 jmp .4005   ; @4026
74 4026+ ;
75 4026+0603427.4026P:lod idptr   ;
76 4027 0404031 sto IdInfo   ;
77 4027+0603446 lod GPs+1   ;=GP1 30,0
78 4028   call     ; @4028
78+14028 7320121004033 lnk gencode.lnk:jmp gencode.ent 
79 4029 1007667 jmp .4023   ;
80 4029+ ;
81 4029+0000000 o00 0    
82 4030  ;--------------------------------------------------------------------