File: read.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/read.t2
2 0  ;----------------
3 0  ;
4 0  =3973 
5 3973  ;--------------------------------------------------------------------
6 3973  ; compile read statement
7 3973  ;
8 3973  comprd::; 
9 3973  ;
10 3973  .ent:; 
11 3973 0603565 lod GPs+80   ;=2063
12 3973+0404302 sto W2242   ;
13 3974   call     ; @3974
13+13974 7320121004033 lnk gencode.lnk:jmp gencode.ent 
14 3975  ; from 3989 (following comma)
15 3975  .3975:; 
16 3975   call     ;
16+13975 7322411004503 lnk advance.lnk:jmp advance.ent 
17 3976 0600600 lod token   ; @3976
18 3976+1007637 jmp .3999   ; ->
19 3977  ;
20 3977  ; from 3999
21 3977 0603427.3977:lod idptr   ;get id info
22 3977+0062232 and procbit   ;=02000000000000
23 3978 1047613 jz .3979   ; if not set -> @3978
24 3978+1007631 jmp .3993   ; ->
25 3979  ; from 3978
26 3979  .3979:call     ;
26+13979 7326171005437 lnk Variable.lnk:jmp Variable.ent 
27 3980 1661044_err32:lnk errlnk   ;error 32: boolean var in read stat @3980
28 3980+0040000 o02 0   ;=1
29 3981 2710646600000 o27 stkp/lod 0;unstack value
30 3982  W3982:; 
31 3982 0404031.3982:sto IdInfo   ;save it @3982
32 3982+0007623 o00 .3987   ;in-line constant
33 3983   call     ;call 2601
33+13983 7323761005051 lnk FreeTemp.lnk:jmp FreeTemp.ent 
34 3984 0604031 lod IdInfo   ; @3984
35 3984+0064324 and T_Mask   ;=0700000000000
36 3985 0122214 sub intbit   ;=0200000000000
37 3985+1047630 jz .3992   ;
38 3986 1021070 jn Error   ; @3986
39 3986+0603533 lod GPs+54   ;
40 3987  .3987:; 
41 3987   call     ;
41+13987 7320121004033 lnk gencode.lnk:jmp gencode.ent 
42 3988 0040600 o02 token   ;token+1 @3988
43 3988+0122201 sub K42   ;=42 [comma+1]
44 3989 1047607 jz .3975   ;continue variable list
45 3989+0603566 lod GPs+81   ;=2065
46 3990   call     ; @3990
46+13990 7320121004033 lnk gencode.lnk:jmp gencode.ent 
47 3991   ret     ;
47+13991 0036517000001 o00 comprd.lnk/jmp 1 
48 3992  ;
49 3992 0603534.3992:lod GPs+55   ; @3992
50 3992+1007623 jmp .3987   ;
51 3993  ;
52 3993 0603427.3993:lod idptr   ;
53 3993+0064324 and T_Mask   ;=00700000000000
54 3994 1147634 jz .3996P   ; @3994
55 3994+0603427 lod idptr   ;
56 3995 0062234 and Bit32   ;=00020000000000
57 3995+1047636 jz _err39   ;
58 3996 1007613 jmp .3979   ; @3996
59 3996+ ;
60 3996+ .3996P:; 
61 3996+0607616 lod W3982   ;
62 3997 0346233 stc Link31   ;
63 3997+1006266 jmp CallProc.ent   ;
64 3998  ;
65 3998  _err39:; 
66 3998 1661044 lnk errlnk   ;error 39: procedure name in read list @3998
67 3998+1001070 jmp Error   ;call error routine
68 3999  ; from 3976+
69 3999 1047611.3999:jz .3977    
70 3999+1007636 jmp _err39    
71 4000  ;--------------------------------------------------------------