home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8506c.d64 / vocabulary.sorce (.txt) < prev   
Commodore BASIC  |  1995-03-30  |  12KB  |  489 lines

  1. 40 OPEN1,8,15,"S:FORTH.VOC":CLOSE1
  2. 50 OPEN1,8,1,"FORTH.VOC"
  3. 60 :
  4. 70 :
  5. 100 :           SYS  9*4096
  6. 105 :           .OPT OO
  7. 110 STACK         =  $CF00
  8. 115 RETSTACK      =  $CE00
  9. 120 POS           =  $0002
  10. 122 RETPOS        =  $00FC
  11. 125 L             =  $00FD
  12. 130 H             =  $00FE
  13. 135 HL            =  $00FD
  14. 140 PRINT         =  $FFD2
  15. 145 :            *=  $C000
  16. 146 REG1         *=  *+2
  17. 147 REG2         *=  *+2
  18. 148 REG3         *=  *+2
  19. 150 ;----------------------
  20. 155 CLS         LDA  #"[147]"
  21. 160 :           JMP  PRINT
  22. 165 ;----------------------
  23. 170 SHOW        JSR  POP
  24. 175 :           STA  $62
  25. 180 :           STX  $63
  26. 185 :           LDX  #$90
  27. 190 :           LDA  $62
  28. 195 :           BMI  MINUS
  29. 200 PLUS        LDA  #" "
  30. 205 :           JSR  PRINT
  31. 210 :           SEC
  32. 215 :           JMP  $BDD4
  33. 220 MINUS       LDA  #"-"
  34. 225 :           JSR  PRINT
  35. 230 :           CLC
  36. 235 :           JMP  $BDD4
  37. 240 ;----------------------
  38. 245 PUSH        STA  H
  39. 250 :           STX  L
  40. 255 PUSH1       LDX  POS
  41. 260 :           LDA  H
  42. 265 :           STA  STACK,X
  43. 270 :           INX
  44. 275 :           LDA  L
  45. 280 :           STA  STACK,X
  46. 285 :           INX
  47. 290 :           STX  POS
  48. 295 :           RTS
  49. 300 ;----------------------
  50. 305 POP         LDX  POS
  51. 310 :           DEX
  52. 315 :           LDA  STACK,X
  53. 320 :           STA  L
  54. 325 :           DEX
  55. 330 :           LDA  STACK,X
  56. 335 :           STA  H
  57. 340 :           STX  POS
  58. 345 :           LDA  H
  59. 350 :           LDX  L
  60. 355 :           RTS
  61. 360 ;----------------------
  62. 365 DROP        JMP  POP
  63. 370 ;----------------------
  64. 375 DUP         JSR  POP
  65. 380 :           JSR  PUSH
  66. 385 :           JMP  PUSH1
  67. 390 ;----------------------
  68. 395 SWAP        JSR  POP
  69. 400 :           STA  REG1
  70. 405 :           STX  REG1+1
  71. 410 :           JSR  POP
  72. 415 :           STA  REG2
  73. 420 :           STX  REG2+1
  74. 425 :           LDA  REG1
  75. 430 :           LDX  REG1+1
  76. 435 :           JSR  PUSH
  77. 440 :           LDA  REG2
  78. 445 :           LDX  REG2+1
  79. 450 :           JMP  PUSH
  80. 455 ;----------------------
  81. 460 OVER        DEC  POS
  82. 465 :           DEC  POS
  83. 470 :           JSR  POP
  84. 475 :           INC  POS
  85. 480 :           INC  POS
  86. 485 :           INC  POS
  87. 490 :           INC  POS
  88. 495 :           JMP  PUSH
  89. 500 ;----------------------
  90. 505 RETPOP      LDX  RETPOS
  91. 510 :           DEX
  92. 515 :           LDA  RETSTACK,X
  93. 520 :           STA  L
  94. 525 :           DEX
  95. 530 :           LDA  RETSTACK,X
  96. 535 :           STA  H
  97. 540 :           STX  RETPOS
  98. 545 :           LDA  H
  99. 550 :           LDX  L
  100. 555 :           RTS
  101. 560 ;----------------------
  102. 565 RETPUSH     STA  H
  103. 570 :           STX  L
  104. 575 RETPUSH1    LDX  RETPOS
  105. 580 :           LDA  H
  106. 585 :           STA  RETSTACK,X
  107. 590 :           INX
  108. 595 :           LDA  L
  109. 600 :           STA  RETSTACK,X
  110. 605 :           INX
  111. 610 :           STX  RETPOS
  112. 615 :           RTS
  113. 620 ;-----------------------
  114. 625 SUBTRAKTION SEC
  115. 630 :           LDA  REG1
  116. 635 :           SBC  REG2
  117. 640 :           STA  REG3
  118. 645 :           LDA  REG1+1
  119. 650 :           SBC  REG2+1
  120. 655 :           STA  REG3+1
  121. 660 :           RTS
  122. 665 ;-----------------------
  123. 670 ADDITION    CLC
  124. 675 :           LDA  REG1
  125. 680 :           ADC  REG2
  126. 685 :           STA  REG3
  127. 690 :           LDA  REG1+1
  128. 695 :           ADC  REG2+1
  129. 700 :           STA  REG3+1
  130. 705 :           RTS
  131. 710 ;-----------------------
  132. 715 CR          LDA  #13
  133. 720 :           JMP  PRINT
  134. 725 ;-----------------------
  135. 730 VERGLEICH   JSR  POP
  136. 735 :           STX  REG1
  137. 740 :           STA  REG1+1
  138. 745 :           JSR  POP
  139. 750 :           STX  REG2
  140. 755 :           STA  REG2+1
  141. 760 :           JMP  SUBTRAKTION
  142. 765 ;-----------------------
  143. 770 GLEICH      JSR  VERGLEICH
  144. 771 :           LDA  REG3
  145. 772 :           ORA  REG3+1
  146. 775 :           BEQ  WAHR1
  147. 780 FALSCH1     LDA  #0
  148. 785 :           TAX
  149. 790 :           JMP  PUSH
  150. 795 WAHR1       LDA  #0
  151. 800 :           LDX  #1
  152. 805 :           JMP  PUSH
  153. 810 ;-----------------------
  154. 815 GROESSER    JSR  VERGLEICH
  155. 820 :           BCC  WAHR2
  156. 825 FALSCH2     LDA  #0
  157. 830 :           TAX
  158. 835 :           JMP  PUSH
  159. 840 WAHR2       LDA  #0
  160. 845 :           LDX  #1
  161. 850 :           JMP  PUSH
  162. 855 ;-----------------------
  163. 860 KLEINER     JSR  SWAP
  164. 865 :           JMP  GROESSER
  165. 870 ;-----------------------
  166. 875 NICHT       JSR  POP
  167. 880 :           ORA  L
  168. 885 :           BEQ  WAHR3
  169. 890 FALSCH3     LDA  #0
  170. 895 :           TAX
  171. 900 :           JMP  PUSH
  172. 905 WAHR3       LDA  #0
  173. 910 :           LDX  #1
  174. 915 :           JMP  PUSH
  175. 920 ;-----------------------
  176. 925 HOLE        JSR  POP
  177. 930 :           STX  REG1
  178. 935 :           STA  REG1+1
  179. 940 :           JSR  POP
  180. 945 :           STX  REG2
  181. 950 :           STA  REG2+1
  182. 955 :           RTS
  183. 960 ;-----------------------
  184. 965 UND         JSR  HOLE
  185. 970 :           LDA  REG1
  186. 975 :           AND  REG2
  187. 980 :           STA  L
  188. 985 :           LDA  REG1+1
  189. 990 :           AND  REG2+1
  190. 995 :           STA  H
  191. 1000 :           JMP  PUSH1
  192. 1005 ;-----------------------
  193. 1010 ODER        JSR  HOLE
  194. 1015 :           LDA  REG1
  195. 1020 :           ORA  REG2
  196. 1025 :           STA  L
  197. 1030 :           LDA  REG1+1
  198. 1035 :           ORA  REG2+1
  199. 1040 :           STA  H
  200. 1045 :           JMP  PUSH1
  201. 1050 ;-----------------------
  202. 1055 EXODER      JSR  HOLE
  203. 1060 :           LDA  REG1
  204. 1065 :           EOR  REG2
  205. 1070 :           STA  L
  206. 1075 :           LDA  REG1+1
  207. 1080 :           EOR  REG2+1
  208. 1085 :           STA  H
  209. 1090 :           JMP  PUSH1
  210. 1095 ;-----------------------
  211. 1100 ADD         JSR  HOLE
  212. 1105 :           JSR  ADDITION
  213. 1110 :           LDX  REG3
  214. 1115 :           LDA  REG3+1
  215. 1120 :           JMP  PUSH
  216. 1125 ;-----------------------
  217. 1130 SUB         JSR  SWAP
  218. 1135 :           JSR  HOLE
  219. 1140 :           JSR  SUBTRAKTION
  220. 1145 :           LDX  REG3
  221. 1150 :           LDA  REG3+1
  222. 1155 :           JMP  PUSH
  223. 1160 ;-----------------------
  224. 1165 MUL         JSR  HOLE
  225. 1170 :           LDY  #0
  226. 1175 :           STY  REG3
  227. 1180 :           STY  REG3+1
  228. 1185 :           LDY  #16
  229. 1190 LOOP16      ASL  REG3
  230. 1195 :           ROL  REG3+1
  231. 1200 :           ROL  REG2
  232. 1205 :           ROL  REG2+1
  233. 1210 :           BCC  LAB2
  234. 1215 :           CLC
  235. 1220 :           LDA  REG3
  236. 1225 :           ADC  REG1
  237. 1230 :           STA  REG3
  238. 1235 :           LDA  REG3+1
  239. 1240 :           ADC  REG1+1
  240. 1245 :           STA  REG3+1
  241. 1250 :           BCC  LAB2
  242. 1255 :           INC  REG2
  243. 1260 :           BNE  LAB2
  244. 1265 :           INC  REG2+1
  245. 1270 LAB2        DEY
  246. 1275 :           BNE  LOOP16
  247. 1280 :           LDX  REG3
  248. 1285 :           LDA  REG3+1
  249. 1290 :           JMP  PUSH
  250. 1295 ;-----------------------
  251. 1300 DIVISION    JSR  HOLE
  252. 1305 :           LDY  #16
  253. 1310 :           LDA  #0
  254. 1315 :           STA  REG3
  255. 1320 :           STA  REG3+1
  256. 1325 LOOP17      ROL  REG2
  257. 1330 :           ROL  REG2+1
  258. 1335 :           ROL  REG3
  259. 1340 :           ROL  REG3+1
  260. 1345 :           SEC
  261. 1350 :           LDA  REG3
  262. 1355 :           SBC  REG1
  263. 1360 :           TAX
  264. 1365 :           LDA  REG3+1
  265. 1370 :           SBC  REG1+1
  266. 1375 :           BCC  LAB4
  267. 1380 :           STA  REG3+1
  268. 1385 :           STX  REG3
  269. 1390 LAB4        DEY
  270. 1395 :           BNE  LOOP17
  271. 1400 :           ROL  REG2
  272. 1405 :           ROL  REG2+1
  273. 1410 :           RTS
  274. 1415 ;-----------------------
  275. 1420 DIV         JSR  DIVISION
  276. 1425 :           LDX  REG2
  277. 1430 :           LDA  REG2+1
  278. 1435 :           JMP  PUSH
  279. 1440 ;-----------------------
  280. 1445 MOD         JSR  DIVISION
  281. 1450 :           LDX  REG3
  282. 1455 :           LDA  REG3+1
  283. 1460 :           JMP  PUSH
  284. 1465 ;-----------------------
  285. 1470 TRS         JSR  RETPOP
  286. 1475 :           JMP  PUSH
  287. 1480 ;-----------------------
  288. 1485 TSR         JSR  POP
  289. 1490 :           JMP  RETPUSH
  290. 1495 ;-----------------------
  291. 1500 DO          JSR  SWAP
  292. 1505 :           JSR  TSR
  293. 1510 :           JMP  TSR
  294. 1515 ;-----------------------
  295. 1520 IND         JSR  TRS
  296. 1525 :           INC  RETPOS
  297. 1530 :           INC  RETPOS
  298. 1535 :           RTS
  299. 1540 ;-----------------------
  300. 1545 LOOP1       JSR  TRS
  301. 1550 :           JSR  DUP
  302. 1555 :           JSR  TRS
  303. 1560 :           JSR  SWAP
  304. 1565 VERGL       JSR  VERGLEICH
  305. 1570 :           BCC  WAHR4
  306. 1571 FALSCH4     JSR  DROP
  307. 1575 :           JSR  DROP
  308. 1579 :           SEC
  309. 1580 :           RTS
  310. 1585 WAHR4       INC  RETPOS
  311. 1590 :           INC  RETPOS
  312. 1595 :           JSR  ADD
  313. 1600 :           JSR  TSR
  314. 1605 :           CLC
  315. 1610 :           RTS
  316. 1615 ;-----------------------
  317. 1620 LOOP        LDA  #0
  318. 1625 :           LDX  #1
  319. 1630 :           JSR  PUSH
  320. 1635 :           JMP  LOOP1
  321. 1640 ;-----------------------
  322. 1645 LOOPPLUS    JSR  POP
  323. 1650 :           INC  POS
  324. 1655 :           INC  POS
  325. 1660 :           LDA  H
  326. 1665 :           BPL  LOOP1
  327. 1670 :           JSR  TRS
  328. 1675 :           JSR  DUP
  329. 1680 :           JSR  TRS
  330. 1685 :           JMP  VERGL
  331. 1690 ;-----------------------
  332. 1695 IF          JSR  POP
  333. 1700 :           ORA  L
  334. 1705 :           BEQ  NEIN
  335. 1710 JA          SEC
  336. 1715 :           RTS
  337. 1720 NEIN        CLC
  338. 1725 :           RTS
  339. 1730 ;-----------------------
  340. 1735 EMIT        JSR  POP
  341. 1740 :           TXA
  342. 1745 :           JMP  PRINT
  343. 1750 ;-----------------------
  344. 1755 GET         JSR  $EA87
  345. 1760 :           CPX  #255
  346. 1765 :           BEQ  NULL
  347. 1766 :           CPX  #13
  348. 1767 :           BCS  NONULL
  349. 1770 NULL        LDX  #$00
  350. 1775 NONULL      LDA  #$00
  351. 1780 :           JMP  PUSH
  352. 1785 ;-----------------------
  353. 1790 KEY         JSR  GET
  354. 1795 :           JSR  DUP
  355. 1800 :           JSR  IF
  356. 1805 :           BCS  NEXT5
  357. 1810 :           JSR  DROP
  358. 1815 :           JMP  KEY
  359. 1820 NEXT5       RTS
  360. 1825 ;-----------------------
  361. 1830 PUTZEILE    STX  L
  362. 1835 :           STA  H
  363. 1840 :           LDY  #0
  364. 1845 LOOPPUT     LDA  (HL),Y
  365. 1850 :           BEQ  ENDPUT
  366. 1855 :           JSR  PRINT
  367. 1860 :           INY
  368. 1865 :           BNE  LOOPPUT
  369. 1870 ENDPUT      RTS
  370. 1875 ;-----------------------
  371. 1880 TYPE        JSR  POP
  372. 1885 :           STX  $F7
  373. 1890 :           JSR  POP
  374. 1895 :           LDY  #0
  375. 1900 LOOPTYPE    LDA  (HL),Y
  376. 1905 :           JSR  PRINT
  377. 1910 :           INY
  378. 1915 :           CPY  $F7
  379. 1920 :           BNE  LOOPTYPE
  380. 1925 :           RTS
  381. 1930 ;-----------------------
  382. 1935 EXPECT      JSR  POP
  383. 1940 :           STX  $F9
  384. 1945 :           JSR  POP
  385. 1950 :           STX  $F7
  386. 1955 :           STA  $F8
  387. 1960 :           LDX  #0
  388. 1965 :           LDY  #0
  389. 1970 LOOPEX      JSR  $FFCF
  390. 1975 :           STA  ($F7),Y
  391. 1980 :           CMP  #13
  392. 1985 :           BEQ  ENDEX
  393. 1990 :           INX
  394. 1995 :           INY
  395. 2000 :           CPY  $F9
  396. 2005 :           BNE  LOOPEX
  397. 2010 ENDEX       RTS
  398. 2015 ;-----------------------
  399. 2020 DEPTH       LDA  POS
  400. 2025 :           LSR  A
  401. 2030 :           TAX
  402. 2035 :           LDA  #0
  403. 2040 :           JMP  PUSH
  404. 2045 ;-----------------------
  405. 2050 DPOKE       JSR  POP
  406. 2055 :           STX  $F7
  407. 2060 :           STA  $F8
  408. 2065 :           JSR  POP
  409. 2070 :           LDY  #1
  410. 2075 :           STA  ($F7),Y
  411. 2080 :           TXA
  412. 2085 :           DEY
  413. 2090 :           STA  ($F7),Y
  414. 2095 :           RTS
  415. 2100 ;----------------------
  416. 2105 POKE        JSR  POP
  417. 2110 :           STX  $F7
  418. 2115 :           STA  $F8
  419. 2120 :           JSR  POP
  420. 2125 :           LDY  #0
  421. 2130 :           TXA
  422. 2135 :           STA  ($F7),Y
  423. 2140 :           RTS
  424. 2145 ;----------------------
  425. 2150 DPEEK       JSR  POP
  426. 2155 :           STX  $F7
  427. 2160 :           STA  $F8
  428. 2165 :           LDY  #0
  429. 2170 :           LDA  ($F7),Y
  430. 2175 :           TAX
  431. 2180 :           INY
  432. 2185 :           LDA  ($F7),Y
  433. 2190 :           JMP  PUSH
  434. 2195 ;----------------------
  435. 2200 PEEK        JSR  POP
  436. 2205 :           STX  $F7
  437. 2210 :           STA  $F8
  438. 2215 :           LDY  #0
  439. 2220 :           LDA  ($F7),Y
  440. 2225 :           TAX
  441. 2230 :           LDA  #0
  442. 2235 :           JMP  PUSH
  443. 2240 ;----------------------
  444. 2245 CALL        JSR  POP
  445. 2246 :           LDA  780
  446. 2247 :           LDX  781
  447. 2248 :           LDY  782
  448. 2250 :           JMP  (HL)
  449. 2255 ;----------------------
  450. 2260 PICK        JSR  POP
  451. 2265 :           LDY  POS
  452. 2270 :           STY  REG1
  453. 2275 :           TXA
  454. 2280 :           ASL  A
  455. 2285 :           STA  POS
  456. 2290 :           JSR  POP
  457. 2300 :           LDY  REG1
  458. 2305 :           STY  POS
  459. 2312 :           JMP  PUSH
  460. 2313 ;----------------------
  461. 2315 ROT         JSR  POP
  462. 2320 :           STX  REG1
  463. 2325 :           STA  REG1+1
  464. 2330 :           JSR  POP
  465. 2335 :           STX  REG2
  466. 2340 :           STA  REG2+1
  467. 2345 :           JSR  POP
  468. 2350 :           STX  REG3
  469. 2355 :           STA  REG3+1
  470. 2360 :           LDX  REG2
  471. 2365 :           LDA  REG2+1
  472. 2370 :           JSR  PUSH
  473. 2375 :           LDX  REG1
  474. 2380 :           LDA  REG1+1
  475. 2385 :           JSR  PUSH
  476. 2390 :           LDX  REG3
  477. 2395 :           LDA  REG3+1
  478. 2400 :           JMP  PUSH
  479. 2405 ;----------------------
  480. 2410 LOAD        JSR  $AEFD
  481. 2415 :           JSR  $E1D4
  482. 2420 :           LDA  #1
  483. 2425 :           STA  $B9
  484. 2430 :           LDA  #0
  485. 2435 :           JMP  $FFD5
  486. 2440 ;----------------------
  487. 9600 :           .SST 8,2,"@:LABEL,S,W"
  488. 9610 :           .END
  489.