include "hdr1.html"; ?>
Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | ; tape1.d/gettoken.t2 | ||||||||
2 | 0 | ;-------------------- | ||||||||
3 | 0 | ; | ||||||||
4 | 0 | ;--------------------------------------------------------------- | ||||||||
5 | 0 | ; | ||||||||
6 | 0 | gettoken:: | ; | |||||||
7 | 0 | ; | ||||||||
8 | 0 | ; get token, lookup in dict if identifier | ||||||||
9 | 0 | ; | ||||||||
10 | 0 | =658 | ||||||||
11 | 658 | .ent: | ; | |||||||
12 | 658 | 0540600 | cls | token | ; | @658 | ||||
13 | 658+ | 0000000 | o00 | 0 | ;=1 | |||||
14 | 659 | call | ; get basic token | |||||||
14+1 | 659 | 7303331000667 | lnk | packword.lnk | : | jmp | packword.ent | |||
15 | 660 | 4005131001226 | jmp | .id | : | jmp | .id | ;ident | ||
16 | 661 | 4005161101234 | jmp | .m2 | : | jmp | .m1 | ;real number : integer number | ||
17 | 662 | ; | ||||||||
18 | 662 | .id: | call | ;lookup keyword/symbol | @662 | |||||
18+1 | 662 | 7303521000726 | lnk | lookupkw.lnk | : | jmp | lookupkw.ent | |||
19 | 663 | 0000000000576 | +ident | ; param - address of word | ||||||
20 | 664 | 1021233 | jn | .ret | ; negative | |||||
21 | 664+ | 1041233 | jz | .ret | ; zero - not found | |||||
22 | 665 | 2000022600001 | sto | 4 | / | lod | 1 | ; get kw value | ||
23 | 666 | 0400600 | .store: | sto | token | ; save kw value | ||||
24 | 666+ | 0000000 | o00 | 0 | ||||||
25 | 667 | .ret: | ret | |||||||
25+1 | 667 | 0005107000001 | o00 | gettoken.lnk | / | jmp | 1 | |||
26 | 668 | ; | ||||||||
27 | 668 | 0440600 | .m2: | inc | token | ; return token = -2, integer | ||||
28 | 668+ | 0440600 | .m1: | inc | token | ; return token = -1, real | ||||
29 | 669 | 0220600 | o11 | token | ; negate number | |||||
30 | 669+ | 1001232 | jmp | .store | ; set token = -2 | |||||
31 | 670 | ;------------------------------------------------------------------- |