Source code for fig-forth-68000
Révision | 9d2d206cc9c6aa08976f97dd81ed7efc6cddb63b (tree) |
---|---|
l'heure | 2023-01-17 21:10:03 |
Auteur | Joel Matthew Rees <joel.rees@gmai...> |
Commiter | Joel Matthew Rees |
to LIT16, assembling okay
@@ -319,7 +319,6 @@ FORTH: DC.L DODOES,DOVOC,$81A0,TASK-7 | ||
319 | 319 | DC.B $CB |
320 | 320 | DC.L FORTH-8 |
321 | 321 | TASK: DC.L DOCOL,SEMIS |
322 | - EVEN | |
323 | 322 | * |
324 | 323 | REND EQU * ( first empty location in dictionary ) |
325 | 324 | RSIZE EQU *-RBEG ; So we can look at it. |
@@ -446,11 +445,11 @@ DELINT DC.L 4 ; initial carriage return delay | ||
446 | 445 | * ######>> screen 13 << |
447 | 446 | * These are of questionable use anyway, |
448 | 447 | * and are too much trouble to use with native subroutine call anyway. |
449 | -PULABX MOVE.L (PSP)+,D0 | |
450 | -STABX MOVE.L D0,(A0) | |
448 | +POPD0X MOVE.L (PSP)+,D0 ; These may actually not end up being used. | |
449 | +STD0X MOVE.L D0,(A0) | |
451 | 450 | BRA.S NEXT |
452 | 451 | GETX MOVE.L (A0),D0 |
453 | -PUSHBA MOVE.L D0,-(PSP) ; fall through to NEXT | |
452 | +PUSHD0 MOVE.L D0,-(PSP) ; fall through to NEXT | |
454 | 453 | |
455 | 454 | * "NEXT" takes ?? cycles if TRACE is removed, |
456 | 455 | * |
@@ -476,18 +475,78 @@ PUSHBA MOVE.L D0,-(PSP) ; fall through to NEXT | ||
476 | 475 | * |
477 | 476 | NEXT: ; IP is a register. |
478 | 477 | NEXT2 MOVE.L (IP),W ; get W which points to CFA of word to be done |
479 | -NEXT3 MOVE.L (W),A2 ; get characteristic address, save cycles by not bumping. | |
478 | +NEXT3 MOVE.L (W),VEC ; get characteristic address, save cycles by not bumping. | |
480 | 479 | * These NOPs can be patched at run-time to JMP TRACE = |
481 | 480 | * if a TRACE routine is available: = |
482 | 481 | NOP = |
483 | 482 | NOP = |
484 | - JMP (A2) = | |
483 | + JMP (VEC) = | |
485 | 484 | * In other words, with the call and the NOP, |
486 | -* there is room to patch the call with a JMP to your TRACE | |
485 | +* there is room to patch the loop with a call to your TRACE | |
487 | 486 | * routine, which you have to provide. |
488 | 487 | * = |
489 | 488 | * = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |
490 | 489 | |
490 | + PAGE | |
491 | +* | |
492 | +* ======>> 1 << | |
493 | +* ( --- n ) | |
494 | +* Pushes the following natural width integer from the instruction stream | |
495 | +* as a literal, or immediate value. | |
496 | +* | |
497 | +* DC.L {OP} | |
498 | +* DC.L {OP} | |
499 | +* DC.L LIT | |
500 | +* DC.L LITERAL-TO-BE-PUSHED | |
501 | +* DC.L {OP} | |
502 | +* | |
503 | +* In native processor code, there should be a better way, use that instead. | |
504 | +* More specifically, DO NOT CALL THIS from assembly language code. | |
505 | +* (Note that there is no compile-only flag in the fig model.) | |
506 | +* | |
507 | +* See (FIND), or PFIND , for layout of the header format. | |
508 | +* | |
509 | + EVEN | |
510 | + DC.B $83 | |
511 | + DC.B 'LI' ; 'LIT' : NOTE: this is different from LITERAL | |
512 | + DC.B $D4 ; 'T'|'\x80' ; character code for T, with high bit set. | |
513 | + DC.L 0 ; link of zero to terminate dictionary scan | |
514 | +LIT DC.L *+NATWID ; Note also that LIT is meaningless in native code. | |
515 | + MOVE.L (IP)+,-(PSP) | |
516 | + BRA.S NEXT | |
517 | +* | |
518 | +* ######>> screen 14 << | |
519 | +* ======>> 2 << | |
520 | +* ( --- n ) | |
521 | +* Save a little dictionary space by pushing a half-width value as a full-width value. | |
522 | +* LIT8 won't work with the 68000 because of alignment problems, | |
523 | +* But LIT16 will save a little space. | |
524 | +* Pushes the following 16-bit word from the instruction stream | |
525 | +* as a literal, or immediate value. | |
526 | + | |
527 | +* | |
528 | +* DC.L {OP} | |
529 | +* DC.L {OP} | |
530 | +* DC.L LIT16 | |
531 | +* DC.W LITERAL-TO-BE-PUSHED | |
532 | +* DC.L {OP} | |
533 | +* | |
534 | +* If this is kept, it should have a header for TRACE to read. | |
535 | +* If the data bus is wider than a byte, you don't want to do this. | |
536 | +* Byte shaving like this is often counter-productive anyway. | |
537 | +* Changing the name to LIT16, hoping that will be more understandable. | |
538 | +* Also, see comments for LIT. | |
539 | +* (Note that there is no compile-only flag in the fig model.) | |
540 | + EVEN | |
541 | + DC.B 0 | |
542 | + DC.B $85 | |
543 | + DC.B 'LIT1' ; 'LIT16' : NOTE: this is different from LITERAL | |
544 | + DC.B $B6 | |
545 | + DC.L LIT-6 | |
546 | +LIT16 DC.L *+NATWID (this was an invisible word, with no header) | |
547 | + MOVE.W (IP)+,D0 | |
548 | + EXT.W D0 | |
549 | + BRA.W PUSHD0 | |
491 | 550 | |
492 | 551 | |
493 | 552 |
@@ -561,81 +620,13 @@ RAMDSK EQU MASSLO | ||
561 | 620 | PAGE |
562 | 621 | |
563 | 622 | |
564 | - PAGE | |
565 | -* | |
566 | -* ======>> 1 << | |
567 | -* ( --- n ) | |
568 | -* Pushes the following natural width integer from the instruction stream | |
569 | -* as a literal, or immediate value. | |
570 | -* | |
571 | -* DC.L {OP} | |
572 | -* DC.L {OP} | |
573 | -* DC.L LIT | |
574 | -* DC.L LITERAL-TO-BE-PUSHED | |
575 | -* DC.L {OP} | |
576 | -* | |
577 | -* In native processor code, there should be a better way, use that instead. | |
578 | -* More specifically, DO NOT CALL THIS from assembly language code. | |
579 | -* (Note that there is no compile-only flag in the fig model.) | |
580 | -* | |
581 | -* See (FIND), or PFIND , for layout of the header format. | |
582 | -* | |
583 | - FCB $83 | |
584 | - FCC 'LI' ; 'LIT' : NOTE: this is different from LITERAL | |
585 | - FCB $D4 ; 'T'|'\x80' ; character code for T, with high bit set. | |
586 | - FDB 0 ; link of zero to terminate dictionary scan | |
587 | -LIT FDB *+NATWID ; Note also that LIT is meaningless in native code. | |
588 | - LDD ,Y++ | |
589 | - PSHU A,B | |
590 | - LBRA NEXT | |
591 | -* LDX IP | |
592 | -* LEAX 1,X ; | |
593 | -* LEAX 1,X ; | |
594 | -* STX IP | |
595 | -* LDA 0,X | |
596 | -* LDB 1,X | |
597 | -* JMP PUSHBA | |
598 | -* | |
599 | -* ######>> screen 14 << | |
600 | -* ======>> 2 << | |
601 | -* ( --- n ) | |
602 | -* Pushes the following byte from the instruction stream | |
603 | -* as a literal, or immediate value. | |
604 | -* | |
605 | -* FDB {OP} | |
606 | -* FDB {OP} | |
607 | -* FDB LIT8 | |
608 | -* FCB LITERAL-TO-BE-PUSHED | |
609 | -* FDB {OP} | |
610 | -* | |
611 | -* If this is kept, it should have a header for TRACE to read. | |
612 | -* If the data bus is wider than a byte, you don't want to do this. | |
613 | -* Byte shaving like this is often counter-productive anyway. | |
614 | -* Changing the name to LIT8, hoping that will be more understandable. | |
615 | -* Also, see comments for LIT. | |
616 | -* (Note that there is no compile-only flag in the fig model.) | |
617 | - FCB $84 | |
618 | - FCC 'LIT' ; 'LIT8' : NOTE: this is different from LITERAL | |
619 | - FCB $B8 | |
620 | - FDB LIT-6 | |
621 | -LIT8 FDB *+NATWID (this was an invisible word, with no header) | |
622 | - LDB ,Y+ ; This also is meaningless in native code. | |
623 | - CLRA | |
624 | - PSHU A,B | |
625 | - LBRA NEXT | |
626 | -* LDX IP | |
627 | -* LEAX 1,X ; | |
628 | -* STX IP | |
629 | -* CLRA ; | |
630 | -* LDB 1,X | |
631 | -* JMP PUSHBA | |
632 | 623 | * |
633 | 624 | * ( n off --- n ) |
634 | 625 | * off is offset in video buffer area. |
635 | 626 | FCB $87 |
636 | 627 | FCC 'SHOWTO' ; 'SHOWTOS' |
637 | 628 | FCB $D3 ; 'S' |
638 | - FDB LIT8-7 | |
629 | + FDB LIT16-7 | |
639 | 630 | SHOTOS FDB *+NATWID |
640 | 631 | LDX #$400 |
641 | 632 | LDD ,U++ |
@@ -1124,7 +1115,7 @@ FOUND LEAX 2*NATWID,X | ||
1124 | 1115 | * |
1125 | 1116 | * CLRA ; |
1126 | 1117 | * CLRB ; |
1127 | -* JMP PUSHBA | |
1118 | +* JMP PUSHD0 | |
1128 | 1119 | * PFNDCH PSHS B ; ** emulating CBA: |
1129 | 1120 | * CMPA ,S+ ; |
1130 | 1121 | * BEQ PFNDBR |
@@ -1147,13 +1138,13 @@ FOUND LEAX 2*NATWID,X | ||
1147 | 1138 | * CLRA ; |
1148 | 1139 | * PSHS A ; |
1149 | 1140 | * LDB #1 |
1150 | -* JMP PUSHBA | |
1141 | +* JMP PUSHD0 | |
1151 | 1142 | * |
1152 | 1143 | * PSHS A ; Left over from a stray copy-paste, I guess. |
1153 | 1144 | * CLRA ; |
1154 | 1145 | * PSHS A ; |
1155 | 1146 | * LDB #1 |
1156 | -* JMP PUSHBA | |
1147 | +* JMP PUSHD0 | |
1157 | 1148 | * |
1158 | 1149 | * ######>> screen 20 << |
1159 | 1150 | * ======>> 12 << |
@@ -1262,7 +1253,7 @@ ENC0TR | ||
1262 | 1253 | * PSHS A ; |
1263 | 1254 | * * advance and push NC |
1264 | 1255 | * INCB ; |
1265 | -* JMP PUSHBA | |
1256 | +* JMP PUSHD0 | |
1266 | 1257 | * found NUL before non-delimiter, therefore there is no word |
1267 | 1258 | * ENCNUL LDB N found NUL |
1268 | 1259 | * PSHS B ; |
@@ -1275,7 +1266,7 @@ ENC0TR | ||
1275 | 1266 | * PSHS B ; save EW |
1276 | 1267 | * PSHS A ; |
1277 | 1268 | * ENCL8 LDB N save NC |
1278 | -* JMP PUSHBA | |
1269 | +* JMP PUSHD0 | |
1279 | 1270 | |
1280 | 1271 | PAGE |
1281 | 1272 | * |
@@ -1345,7 +1336,7 @@ QTERM FDB *+NATWID | ||
1345 | 1336 | LBRA NEXT |
1346 | 1337 | * JSR PQTER |
1347 | 1338 | * CLRB ; |
1348 | -* JMP PUSHBA stack the flag | |
1339 | +* JMP PUSHD0 stack the flag | |
1349 | 1340 | * |
1350 | 1341 | * ======>> 16 << |
1351 | 1342 | * ( --- ) |
@@ -1536,7 +1527,7 @@ USTAR4 STD 1,U | ||
1536 | 1527 | * BSR USTARS |
1537 | 1528 | * LEAS 1,S ; |
1538 | 1529 | * LEAS 1,S ; |
1539 | -* JMP PUSHBA | |
1530 | +* JMP PUSHD0 | |
1540 | 1531 | * |
1541 | 1532 | * The following is a subroutine which |
1542 | 1533 | * multiplies top 2 words on stack, |
@@ -1669,7 +1660,7 @@ AND FDB *+NATWID | ||
1669 | 1660 | * TFR S,X ; TSX : |
1670 | 1661 | * ANDB 1,X |
1671 | 1662 | * ANDA 0,X |
1672 | -* JMP STABX | |
1663 | +* JMP STD0X | |
1673 | 1664 | * |
1674 | 1665 | * ======>> 21 << |
1675 | 1666 | * ( n1 n2 --- n ) |
@@ -1689,7 +1680,7 @@ OR FDB *+NATWID | ||
1689 | 1680 | * TFR S,X ; TSX : |
1690 | 1681 | * ORB 1,X |
1691 | 1682 | * ORA 0,X |
1692 | -* JMP STABX | |
1683 | +* JMP STD0X | |
1693 | 1684 | * |
1694 | 1685 | * ======>> 22 << |
1695 | 1686 | * ( n1 n2 --- n ) |
@@ -1709,7 +1700,7 @@ XOR FDB *+NATWID | ||
1709 | 1700 | * TFR S,X ; TSX : |
1710 | 1701 | * EORB 1,X |
1711 | 1702 | * EORA 0,X |
1712 | -* JMP STABX | |
1703 | +* JMP STD0X | |
1713 | 1704 | * |
1714 | 1705 | * ######>> screen 26 << |
1715 | 1706 | * ======>> 23 << |
@@ -1854,7 +1845,7 @@ FROMR FDB *+NATWID | ||
1854 | 1845 | * LEAX 1,X ; |
1855 | 1846 | * LEAX 1,X ; |
1856 | 1847 | * STX RP |
1857 | -* JMP PUSHBA | |
1848 | +* JMP PUSHD0 | |
1858 | 1849 | * |
1859 | 1850 | * ======>> 30 << |
1860 | 1851 | * ( --- n ) |
@@ -1905,7 +1896,7 @@ ZEQUF STD ,U | ||
1905 | 1896 | * BNE ZEQU2 |
1906 | 1897 | * INCB ; |
1907 | 1898 | *ZEQU2 TFR S,X ; TSX : |
1908 | -* JMP STABX | |
1899 | +* JMP STD0X | |
1909 | 1900 | * |
1910 | 1901 | * ======>> 32 << |
1911 | 1902 | * ( n --- n<0 ) |
@@ -1927,9 +1918,9 @@ ZLESSF STD ,U | ||
1927 | 1918 | * BEQ ZLESS2 |
1928 | 1919 | * CLRA ; if neg. |
1929 | 1920 | * LDB #1 |
1930 | -* JMP STABX | |
1921 | +* JMP STD0X | |
1931 | 1922 | * ZLESS2 CLRB ; |
1932 | -* JMP STABX | |
1923 | +* JMP STD0X | |
1933 | 1924 | * |
1934 | 1925 | * ######>> screen 29 << |
1935 | 1926 | * ======>> 33 << |
@@ -1948,7 +1939,7 @@ PLUS FDB *+NATWID | ||
1948 | 1939 | * TFR S,X ; TSX : |
1949 | 1940 | * ADDB 1,X |
1950 | 1941 | * ADCA 0,X |
1951 | -* JMP STABX | |
1942 | +* JMP STD0X | |
1952 | 1943 | * |
1953 | 1944 | * ======>> 34 << |
1954 | 1945 | * ( d1 d2 --- d1+d2 ) |
@@ -2048,7 +2039,7 @@ OVER FDB *+NATWID | ||
2048 | 2039 | * TFR S,X ; TSX : |
2049 | 2040 | * LDA 2,X |
2050 | 2041 | * LDB 3,X |
2051 | -* JMP PUSHBA | |
2042 | +* JMP PUSHD0 | |
2052 | 2043 | * |
2053 | 2044 | * ======>> 38 << |
2054 | 2045 | * ( n --- ) |
@@ -2103,7 +2094,7 @@ DUP FDB *+NATWID | ||
2103 | 2094 | * PULS B ; |
2104 | 2095 | * PSHS B ; |
2105 | 2096 | * PSHS A ; |
2106 | -* JMP PUSHBA | |
2097 | +* JMP PUSHD0 | |
2107 | 2098 | * |
2108 | 2099 | * ######>> screen 31 << |
2109 | 2100 | * ======>> 41 << |
@@ -2189,7 +2180,7 @@ CAT FDB *+NATWID | ||
2189 | 2180 | * LDB 0,X |
2190 | 2181 | * LEAS 1,S ; |
2191 | 2182 | * LEAS 1,S ; |
2192 | -* JMP PUSHBA | |
2183 | +* JMP PUSHD0 | |
2193 | 2184 | * |
2194 | 2185 | * ======>> 45 << |
2195 | 2186 | * ( n adr --- ) |
@@ -2206,7 +2197,7 @@ STORE FDB *+NATWID | ||
2206 | 2197 | * LDX 0,X get address |
2207 | 2198 | * LEAS 1,S ; |
2208 | 2199 | * LEAS 1,S ; |
2209 | -* JMP PULABX | |
2200 | +* JMP POPD0X | |
2210 | 2201 | * |
2211 | 2202 | * ======>> 46 << |
2212 | 2203 | * ( b adr --- ) |
@@ -2313,7 +2304,7 @@ DOCON LDD NATWID,X ; Get the first natural width word of the parameter field. | ||
2313 | 2304 | * DOCON LDX W |
2314 | 2305 | * LDA 2,X |
2315 | 2306 | * LDB 3,X A & B now contain the constant |
2316 | -* JMP PUSHBA | |
2307 | +* JMP PUSHD0 | |
2317 | 2308 | * |
2318 | 2309 | * Not in model, needed for abstraction: |
2319 | 2310 | * ( --- NATWID ) |
@@ -2344,7 +2335,7 @@ NATP FDB *+NATWID | ||
2344 | 2335 | * TSX |
2345 | 2336 | * ADDB 1,X |
2346 | 2337 | * ADCA ,X |
2347 | -* JMP STABX | |
2338 | +* JMP STD0X | |
2348 | 2339 | * |
2349 | 2340 | * ======>> 50 << |
2350 | 2341 | * ( init --- ) |
@@ -2373,7 +2364,7 @@ DOVAR LEAX NATWID,X ; Point to the first natural width word of the parameters. | ||
2373 | 2364 | * LDB W+1 |
2374 | 2365 | * ADDB #2 |
2375 | 2366 | * ADCA #0 A,B now contain the address of the variable |
2376 | -* JMP PUSHBA | |
2367 | +* JMP PUSHD0 | |
2377 | 2368 | * |
2378 | 2369 | * ======>> 51 << |
2379 | 2370 | * ( ub --- ) |
@@ -2420,7 +2411,7 @@ DOUSER TFR DP,A ; Make a pointer to the direct page. | ||
2420 | 2411 | * LDB 3,X |
2421 | 2412 | * ADDB UP+1 add to users base address |
2422 | 2413 | * ADCA UP |
2423 | -* JMP PUSHBA push address of user's variable | |
2414 | +* JMP PUSHD0 push address of user's variable | |
2424 | 2415 | * |
2425 | 2416 | * ######>> screen 35 << |
2426 | 2417 | * ======>> 52 << |
@@ -2951,7 +2942,7 @@ FALSE LDD #0 | ||
2951 | 2942 | * LESST LDB #1 |
2952 | 2943 | * LESSX CLRA ; |
2953 | 2944 | * LEAS 1,S ; |
2954 | -* JMP PUSHBA | |
2945 | +* JMP PUSHD0 | |
2955 | 2946 | * |
2956 | 2947 | * ======>> 92 << |
2957 | 2948 | * ( n1 n2 --- n1>n2 ) |
@@ -3074,7 +3065,7 @@ SIGNUP SEX ; Couldn't they have called SignEXtend EXT instead? | ||
3074 | 3065 | * BPL SIGNUP |
3075 | 3066 | * NEGB |
3076 | 3067 | * COMA |
3077 | -* SIGNUP JMP STABX | |
3068 | +* SIGNUP JMP STD0X | |
3078 | 3069 | * |
3079 | 3070 | * ======>> 98 << |
3080 | 3071 | * ( adr1 direction --- adr2 ) |
@@ -3097,7 +3088,7 @@ SIGNUP SEX ; Couldn't they have called SignEXtend EXT instead? | ||
3097 | 3088 | * LBRA NEXT |
3098 | 3089 | * Doing this in 6809 just because it can be done was getting too greedy. |
3099 | 3090 | TRAV FDB DOCOL,SWAP |
3100 | -TRAV2 FDB OVER,PLUS,LIT8 | |
3091 | +TRAV2 FDB OVER,PLUS,LIT16 | |
3101 | 3092 | FCB $7F |
3102 | 3093 | FDB OVER,CAT,LESS,ZBRAN |
3103 | 3094 | FDB TRAV2-*-NATWID |
@@ -3145,7 +3136,7 @@ LATEST FDB DOCOL,CURENT,AT,AT | ||
3145 | 3136 | FCC 'LF' ; 'LFA' |
3146 | 3137 | FCB $C1 |
3147 | 3138 | FDB LATEST-9 |
3148 | -LFA FDB DOCOL,LIT8 | |
3139 | +LFA FDB DOCOL,LIT16 | |
3149 | 3140 | * FCB 4 |
3150 | 3141 | FCB 2*NATWID |
3151 | 3142 | FDB SUB |
@@ -3169,7 +3160,7 @@ CFA FDB DOCOL,NATWC,SUB | ||
3169 | 3160 | FCC 'NF' ; 'NFA' |
3170 | 3161 | FCB $C1 |
3171 | 3162 | FDB CFA-6 |
3172 | -NFA FDB DOCOL,LIT8 | |
3163 | +NFA FDB DOCOL,LIT16 | |
3173 | 3164 | * FCB 5 |
3174 | 3165 | FCB NATWID*2+1 |
3175 | 3166 | FDB SUB,ONE,MINUS,TRAV |
@@ -3182,7 +3173,7 @@ NFA FDB DOCOL,LIT8 | ||
3182 | 3173 | FCC 'PF' ; 'PFA' |
3183 | 3174 | FCB $C1 |
3184 | 3175 | FDB NFA-6 |
3185 | -PFA FDB DOCOL,ONE,TRAV,LIT8 | |
3176 | +PFA FDB DOCOL,ONE,TRAV,LIT16 | |
3186 | 3177 | * FCB 5 |
3187 | 3178 | FCB NATWID*2+1 |
3188 | 3179 | FDB PLUS |
@@ -3239,7 +3230,7 @@ QERR3 FDB SEMIS | ||
3239 | 3230 | FCC '?COM' ; '?COMP' |
3240 | 3231 | FCB $D0 |
3241 | 3232 | FDB QERR-9 |
3242 | -QCOMP FDB DOCOL,STATE,AT,ZEQU,LIT8 | |
3233 | +QCOMP FDB DOCOL,STATE,AT,ZEQU,LIT16 | |
3243 | 3234 | FCB $11 |
3244 | 3235 | FDB QERR |
3245 | 3236 | FDB SEMIS |
@@ -3254,7 +3245,7 @@ QCOMP FDB DOCOL,STATE,AT,ZEQU,LIT8 | ||
3254 | 3245 | FCC '?EXE' ; '?EXEC' |
3255 | 3246 | FCB $C3 |
3256 | 3247 | FDB QCOMP-8 |
3257 | -QEXEC FDB DOCOL,STATE,AT,LIT8 | |
3248 | +QEXEC FDB DOCOL,STATE,AT,LIT16 | |
3258 | 3249 | FCB $12 |
3259 | 3250 | FDB QERR |
3260 | 3251 | FDB SEMIS |
@@ -3268,7 +3259,7 @@ QEXEC FDB DOCOL,STATE,AT,LIT8 | ||
3268 | 3259 | FCC '?PAIR' ; '?PAIRS' |
3269 | 3260 | FCB $D3 |
3270 | 3261 | FDB QEXEC-8 |
3271 | -QPAIRS FDB DOCOL,SUB,LIT8 | |
3262 | +QPAIRS FDB DOCOL,SUB,LIT16 | |
3272 | 3263 | FCB $13 |
3273 | 3264 | FDB QERR |
3274 | 3265 | FDB SEMIS |
@@ -3284,7 +3275,7 @@ QPAIRS FDB DOCOL,SUB,LIT8 | ||
3284 | 3275 | FCC '?CS' ; '?CSP' |
3285 | 3276 | FCB $D0 |
3286 | 3277 | FDB QPAIRS-9 |
3287 | -QCSP FDB DOCOL,SPAT,CSP,AT,SUB,LIT8 | |
3278 | +QCSP FDB DOCOL,SPAT,CSP,AT,SUB,LIT16 | |
3288 | 3279 | FCB $14 |
3289 | 3280 | FDB QERR |
3290 | 3281 | FDB SEMIS |
@@ -3299,7 +3290,7 @@ QCSP FDB DOCOL,SPAT,CSP,AT,SUB,LIT8 | ||
3299 | 3290 | FCC '?LOADIN' ; '?LOADING' |
3300 | 3291 | FCB $C7 |
3301 | 3292 | FDB QCSP-7 |
3302 | -QLOAD FDB DOCOL,BLK,AT,ZEQU,LIT8 | |
3293 | +QLOAD FDB DOCOL,BLK,AT,ZEQU,LIT16 | |
3303 | 3294 | FCB $16 |
3304 | 3295 | FDB QERR |
3305 | 3296 | FDB SEMIS |
@@ -3334,7 +3325,7 @@ STCOMP EQU $C0 | ||
3334 | 3325 | FCB $81 ] |
3335 | 3326 | FCB $DD |
3336 | 3327 | FDB LBRAK-4 |
3337 | -RBRAK FDB DOCOL,LIT8 | |
3328 | +RBRAK FDB DOCOL,LIT16 | |
3338 | 3329 | FCB STCOMP |
3339 | 3330 | FDB STATE,STORE |
3340 | 3331 | FDB SEMIS |
@@ -3347,7 +3338,7 @@ RBRAK FDB DOCOL,LIT8 | ||
3347 | 3338 | FCC 'SMUDG' ; 'SMUDGE' |
3348 | 3339 | FCB $C5 |
3349 | 3340 | FDB RBRAK-4 |
3350 | -SMUDGE FDB DOCOL,LATEST,LIT8 | |
3341 | +SMUDGE FDB DOCOL,LATEST,LIT16 | |
3351 | 3342 | FCB FSMUDG |
3352 | 3343 | FDB TOGGLE |
3353 | 3344 | FDB SEMIS |
@@ -3360,7 +3351,7 @@ SMUDGE FDB DOCOL,LATEST,LIT8 | ||
3360 | 3351 | FCB $D8 |
3361 | 3352 | FDB SMUDGE-9 |
3362 | 3353 | HEX FDB DOCOL |
3363 | - FDB LIT8 | |
3354 | + FDB LIT16 | |
3364 | 3355 | FCB 16 ; decimal sixteen |
3365 | 3356 | FDB BASE,STORE |
3366 | 3357 | FDB SEMIS |
@@ -3373,7 +3364,7 @@ HEX FDB DOCOL | ||
3373 | 3364 | FCB $CC |
3374 | 3365 | FDB HEX-6 |
3375 | 3366 | DEC FDB DOCOL |
3376 | - FDB LIT8 | |
3367 | + FDB LIT16 | |
3377 | 3368 | FCB 10 ; decimal ten |
3378 | 3369 | FDB BASE,STORE |
3379 | 3370 | FDB SEMIS |
@@ -3615,7 +3606,7 @@ PDOTQ FDB DOCOL,R,COUNT,DUP,ONEP ; IP/Y is post-inc. | ||
3615 | 3606 | FCB $A2 |
3616 | 3607 | FDB PDOTQ-7 |
3617 | 3608 | DOTQ FDB DOCOL |
3618 | - FDB LIT8 | |
3609 | + FDB LIT16 | |
3619 | 3610 | FCB $22 ascii quote |
3620 | 3611 | FDB STATE,AT,ZBRAN |
3621 | 3612 | FDB DOTQ1-*-NATWID |
@@ -3638,7 +3629,7 @@ DOTQ2 FDB SEMIS | ||
3638 | 3629 | FCC '?STAC' ; '?STACK' |
3639 | 3630 | FCB $CB |
3640 | 3631 | FDB DOTQ-5 |
3641 | -QSTACK FDB DOCOL,LIT8 | |
3632 | +QSTACK FDB DOCOL,LIT16 | |
3642 | 3633 | * FCB $12 |
3643 | 3634 | FCB SINIT-ORIG |
3644 | 3635 | * But why use that instead of XSPZER (S0)? |
@@ -3652,7 +3643,7 @@ QSTACK FDB DOCOL,LIT8 | ||
3652 | 3643 | QSTAC2 FDB SPAT |
3653 | 3644 | * Here, we compare with a value at least 128 |
3654 | 3645 | * higher than dict. ptr. (DICTPT) |
3655 | -* FDB HERE,LIT8 | |
3646 | +* FDB HERE,LIT16 | |
3656 | 3647 | * FCB $80 ; This is a rough check anyway, leave it as is. |
3657 | 3648 | * But shouldn't it be the terminal width? |
3658 | 3649 | FDB HERE,COLUMS,AT |
@@ -3670,7 +3661,7 @@ QSTAC3 FDB SEMIS | ||
3670 | 3661 | * FCC 4,?FREE |
3671 | 3662 | * FCB $C5 |
3672 | 3663 | * FDB QSTACK-9 |
3673 | -*QFREE FDB DOCOL,SPAT,HERE,LIT8 | |
3664 | +*QFREE FDB DOCOL,SPAT,HERE,LIT16 | |
3674 | 3665 | * FCB $80 |
3675 | 3666 | * FDB PLUS,LESS,TWO,QERR,SEMIS ; This TWO is not NATWID! |
3676 | 3667 | * |
@@ -3687,19 +3678,19 @@ QSTAC3 FDB SEMIS | ||
3687 | 3678 | FCB $D4 |
3688 | 3679 | FDB QSTACK-9 |
3689 | 3680 | EXPECT FDB DOCOL,OVER,PLUS,OVER,XDO ; brace the buffer area |
3690 | -* EXPEC2 FDB KEY,DUP,LIT8 | |
3681 | +* EXPEC2 FDB KEY,DUP,LIT16 | |
3691 | 3682 | EXPEC2 FDB KEY |
3692 | 3683 | * FDB LIT,$1C,SHOTOS ; DBG |
3693 | - FDB DUP,LIT8 | |
3684 | + FDB DUP,LIT16 | |
3694 | 3685 | FCB BACKSP-ORIG |
3695 | 3686 | FDB PORIG,AT,EQUAL,ZBRAN ; check for backspacing |
3696 | 3687 | FDB EXPEC3-*-NATWID |
3697 | - FDB DROP,LIT8 | |
3688 | + FDB DROP,LIT16 | |
3698 | 3689 | FCB 8 ( backspace character to emit ) |
3699 | 3690 | FDB OVER,I,EQUAL,DUP,FROMR,TWO,SUB,PLUS ; back I up TWO characters |
3700 | 3691 | FDB TOR,SUB,BRAN |
3701 | 3692 | FDB EXPEC6-*-NATWID |
3702 | -EXPEC3 FDB DUP,LIT8 | |
3693 | +EXPEC3 FDB DUP,LIT16 | |
3703 | 3694 | FCB $D ( carriage return ) |
3704 | 3695 | FDB EQUAL,ZBRAN |
3705 | 3696 | FDB EXPEC4-*-NATWID |
@@ -3799,7 +3790,7 @@ HOLD FDB DOCOL,LIT,$FFFF,HLD,PSTORE,HLD,AT,CSTORE | ||
3799 | 3790 | FCC 'PA' ; 'PAD' |
3800 | 3791 | FCB $C4 |
3801 | 3792 | FDB HOLD-7 |
3802 | -PAD FDB DOCOL,HERE,LIT8 | |
3793 | +PAD FDB DOCOL,HERE,LIT16 | |
3803 | 3794 | FCB $44 |
3804 | 3795 | FDB PLUS |
3805 | 3796 | FDB SEMIS |
@@ -3822,7 +3813,7 @@ WORD FDB DOCOL,BLK,AT,ZBRAN | ||
3822 | 3813 | FDB BLK,AT,BLOCK,BRAN |
3823 | 3814 | FDB WORD3-*-NATWID |
3824 | 3815 | WORD2 FDB TIB,AT |
3825 | -WORD3 FDB IN,AT,PLUS,SWAP,ENCLOS,HERE,LIT8 | |
3816 | +WORD3 FDB IN,AT,PLUS,SWAP,ENCLOS,HERE,LIT16 | |
3826 | 3817 | FCB 34 |
3827 | 3818 | FDB BLANKS,IN,PSTORE,OVER,SUB,TOR,R,HERE |
3828 | 3819 | FDB CSTORE,PLUS,HERE,ONEP,FROMR,CMOVE |
@@ -3865,13 +3856,13 @@ PNUMB4 FDB FROMR | ||
3865 | 3856 | FCC 'NUMBE' ; 'NUMBER' |
3866 | 3857 | FCB $D2 |
3867 | 3858 | FDB PNUMB-11 |
3868 | -NUMB FDB DOCOL,ZERO,ZERO,ROT,DUP,ONEP,CAT,LIT8 | |
3859 | +NUMB FDB DOCOL,ZERO,ZERO,ROT,DUP,ONEP,CAT,LIT16 | |
3869 | 3860 | FCC "-" minus sign |
3870 | 3861 | FDB EQUAL,DUP,TOR,PLUS,LIT,$FFFF |
3871 | 3862 | NUMB1 FDB DPL,STORE,PNUMB,DUP,CAT,BL,SUB |
3872 | 3863 | FDB ZBRAN |
3873 | 3864 | FDB NUMB2-*-NATWID |
3874 | - FDB DUP,CAT,LIT8 | |
3865 | + FDB DUP,CAT,LIT16 | |
3875 | 3866 | FCC "." |
3876 | 3867 | FDB SUB,ZERO,QERR,ZERO,BRAN |
3877 | 3868 | FDB NUMB1-*-NATWID |
@@ -3969,15 +3960,15 @@ IDFLAT FDB *+NATWID | ||
3969 | 3960 | FCC 'ID' ; 'ID.' |
3970 | 3961 | FCB $AE |
3971 | 3962 | FDB IDFLAT-9 |
3972 | -IDDOT FDB DOCOL,PAD,LIT8 | |
3963 | +IDDOT FDB DOCOL,PAD,LIT16 | |
3973 | 3964 | FCB 32 |
3974 | - FDB LIT8 | |
3965 | + FDB LIT16 | |
3975 | 3966 | FCB $5F ( underline ) |
3976 | 3967 | FDB FILL,DUP,PFA,LFA,OVER,SUB,PAD |
3977 | -* FDB SWAP,CMOVE,PAD,COUNT,LIT8 | |
3968 | +* FDB SWAP,CMOVE,PAD,COUNT,LIT16 | |
3978 | 3969 | FDB SWAP,CMOVE,PAD |
3979 | 3970 | FDB IDFLAT |
3980 | - FDB COUNT,LIT8 | |
3971 | + FDB COUNT,LIT16 | |
3981 | 3972 | FCB 31 |
3982 | 3973 | FDB AND,TYPE,SPACE |
3983 | 3974 | FDB SEMIS |
@@ -4001,13 +3992,13 @@ CREATE FDB DOCOL,DFIND,ZBRAN | ||
4001 | 3992 | FCB 8 |
4002 | 3993 | FCB 7 ( bel ) |
4003 | 3994 | FCC "redef: " |
4004 | - FDB NFA,IDDOT,LIT8 | |
3995 | + FDB NFA,IDDOT,LIT16 | |
4005 | 3996 | FCB 4 |
4006 | 3997 | FDB MESS,SPACE |
4007 | 3998 | CREAT2 FDB HERE,DUP,CAT,WIDTH,AT,MIN |
4008 | - FDB ONEP,ALLOT,DUP,LIT8 | |
3999 | + FDB ONEP,ALLOT,DUP,LIT16 | |
4009 | 4000 | FCB ($80|FSMUDG) ; Bracket the name. |
4010 | - FDB TOGGLE,HERE,ONE,SUB,LIT8 | |
4001 | + FDB TOGGLE,HERE,ONE,SUB,LIT16 | |
4011 | 4002 | FCB $80 |
4012 | 4003 | FDB TOGGLE,LATEST,COMMA,CURENT,AT,STORE |
4013 | 4004 | * FDB HERE,TWOP,COMMA |
@@ -4097,7 +4088,7 @@ INTER7 FDB QSTACK,BRAN | ||
4097 | 4088 | FCC 'IMMEDIAT' ; 'IMMEDIATE' |
4098 | 4089 | FCB $C5 |
4099 | 4090 | FDB INTERP-12 |
4100 | -IMMED FDB DOCOL,LATEST,LIT8 | |
4091 | +IMMED FDB DOCOL,LATEST,LIT16 | |
4101 | 4092 | FCB FIMMED |
4102 | 4093 | FDB TOGGLE |
4103 | 4094 | FDB SEMIS |
@@ -4143,7 +4134,7 @@ DEFIN FDB DOCOL,CONTXT,AT,CURENT,STORE | ||
4143 | 4134 | FCB $C1 immediate ( |
4144 | 4135 | FCB $A8 |
4145 | 4136 | FDB DEFIN-14 |
4146 | -PAREN FDB DOCOL,LIT8 | |
4137 | +PAREN FDB DOCOL,LIT16 | |
4147 | 4138 | FCC ")" |
4148 | 4139 | FDB WORD |
4149 | 4140 | FDB SEMIS |
@@ -4524,7 +4515,7 @@ PREV FDB DOCON | ||
4524 | 4515 | FCC '+BU' ; '+BUF' |
4525 | 4516 | FCB $C6 |
4526 | 4517 | FDB PREV-7 |
4527 | -* PBUF FDB DOCOL,LIT8 | |
4518 | +* PBUF FDB DOCOL,LIT16 | |
4528 | 4519 | * FCB $84 ; This was a hard-wiring bug. |
4529 | 4520 | PBUF FDB DOCOL,BBUF,BCTL,PLUS ; Size of the buffer record. |
4530 | 4521 | * FDB PLUS,DUP,LIMIT,EQUAL,ZBRAN |
@@ -4583,7 +4574,7 @@ KILBUF FDB *+NATWID ; DOCOL,UPDBIT,ONE,SUB,SWAP,STORE | ||
4583 | 4574 | FCC 'KILL-BUFFER' ; 'KILL-BUFFERS' |
4584 | 4575 | FCB $D3 |
4585 | 4576 | FDB KILBUF-14 |
4586 | -KLBFS FDB DOCOL,FIRST,LIT8 | |
4577 | +KLBFS FDB DOCOL,FIRST,LIT16 | |
4587 | 4578 | FCB 4 ; Want to make sure it's only four. |
4588 | 4579 | FDB ZERO,XDO ; It would be "cleaner" to let +BUF control the loop. |
4589 | 4580 | FDB DUP,KILBUF,PBUF,DROP,XLOOP |
@@ -4712,9 +4703,9 @@ BLOCK5 FDB FROMR,DROP,NATP | ||
4712 | 4703 | FCC '(LINE' ; '(LINE)' |
4713 | 4704 | FCB $A9 |
4714 | 4705 | FDB BLOCK-8 |
4715 | -PLINE FDB DOCOL,TOR,LIT8 | |
4706 | +PLINE FDB DOCOL,TOR,LIT16 | |
4716 | 4707 | FCB $40 |
4717 | - FDB BBUF,SSMOD,FROMR,BSCR,STAR,PLUS,BLOCK,PLUS,LIT8 | |
4708 | + FDB BBUF,SSMOD,FROMR,BSCR,STAR,PLUS,BLOCK,PLUS,LIT16 | |
4718 | 4709 | FCB $40 |
4719 | 4710 | FDB SEMIS |
4720 | 4711 | * |
@@ -4742,7 +4733,7 @@ MESS FDB DOCOL,WARN,AT,ZBRAN | ||
4742 | 4733 | FDB MESS3-*-NATWID |
4743 | 4734 | FDB DDUP,ZBRAN |
4744 | 4735 | FDB MESS3-*-NATWID |
4745 | - FDB LIT8 | |
4736 | + FDB LIT16 | |
4746 | 4737 | FCB 4 |
4747 | 4738 | FDB OFSET,AT,BSCR,SLASH,SUB,DLINE,BRAN |
4748 | 4739 | FDB MESS4-*-NATWID |
@@ -5050,11 +5041,11 @@ TICK FDB DOCOL,DFIND,ZEQU,ZERO,QERR,DROP,LITER | ||
5050 | 5041 | FCC 'FORGE' ; 'FORGET' |
5051 | 5042 | FCB $D4 |
5052 | 5043 | FDB TICK-4 |
5053 | -FORGET FDB DOCOL,CURENT,AT,CONTXT,AT,SUB,LIT8 | |
5044 | +FORGET FDB DOCOL,CURENT,AT,CONTXT,AT,SUB,LIT16 | |
5054 | 5045 | FCB $18 |
5055 | - FDB QERR,TICK,DUP,FENCE,AT,LESS,LIT8 | |
5046 | + FDB QERR,TICK,DUP,FENCE,AT,LESS,LIT16 | |
5056 | 5047 | FCB $15 |
5057 | - FDB QERR,DUP,ZERO,PORIG,GREAT,LIT8 | |
5048 | + FDB QERR,DUP,ZERO,PORIG,GREAT,LIT16 | |
5058 | 5049 | FCB $15 |
5059 | 5050 | FDB QERR,DUP,NFA,DICTPT,STORE,LFA,AT,CONTXT,AT,STORE |
5060 | 5051 | FDB SEMIS |
@@ -5326,7 +5317,7 @@ EDIGS FDB DOCOL,DROP,DROP,HLD,AT,PAD,OVER,SUB | ||
5326 | 5317 | FDB EDIGS-5 |
5327 | 5318 | SIGN FDB DOCOL,ROT,ZLESS,ZBRAN |
5328 | 5319 | FDB SIGN2-*-NATWID |
5329 | - FDB LIT8 | |
5320 | + FDB LIT16 | |
5330 | 5321 | FCC "-" |
5331 | 5322 | FDB HOLD |
5332 | 5323 | SIGN2 FDB SEMIS |
@@ -5338,14 +5329,14 @@ SIGN2 FDB SEMIS | ||
5338 | 5329 | FCB $81 # |
5339 | 5330 | FCB $A3 |
5340 | 5331 | FDB SIGN-7 |
5341 | -DIG FDB DOCOL,BASE,AT,MSMOD,ROT,LIT8 | |
5332 | +DIG FDB DOCOL,BASE,AT,MSMOD,ROT,LIT16 | |
5342 | 5333 | FCB 9 |
5343 | 5334 | FDB OVER,LESS,ZBRAN |
5344 | 5335 | FDB DIG2-*-NATWID |
5345 | - FDB LIT8 | |
5336 | + FDB LIT16 | |
5346 | 5337 | FCB 7 |
5347 | 5338 | FDB PLUS |
5348 | -DIG2 FDB LIT8 | |
5339 | +DIG2 FDB LIT16 | |
5349 | 5340 | FCC "0" ascii zero |
5350 | 5341 | FDB PLUS,HOLD |
5351 | 5342 | FDB SEMIS |
@@ -5434,7 +5425,7 @@ QUEST FDB DOCOL,AT,DOT | ||
5434 | 5425 | LIST FDB DOCOL,DEC,CR,DUP,SCR,STORE,PDOTQ |
5435 | 5426 | FCB 6 |
5436 | 5427 | FCC "SCR # " |
5437 | - FDB DOT,LIT8 | |
5428 | + FDB DOT,LIT16 | |
5438 | 5429 | FCB $10 |
5439 | 5430 | FDB ZERO,XDO |
5440 | 5431 | LIST2 FDB CR,I,THREE |
@@ -5479,7 +5470,7 @@ TRIAD2 FDB CR,I | ||
5479 | 5470 | FDB LEAVE |
5480 | 5471 | TRIAD3 FDB XLOOP |
5481 | 5472 | FDB TRIAD2-*-NATWID |
5482 | - FDB CR,LIT8 | |
5473 | + FDB CR,LIT16 | |
5483 | 5474 | FCB $0F |
5484 | 5475 | FDB MESS,CR |
5485 | 5476 | FDB SEMIS |
@@ -5493,10 +5484,10 @@ TRIAD3 FDB XLOOP | ||
5493 | 5484 | FCC 'VLIS' ; 'VLIST' |
5494 | 5485 | FCB $D4 |
5495 | 5486 | FDB TRIAD-8 |
5496 | -VLIST FDB DOCOL,LIT8 | |
5487 | +VLIST FDB DOCOL,LIT16 | |
5497 | 5488 | FCB $80 |
5498 | 5489 | FDB OUT,STORE,CONTXT,AT,AT |
5499 | -VLIST1 FDB OUT,AT,COLUMS,AT,LIT8 | |
5490 | +VLIST1 FDB OUT,AT,COLUMS,AT,LIT16 | |
5500 | 5491 | FCB 32 |
5501 | 5492 | FDB SUB,GREAT,ZBRAN |
5502 | 5493 | FDB VLIST2-*-NATWID |
@@ -5517,7 +5508,7 @@ VLIST2 FDB DUP,IDDOT,SPACE,SPACE,PFA,LFA,AT | ||
5517 | 5508 | BEMIT FDB DOCOL |
5518 | 5509 | FDB DUP,BL,LESS,ZBRAN |
5519 | 5510 | FDB BEMITO-*-NATWID |
5520 | - FDB DROP,LIT8 | |
5511 | + FDB DROP,LIT16 | |
5521 | 5512 | FCB $2e ; '.' |
5522 | 5513 | BEMITO FDB EMIT |
5523 | 5514 | FDB SEMIS |
@@ -5539,13 +5530,13 @@ XDOTR FDB DOCOL | ||
5539 | 5530 | FCB $C5 ; 'E' |
5540 | 5531 | FDB XDOTR-6 |
5541 | 5532 | BLINE FDB DOCOL |
5542 | - FDB DUP,LIT8 | |
5533 | + FDB DUP,LIT16 | |
5543 | 5534 | FCB 4 |
5544 | 5535 | FDB PLUS,OVER,XDO |
5545 | 5536 | BLINEX FDB I,CAT,THREE,XDOTR,XLOOP |
5546 | 5537 | FDB BLINEX-*-NATWID |
5547 | 5538 | FDB SPACE,SPACE |
5548 | - FDB DUP,LIT8 | |
5539 | + FDB DUP,LIT16 | |
5549 | 5540 | FCB 4 |
5550 | 5541 | FDB PLUS,SWAP,XDO |
5551 | 5542 | BLINEC FDB I,CAT,BEMIT,XLOOP |
@@ -5560,12 +5551,12 @@ BLINEC FDB I,CAT,BEMIT,XLOOP | ||
5560 | 5551 | FDB BLINE-8 |
5561 | 5552 | BDUMP FDB DOCOL |
5562 | 5553 | FDB CR,XDO |
5563 | -BDUMPL FDB I,LIT8 | |
5554 | +BDUMPL FDB I,LIT16 | |
5564 | 5555 | FCB 4 |
5565 | - FDB XDOTR,LIT8 | |
5556 | + FDB XDOTR,LIT16 | |
5566 | 5557 | FCB $3A |
5567 | 5558 | FDB EMIT,SPACE |
5568 | - FDB I,BLINE,CR,LIT8 | |
5559 | + FDB I,BLINE,CR,LIT16 | |
5569 | 5560 | FCB 4 |
5570 | 5561 | FDB XPLOOP |
5571 | 5562 | FDB BDUMPL-*-NATWID |