Mercurial > hg > Members > kono > os9 > sbc09
comparison TL1/TL1os9.asm @ 145:55cc160f101b tl1
TL1 fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 12 Jan 2019 15:19:33 +0900 |
parents | 1112b0549142 |
children | 032578807a7d |
comparison
equal
deleted
inserted
replaced
144:1112b0549142 | 145:55cc160f101b |
---|---|
44 OPER RMB 1 | 44 OPER RMB 1 |
45 GLL RMB 1 left value g 0xff / local l | 45 GLL RMB 1 left value g 0xff / local l |
46 AMODE RMB 1 | 46 AMODE RMB 1 |
47 ACC RMB 1 | 47 ACC RMB 1 |
48 LSIZE RMB 1 local variable size (including arguments ) | 48 LSIZE RMB 1 local variable size (including arguments ) |
49 MXLSZ RMB 1 maximul local variable size | |
50 LSZADR RMB 2 where to write MXLSZ | |
51 TCOUNT RMB 1 1 search reserved word only, 5 search all local/global var/array, proc | 49 TCOUNT RMB 1 1 search reserved word only, 5 search all local/global var/array, proc |
52 TEND RMB 2 table end (search start from here ) include local name | 50 TEND RMB 2 table end (search start from here ) include local name |
53 WEND RMB 2 word end | 51 WEND RMB 2 word end |
54 PMODE RMB 1 0x20 main, 1 proc, 0 ? | 52 PMODE RMB 1 0x20 main, 1 proc, 0 ? |
55 RSW RMB 1 0 word lookup, 0xff word register mode in tlook | 53 RSW RMB 1 0 word lookup, 0xff word register mode in tlook |
68 ** | 66 ** |
69 LIBR equ . | 67 LIBR equ . |
70 ioentry rmb $80 | 68 ioentry rmb $80 |
71 readbuff rmb bufsiz+1 | 69 readbuff rmb bufsiz+1 |
72 | 70 |
73 OBJSTART RMB 2+9 | 71 OBJSTART RMB 2+12 |
74 | 72 |
75 | 73 |
76 * OBJECT PG AREA | 74 * OBJECT PG AREA |
77 | 75 |
78 WTBLE RMB $100+500 | 76 WTBLE RMB $100+500 |
159 PL1 BSR PROG | 157 PL1 BSR PROG |
160 LDB PMODE | 158 LDB PMODE |
161 CMPB #1 | 159 CMPB #1 |
162 BNE *+5 | 160 BNE *+5 |
163 LBSR RETP generate return | 161 LBSR RETP generate return |
164 LDX LSZADR | |
165 LDB MXLSZ | |
166 STB ,X | |
167 LDX GEND | 162 LDX GEND |
168 STX TEND | 163 STX TEND |
169 LDB #5 | 164 LDB #5 |
170 STB TCOUNT | 165 STB TCOUNT |
171 BRA PLOOP | 166 BRA PLOOP |
1633 start clr <stdin | 1628 start clr <stdin |
1634 stx <parmptr save parameter pointer | 1629 stx <parmptr save parameter pointer |
1635 stu <work save parameter pointer | 1630 stu <work save parameter pointer |
1636 lda #READ. read access mode | 1631 lda #READ. read access mode |
1637 os9 I$Open open file | 1632 os9 I$Open open file |
1638 lbcs L0049 branch if error | 1633 lbcs ferr branch if error |
1639 sta <INDN else save path to file | 1634 sta <INDN else save path to file |
1640 stx <parmptr and updated parm pointer | 1635 stx <parmptr and updated parm pointer |
1641 leax readbuff,u buffer | 1636 leax readbuff,u buffer |
1642 clr ,x buffer empty | 1637 clr ,x buffer empty |
1643 stx <adr | 1638 stx <adr |
1764 RSENSE | 1759 RSENSE |
1765 ORCC #1 set carry to indicate ready | 1760 ORCC #1 set carry to indicate ready |
1766 RNSENSE | 1761 RNSENSE |
1767 PULS X,Y,D,PC | 1762 PULS X,Y,D,PC |
1768 | 1763 |
1764 ferr clr <OUTDN | |
1765 ldx <parmptr | |
1766 floop ldb ,x+ | |
1767 beq ferr1 | |
1768 cmpb #$0d | |
1769 beq floop | |
1770 lbsr putchar | |
1771 bra floop | |
1772 ferr1 lbsr putstr | |
1773 fcc " is not found",0 | |
1774 lbra L0049 | |
1775 | |
1769 getline * Input line at address in X, length in B. | 1776 getline * Input line at address in X, length in B. |
1770 PSHS A,B,X,Y | 1777 PSHS A,B,X,Y |
1771 clr ,s | 1778 clr ,s |
1772 GETLN0 | 1779 GETLN0 |
1773 ldy ,s | 1780 ldy ,s |