100 DIM P$(255)! DSM.PGM Hex entries require ">" prefix 110 P$(0)="; I/O Cntl Register" 120 P$(2)="; Timer Jam Latch" 130 P$(3)="; Timer Control" 140 P$(4)="; Keybrd Read Latch" 150 P$(6)="; Pg Ctl Reg(bit 0,1)" 160 P$(12)="; Keybrd write latch" 170 P$(13)="; E-Port DDR" 180 P$(14)="; I/O Bus Data Latch" 190 P$(15)="; BAV bit 0,HSK bit 1" 200 P$(16)="; Address Ctl" 210 P$(24)="; Clock Ctl Reg" 220 P$(255)="; Peripheral file Op" 230 DIM A$(255) 240 A$(0)="1NOP":A$(105)="1ADC B,A":A$(25)="2ADC Rn,A" 250 A$(57)="2ADC Rn,B":A$(73)="3ADC Rn,Rn":A$(41)="2ADC %n,A" 260 A$(89)="2ADC %n,B":A$(121)="3ADC %n,Rn":A$(104)="1ADD B,A" 270 A$(24)="2ADD Rn,A":A$(56)="2ADD Rn,B":A$(72)="3ADD Rn,Rn" 280 A$(40)="2ADD %n,A":A$(88)="2ADD %n,B":A$(120)="3ADD %n,Rn" 290 A$(99)="1AND B,A":A$(19)="2AND Rn,A":A$(51)="2AND Rn,B" 300 A$(67)="3AND Rn,Rn":A$(35)="2AND %n,A":A$(83)="2AND %n,B" 310 A$(115)="3AND %n,Rn":A$(131)="2ANDP A,Pn":A$(147)="2ANDP B,Rn" 320 A$(163)="3ANDP %n,Pn":A$(140)="3BR @n":A$(172)="3BR @n(B)" 330 A$(156)="2BR *Rn":A$(102)="2BTJO B,A,OFST":A$(22)="3BTJO Rn,A,OFST" 340 A$(54)="3BTJO Rn,B,OFST":A$(70)="4BTJO Rn,Rn,OFST":A$(38)="3BTJO %n,A,OFST" 350 A$(86)="3BTJO %n,B,OFST":A$(118)="4BTJO %n,Rn,OFST" 360 A$(134)="3BTJOP A,Pn,OFST":A$(150)="3BTJOP B,Pn,OFST" 370 A$(166)="4BTJOP %>n,Pn,OFST":A$(103)="2BTJZ B,A,OFST" 380 A$(23)="3BTJZ Rn,A,OFST":A$(55)="3BTJZ Rn,B,OFST":A$(71)="4BTJZ Rn,Rn,OFST" 390 A$(39)="3BTJZ %>n,A,OFST":A$(87)="3BTJZ %>n,B,OFST" 400 A$(119)="4BTJZ %>n,Rn,OFST":A$(135)="3BTJZP A,Pn,OFST" 410 A$(151)="3BTJZP B,Pn,OFST":A$(167)="4BTJZP %>n,Pn,OFST" 420 A$(142)="3CALL @n":A$(174)="3CALL @n(B)":A$(158)="2CALL *Rn" 430 A$(181)="1CLR A":A$(197)="1 CLR B":A$(213)="2CLR Rn" 440 A$(176)="1CLRC":A$(109)="1CMP B,A":A$(29)="2CMP Rn,A" 450 A$(61)="2CMP Rn,B":A$(77)="3CMP Rn,Rn":A$(45)="2CMP %n,A" 460 A$(93)="2CMP %n,B":A$(125)="3CMP %n,Rn":A$(141)="3CMPA @n" 470 A$(173)="3CMPA @n(B)":A$(157)="2CMPA *Rn":A$(110)="1DAC B,A" 480 A$(30)="2DAC Rn,A":A$(62)="2DAC Rn,B":A$(78)="3DAC Rn,Rn" 490 A$(46)="2DAC %>n,A":A$(94)="2DAC %>n,B":A$(126)="3DAC %>n,Rn" 500 A$(178)="1DEC A":A$(194)="1DEC B":A$(210)="2DEC Rn" 510 A$(187)="1DECD A":A$(203)="1DECD B":A$(219)="2DECD Rn" 520 A$(6)="1DINT":A$(186)="2DJNZ A,OFST":A$(202)="2DJNZ B,OFST" 530 A$(218)="3DJNZ Rn,OFST":A$(111)="1DSB B,A":A$(31)="2DSB Rn,A" 540 A$(63)="2DSB Rn,B":A$(79)="3DSB Rn,Rn":A$(47)="2DSB %>n,A" 550 A$(95)="2DSB %>n,B":A$(127)="3DSB %>n,Rn":A$(5)="1EINT" 560 A$(1)="1IDLE":A$(179)="1INC A":A$(195)="1INC B":A$(211)="2INC Rn" 570 A$(180)="1INV A":A$(196)="1INV B":A$(212)="2INV Rn" 580 A$(224)="2JMP OFST":A$(227)="2JC/JHS,OFST":A$(226)="2JZ/JEQ,OFST" 590 A$(231)="2JL/JNC OFST":A$(225)="2JN,OFST":A$(230)="2JNE/JNZ,OFST" 600 A$(228)="2JP,OFST":A$(229)="2JPZ,OFST":A$(138)="3LDA @n" 610 A$(170)="3LDA @n(B)":A$(154)="2LDA *Rn":A$(13)="1LDSP" 620 A$(192)="1MOV A,B":A$(208)="2MOV A,Rd":A$(98)="1MOV B,A" 630 A$(209)="2MOV B,Rd":A$(18)="2MOV Rn,A":A$(50)="2MOV Rn,B" 640 A$(66)="3MOV Rn,Rn":A$(34)="2MOV %>n,A":A$(82)="2MOV %>n,B" 650 A$(114)="3MOV %>n,Rn":A$(136)="4MOVD %>n,Rp":A$(168)="4MOVD %>n(B),Rp" 660 A$(152)="3MOVD Rp,Rp":A$(130)="2MOVP A,Pd":A$(146)="2MOVP B,Pd" 670 A$(162)="3MOVP %>n,Pd":A$(128)="2MOVP Pn,A":A$(145)="2MOVP Pn,B" 680 A$(108)="1MPY B,A":A$(28)="2MPY Rn,A":A$(60)="2MPY Rn,B" 690 A$(76)="3MPY Rn,Rn":A$(44)="2MPY %>n,A":A$(92)="2MPY %>n,B" 700 A$(124)="3MPY %>n,Rn":A$(0)="1NOP":A$(100)="1OR B,A" 710 A$(100)="1OR B,A":A$(20)="2OR Rn,A":A$(52)="2OR Rn,B" 720 A$(68)="3OR Rn,Rn":A$(36)="2OR %>n,A":A$(84)="2OR %>n,B" 730 A$(116)="3OR %>n,Rn":A$(132)="2ORP A,Pd":A$(148)="2ORP B,Pd" 740 A$(164)="3ORP %>n,Pd":A$(185)="1POP A":A$(201)="1POP B" 750 A$(217)="2POP Rd":A$(8)="1POP ST":A$(184)="1PUSH A" 760 A$(200)="1PUSH B":A$(216)="2PUSH Rn":A$(14)="1PUSH ST" 770 A$(11)="1RETI":A$(10)="1RETS":A$(190)="1RL A" 780 A$(206)="1RL B":A$(222)="2RL Rd":A$(191)="1RLC A" 790 A$(207)="1RLC B":A$(223)="2RLC Rn":A$(188)="1RR A" 800 A$(204)="1RR B":A$(220)="2RR Rd":A$(189)="1RRC A" 810 A$(205)="1RRC B":A$(221)="2RRC Rd":A$(107)="1SBB B,A" 820 A$(27)="2SBB Rn,A":A$(59)="2SBB Rn,B":A$(75)="3SBB Rn,Rn" 830 A$(43)="2SBB %>n,A":A$(91)="2SBB %>n,B":A$(123)="3SBB %>n,Rn" 840 A$(7)="1SETC":A$(139)="3STA @n":A$(171)="3STA @n(B)" 850 A$(155)="2STA *Rn":A$(9)="1STSP":A$(106)="1SUB B,A" 860 A$(26)="2SUB Rn,A":A$(58)="2SUB Rn,B":A$(74)="3SUB Rn,Rn" 870 A$(42)="2SUB %>n,A":A$(90)="2SUB %>n,B":A$(122)="3SUB %>n,Rn" 880 A$(183)="1SWAP A":A$(199)="1SWAP B":A$(215)="2SWAP Rn" 890 A$(232)="1TRAP 23":A$(233)="1TRAP 22":A$(234)="2TRAP 21" 900 A$(235)="2TRAP 20":A$(236)="1TRAP 19":A$(237)="1TRAP 18" 910 A$(238)="1TRAP 17":A$(239)="1TRAP 16":A$(240)="1TRAP 15" 920 A$(241)="1TRAP 14":A$(242)="1TRAP 13":A$(243)="1TRAP 12" 930 A$(244)="1TRAP 11":A$(245)="1TRAP 10":A$(246)="1TRAP 9" 940 A$(247)="2TRAP 8":A$(248)="1TRAP 7":A$(249)="1TRAP 6" 950 A$(250)="1TRAP 5":A$(251)="1TRAP 4":A$(252)="1TRAP 3" 960 A$(253)="1TRAP 2":A$(254)="1TRAP 1":A$(255)="1TRAP 0" 970 A$(176)="1TSTA":A$(193)="1TSTB":A$(182)="1XCHB A":A$(198)="1XCHB" 980 A$(214)="2XCHB Rn":A$(101)="1XOR B,A":A$(21)="2XOR Rn,A" 990 A$(53)="2XOR Rn,B":A$(69)="3XOR Rn,Rn":A$(37)="2XOR %>n,A" 1000 A$(85)="2XOR %>n,B":A$(117)="3XOR %>n,Rn":A$(133)="2XORP A,Pn" 1010 A$(149)="2XORP B,Pn":A$(165)="3XORP %>n,Pn" 1020 !-------------------------------------------------------------------------- 1030 OPEN #1,"101.DSM.FIL",OUTPUT 1040 OPEN #2,"45.",OUTPUT 1050 IMAGE #### >#### >## #################### ########################## 1060 INPUT "Start address: ";LO$ 1070 INPUT "End address: ";HI$ 1080 ! 1090 IF NUMERIC(LO$)THEN LO=VAL(LO$) ELSE CALL DEC((SEG$(LO$,2,LEN(LO$)-1)),LO) 1100 IF NUMERIC(HI$)THEN HI=VAL(HI$) ELSE CALL DEC((SEG$(HI$,2,LEN(HI$)-1)),HI) 1110 ! 1120 N=1 1130 FOR X=LO TO HI 1140 COM$="":JMP$="" 1150 CALL PEEK(X,B1,B2,B3,B4) 1160 ! 1170 CALL HEX((X),XADR$) 1180 CALL HEX((B1),OP$) 1190 ! 1200 IF A$(B1)=""THEN PRINT #1,USING 1050,N,XADR$,OP$,"INVALID OPCODE":GOTO 1640 1210 ! 1220 BYTES=VAL(SEG$(A$(B1),1,1)) 1230 ! 1240 IF OP$="83"OR OP$="93"OR OP$="A3"OR OP$="86"OR OP$="96"OR OP$="A6"THEN 1280 1250 IF OP$="87"OR OP$="97"OR OP$="A7"OR OP$="82"OR OP$="92"OR OP$="A2"THEN 1280 1260 IF OP$="80"OR OP$="91"OR OP$="84"OR OP$="94"OR OP$="A4"OR OP$="85"THEN 1280 1270 IF OP$="95"OR OP$="A5"THEN 1280 ELSE 1300 1280 CALL PFILE(P$(),(OP$),(BYTES),(B2),(B3),(B4),COM$) 1290 ! 1300 IF OP$="66"OR OP$="16"OR OP$="36"OR OP$="46"OR OP$="26"THEN 1370 1310 IF OP$="56"OR OP$="76"OR OP$="86"OR OP$="96"OR OP$="A6"THEN 1370 1320 IF OP$="67"OR OP$="17"OR OP$="37"OR OP$="47"OR OP$="27"THEN 1370 1330 IF OP$="57"OR OP$="77"OR OP$="87"OR OP$="97"OR OP$="A7"THEN 1370 1340 IF OP$="E0"OR OP$="E1"OR OP$="E2"OR OP$="E3"OR OP$="E4"THEN 1370 1350 IF OP$="E5"OR OP$="E6"OR OP$="E7"THEN 1370 ELSE 1400 1360 ! 1370 CALL JUMP((N),(BYTES),(B2),(B3),(B4),JMP$) 1380 IF COM$=""THEN COM$=JMP$:JMP$="" 1390 ! 1400 IF OP$="8E"THEN CALL SBR((B2),(B3),COM$) 1410 IF B1>231 AND B1<256 THEN CALL TRAP((B1),(B2),COM$) 1420 ! 1430 PRINT #1,USING 1050,N,XADR$,OP$,SEG$(A$(B1),2,LEN(A$(B1))-1),COM$ 1440 PRINT #2,USING 1050 ,N,XADR$,OP$,SEG$(A$(B1),2,LEN(A$(B1))-1),COM$:N=N+1 1450 IF BYTES=1 THEN 1640 ELSE X=X+1 1460 ! 1470 CALL HEX((X),XADR$) 1480 CALL HEX((B2),OP$) 1490 PRINT #1,USING 1050,N,XADR$,OP$,"",JMP$ 1500 PRINT #2,USING 1050,N,XADR$,OP$,"",JMP$:N=N+1 1510 IF BYTES=2 THEN 1640 ELSE X=X+1 1520 ! 1530 CALL HEX((X),XADR$) 1540 CALL HEX((B3),OP$) 1550 PRINT #1,USING 1050,N,XADR$,OP$ 1560 PRINT #2,USING 1050,N,XADR$,OP$:N=N+1 1570 IF BYTES=3 THEN 1640 ELSE X=X+1 1580 ! 1590 CALL HEX((X),XADR$) 1600 CALL HEX((B4),OP$) 1610 PRINT #1,USING 1050,N,XADR$,OP$ 1620 PRINT #2,USING 1050,N,XADR$,OP$:N=N+1 1630 ! 1640 IF EOF(1)THEN BREAK 1650 PRINT #1,"":PRINT #2,"" 1660 NEXT X 1670 !------------------------------------------------------------------------- 1680 SUB DEC(HX$,DEC) 1690 DATA A,B,C,D,E,F 1700 Y=LEN(HX$):G=0 1710 FOR X=1 TO Y 1720 X$(X)=SEG$(HX$,X,1) 1730 NEXT X 1740 FOR X=1 TO Y 1750 IF NOT NUMERIC(X$(X))THEN W(X)=ASC(X$(X))-55 ELSE W(X)=VAL(X$(X)) 1760 DEC=DEC+(W(X)*(16^(Y-X))) 1770 NEXT X 1780 SUBEND 1790 !------------------------------------------------------------------------- 1800 SUB HEX(Z,HX$)!Converts decimal entry to hex-Decimal entry passed by value 1810 DATA A,B,C,D,E,F 1820 HX$="" 1830 Z$=STR$(((Z/16)-INT(Z/16))*16):GOSUB 1890 1840 HX$=Z$&HX$ 1850 Z=INT(Z/16) 1860 IF Z>15 THEN 1830 ELSE Z$=STR$(Z):GOSUB 1890 1870 HX$=Z$&HX$ 1880 SUBEXIT 1890 RESTORE:FOR X=10 TO 15 1900 READ B$:IF X=VAL(Z$)THEN Z$=B$:RETURN 1910 NEXT X:RETURN 1920 SUBEND 1930 !------------------------------------------------------------------------- 1940 SUB PFILE(P$(),OP$,BYTES,B2,B3,B4,COM$) 1950 COM$="" 1960 ! 1970 IF BYTES=2 THEN COM$=P$(B2) 1980 IF BYTES=3 THEN COM$=P$(B3) 1990 IF BYTES=4 THEN COM$=P$(B3) 2000 IF COM$=""THEN COM$=P$(255):SUBEXIT 2010 SUBEND 2020 !------------------------------------------------------------------------- 2030 SUB JUMP(N,BYTES,B2,B3,B4,JMP$) 2040 IF BYTES=0 OR BYTES>4 THEN SUBEXIT 2050 IF BYTES=2 THEN JUMP=B2 2060 IF BYTES=3 THEN JUMP=B3 2070 IF BYTES=4 THEN JUMP=B4 2080 ! 2090 IF JUMP>128 THEN 2130 2100 N$=STR$(N+BYTES+JUMP) 2110 JMP$="; Ofst line # "&N$:SUBEXIT 2120 ! 2130 N$=STR$(N+BYTES-(256-JUMP)) 2140 JMP$="; Ofst line # "&N$ 2150 ! 2160 SUBEND 2170 !------------------------------------------------------------------------- 2180 SUB SBR(B2,B3,COM$) 2190 IF B2=240 AND B3=126 THEN COM$="CALL BATCHK":SUBEXIT 2200 IF B2=240 AND B3=132 THEN COM$="CALL CFI":SUBEXIT 2210 IF B2=240 AND B3=57 THEN COM$="CALL CLRARG":SUBEXIT 2220 IF B2=240 AND B3=42 THEN COM$="CALL CLRRES":SUBEXIT 2230 IF B2=240 AND B3=9 THEN COM$="CALL COPYFA":SUBEXIT 2240 IF B2=240 AND B3=102 THEN COM$="CALL COPYFM":SUBEXIT 2250 IF B2=240 AND B3=108 THEN COM$="CALL COPYFS":SUBEXIT 2260 IF B2=240 AND B3=105 THEN COM$="CALL COPYMF":SUBEXIT 2270 IF B2=240 AND B3=48 THEN COM$="CALL DIVZER":SUBEXIT 2280 IF B2=240 AND B3=24 THEN COM$="CALL FADD":SUBEXIT 2290 IF B2=240 AND B3=33 THEN COM$="CALL FDIV":SUBEXIT 2300 IF B2=240 AND B3=72 THEN COM$="CALL FINDLN":SUBEXIT 2310 IF B2=240 AND B3=21 THEN COM$="CALL FLTCMP":SUBEXIT 2320 IF B2=240 AND B3=30 THEN COM$="CALL FMUL":SUBEXIT 2330 IF B2=240 AND B3=27 THEN COM$="CALL FSUB":SUBEXIT 2340 IF B2=248 AND B3=75 THEN COM$="CALL IOS":SUBEXIT 2350 IF B2=240 AND B3=16 THEN COM$="CALL MOVDWN":SUBEXIT 2360 IF B2=240 AND B3=12 THEN COM$="CALL MOVUP":SUBEXIT 2370 IF B2=240 AND B3=39 THEN COM$="CALL NORMAL":SUBEXIT 2380 IF B2=240 AND B3=37 THEN COM$="CALL OFFCRS":SUBEXIT 2390 IF B2=240 AND B3=36 THEN COM$="CALL ONCRS":SUBEXIT 2400 IF B2=240 AND B3=51 THEN COM$="CALL OVFLOW":SUBEXIT 2410 IF B2=240 AND B3=54 THEN COM$="CALL POPARG":SUBEXIT 2420 IF B2=240 AND B3=120 THEN COM$="CALL PSHARG":SUBEXIT 2430 IF B2=240 AND B3=36 THEN COM$="CALL ROUND":SUBEXIT 2440 IF B2=240 AND B3=75 THEN COM$="CALL ROUND2":SUBEXIT 2450 IF B2=240 AND B3=60 THEN COM$="CALL STRCMP":SUBEXIT 2460 IF B2=240 AND B3=45 THEN COM$="CALL SWAPFA":SUBEXIT 2470 IF B2=240 AND B3=117 THEN COM$="CALL SWAPFM":SUBEXIT 2480 IF B2=240 AND B3=111 THEN COM$="CALL SWAPFS":SUBEXIT 2490 IF B2=240 AND B3=114 THEN COM$="CALL SWAPMM":SUBEXIT 2500 IF B2=240 AND B3=18 THEN COM$="CALL SYM":SUBEXIT 2510 IF B2=240 AND B3=18 THEN COM$="CALL SYM":SUBEXIT 2520 ! 2530 SUBEND 2540 !------------------------------------------------------------------------- 2550 SUB TRAP(B1,B2,COM$) 2560 IF B1=255 THEN COM$="Power up,Reset":SUBEXIT! tRAP 0 2570 IF B1=254 THEN COM$="INT1,Lo Battery":SUBEXIT!TRAP 1 2580 IF B1=253 THEN COM$="Cntr/Timer INT (soft trap)":SUBEXIT! TRAP 2 2590 IF B1=252 THEN COM$="INT3 (Keyboard)":SUBEXIT! TRAP 3 2600 IF B1=251 THEN COM$="BASIC pg trap (>DFFB)":SUBEXIT! TRAP 4 2610 IF B1=250 THEN COM$="BASIC pg(>DFF8)":SUBEXIT! TRAP 5 2620 IF B1=249 THEN COM$="BASIC pg(>DFF5)":SUBEXIT! TRAP 6 2630 IF B1=248 THEN COM$="BASIC pg(>DFF2)":SUBEXIT! TRAP 7 2640 IF B1=247 THEN COM$="ERROR Handler":SUBEXIT! TRAP 8 2650 IF B1=246 THEN COM$="BASIC pg(>DFEF)":SUBEXIT! TRAP 9 2660 IF B1=245 THEN COM$="BASIC pg(>DFEC)":SUBEXIT! TRAP 10 2670 IF B1=244 THEN COM$="A.L. bkpts":SUBEXIT! TRAP 11 2680 IF B1=243 THEN COM$="FP add":SUBEXIT! TRAP 12 2690 IF B1=242 THEN COM$="Not Used by TI74":SUBEXIT! TRAP 13 2700 IF B1=241 THEN COM$="BASIC pg (>DFE9)":SUBEXIT! TRAP 14 2710 IF B1=240 THEN COM$="Load FP arg":SUBEXIT! TRAP 15 2720 IF B1=239 THEN COM$="Clear FP Stack":SUBEXIT! TRAP 16 2730 IF B1=238 THEN COM$="BASIC pg (>DFE6)":SUBEXIT! TRAP 17 2740 IF B1=237 THEN COM$="Next BASIC pgm byte":SUBEXIT! TRAP 18 2750 IF B1=236 THEN COM$="BASIC pg1 (DFE3)":SUBEXIT! TRAP 19 2760 IF B1=235 THEN 2820! CALPAG TRAP 20 2770 IF B1=234 THEN COM$="BRPAG":SUBEXIT! TRAP 21 2780 IF B1=233 THEN COM$="FPPUSH":SUBEXIT! TRAP 22 2790 IF B1=232 THEN COM$="FPPOP":SUBEXIT! TRAP 23 2800 ! 2810 ! 2820 IF B2=0 THEN COM$="CALL WRTIND":SUBEXIT! TRAP 20 2830 IF B2=2 THEN COM$="CALL LINEIN":SUBEXIT 2840 IF B2=4 THEN COM$="CALL KEYIN":SUBEXIT 2850 IF B2=7 THEN COM$="CALL CRUNCH":SUBEXIT 2860 IF B2=8 THEN COM$="CALL CSN":SUBEXIT 2870 IF B2=9 THEN COM$="CALL PGEDIT":SUBEXIT 2880 IF B2=10 THEN COM$="CALL DSPBUF":SUBEXIT 2890 IF B2=11 THEN COM$="CALL CLRINP":SUBEXIT 2900 IF B2=14 THEN COM$="CALL UNCRS":SUBEXIT 2910 IF B2=16 THEN COM$="CALL NEWPRO":SUBEXIT 2920 IF B2=19 THEN COM$="CALL KSTAT":SUBEXIT 2930 IF B2=20 THEN COM$="CALL CSI":SUBEXIT 2940 IF B2=21 THEN COM$="CALL UNCRUNCH":SUBEXIT 2950 IF B2=23 THEN COM$="CALL CLRDSP":SUBEXIT 2960 IF B2=24 THEN COM$="CALL ONCRS":SUBEXIT 2970 IF B2=25 THEN COM$="CALL OFFCRS":SUBEXIT 2980 IF B2=26 THEN COM$="CALL SETCRS":SUBEXIT 2990 IF B2=27 THEN COM$="CALL TYPE":SUBEXIT 3000 IF B2=28 THEN COM$="CALL BUFIN":SUBEXIT 3010 IF B2=31 THEN COM$="CALL CHKBRK":SUBEXIT 3020 IF B2=32 THEN COM$="CALL DSPINT":SUBEXIT 3030 IF B2=64 THEN COM$="CALL MDISP":SUBEXIT 3040 IF B2=65 THEN COM$="CALL MNEW":SUBEXIT 3050 IF B2=70 THEN COM$="CALL SKIPF":SUBEXIT 3060 IF B2=74 THEN COM$="CALL STGNEW":SUBEXIT 3070 IF B2=75 THEN COM$="CALL STGDSP":SUBEXIT 3080 IF B2=76 THEN COM$="CALL STGCLR":SUBEXIT 3090 IF B2=77 THEN COM$="CALL CIF":SUBEXIT 3100 IF B2=78 THEN COM$="CALL CIS":SUBEXIT 3110 IF B2=79 THEN COM$="CALL STGCL2":SUBEXIT 3120 IF B2=80 THEN COM$="CALL BRKPT":SUBEXIT 3130 IF B2=81 THEN COM$="CALL PARSE":SUBEXIT 3140 IF B2=82 THEN COM$="CALL GETNMBR":SUBEXIT 3150 IF B2=85 THEN COM$="CALL GETSTGR":SUBEXIT 3160 IF B2=86 THEN COM$="CALL SMB":SUBEXIT 3170 IF B2=87 THEN COM$="CALL ASSIGN":SUBEXIT 3180 IF B2=88 THEN COM$="CALL GETADR":SUBEXIT 3190 IF B2=89 THEN COM$="CALL GRINT":SUBEXIT 3200 IF B2=90 THEN COM$="CALL CRTLST":SUBEXIT 3210 IF B2=95 THEN COM$="CALL SIN":SUBEXIT 3220 IF B2=96 THEN COM$="CALL COS":SUBEXIT 3230 IF B2=97 THEN COM$="CALL TAN":SUBEXIT 3240 IF B2=98 THEN COM$="CALL ATAN":SUBEXIT 3250 IF B2=99 THEN COM$="CALL ASIN":SUBEXIT 3260 IF B2=100 THEN COM$="CALL ACOS":SUBEXIT 3270 IF B2=101 THEN COM$="CALL SQR":SUBEXIT 3280 IF B2=102 THEN COM$="CALL EXP":SUBEXIT 3290 IF B2=103 THEN COM$="CALL LN":SUBEXIT 3300 IF B2=104 THEN COM$="CALL LOG":SUBEXIT 3310 IF B2=106 THEN COM$="CALL CFILNG":SUBEXIT 3320 IF B2=108 THEN COM$="CALL ASINH":SUBEXIT 3330 IF B2=108 THEN COM$="CALL ASINH":SUBEXIT 3340 IF B2=109 THEN COM$="CALL ACOSH":SUBEXIT 3350 IF B2=110 THEN COM$="CALL ATANH":SUBEXIT 3360 IF B2=111 THEN COM$="CALL SINH":SUBEXIT 3370 IF B2=112 THEN COM$="CALL COSH":SUBEXIT 3380 IF B2=113 THEN COM$="CALL TANH":SUBEXIT 3390 IF B2=138 THEN COM$="CALL CLSALL":SUBEXIT 3400 IF B2=141 THEN COM$="CALL FRE":SUBEXIT 3410 IF B2=143 THEN COM$="CALL OPEN":SUBEXIT 3420 IF B2=147 THEN COM$="CALL CLSTMP":SUBEXIT 3430 IF B2=150 THEN COM$="CALL CNS":SUBEXIT 3440 IF B2=151 THEN COM$="CALL STKCLS":SUBEXIT 3450 IF B2=198 THEN COM$="CALL RSTRND":SUBEXIT 3460 IF B2=200 THEN COM$="CALL RND":SUBEXIT 3470 IF B2=201 THEN COM$="CALL RNDBYT":SUBEXIT 3480 ! TRAP 21 3490 SUBEND