-------------------------------------- 8008 MACRO ASSE1',BL,ER, VLR 2.2 iNTiLLEC 8/MOD 8 MONITUR, VERSION 3.0, 14 APRIL, 19/5 ERRORS · 0 PACE i 0 INTELLEC B/MOD 8 MONITOR Q 0 Q P FAST PKUM PRQGRAMKING ALGORITHM ADDEX, Cl JUN 1974 V } ; COPYRIGHT (C) 1975 ; INTXX CURP(jRATIXX ; 3065 BOWERS AVEI.UE P SANTA CLARA, CALIFORNIA 95051 V ; ; ; ::· 0 P j P Q ; ; x P ; ; i ; i ; 0 P ; i ; I P ::· X· Q ; i ::= B, i P ::· C Q i i ::· D, ; i ::3 E ; ; ::= F,, / 0 ::· G Q ; ; ::· ti, P Q i ::· L, i i ::= M<.\'UMBEX>,, ; ; ::= N i ; ::· C,, MC$.x67-0x75,'350 98-x228 PAGE END -------------------------------------- voB KACR0 ASSEMBLER, \1ER 2.2 1NTELL,EC 8/HOD 8 XQNITOK, VERSION 3.X, 14 APRIL 19/3 ERRORS · Q PAGE 2 0 r ; ::· R ; } ::= S 0 0 ; ::= T ; ; ::· N'NXXXXX>, / 1 ::· cUKsoLE:RuDER}LIsT!xUtick i : ::" cRT;7TY!eTR!pTp:BArcK!l:2 ; i ::= : ; ; ::· 0|1!2|3!4!5|6:7:8:9|A:B}C:D!E!f 0 . . . . .. . . . . . . t } SYSTER SiGh'S QN kITK
  • <,> ; I) E VEk EQU 30 : VEESIQN 3,(1 XXX'LE ' INTIL.LE? 8/!°)01 a µ,0NITOR, VER$I0K 3.0, 14 APRIL 1975' 0 P ; CC/NCITICKAL ASSEMBLY : 0( . ) P'ALS£ E'QU 0 fFFF TRUE EQL' XxX F'ALSL Oquq DEBUG EQU FALSii ; XXXXX MODE - 1 6',GDIFI CERTXXX CODE SECTIONS ; sci THAT TXX RON VERSION 2,0 ; MOhI1(jR MAI CE Assembled Elf ; MAC80 AND DEOUGGED SY THE 8x80 ; VERSIQK 1.0 XXXXXXX P P I IF DEBUG x BIAS EQU 0 ENDIF' } 1 IF HOT DEDUG QC I BIAS EQX a j ASSIGK PRXX'ER N'jKXXXX VALUES TO I 1 0UT?UX PORTS IOR Trli 8UQB EHDlf : I/O DEVICE O'JTPJ'T COMMAND PORT 1 (TIC) BIT VALUES ; I BIT REST .4hE¥OXxX DESCRIPTION ; ; Q Q RBIT TTI XXXXXX GCI/NC1 GO ; 0 1 X PCKD PTP Go/no GO V 0 2 G E'CKD PTR G(J/N0 GO I } 3 1 DSB PROM ENAELE/D1$ABL£, DSBM PAGE END -------------------------------------- BOOB MACRX ASSEMBLER, VER 2.2 INTELLEC 81MUD 8 MONITOR, VERSION 3.0, 14 APRIL 1975 ERRORS · Q PAGE 3 P 4 x DATA IN XXX f : 5 0 DATX OUT TIC ; 1702 PROM PROG. GQ/NO XX 6 0 PBIT : liQ2A PROM PRQG. GO/NQ GO 7 0 PBITA J J 1/0 DEVICE INPUT STATUS PORT 1 (TTS) Bjr VALUES J 0 BIT REST MNEMONIC DXXXXXXXXXX P J J 0 I TXXXX IF TTYDA · D, INPUT IS READY ; X I OVERRUN ERPOR ; 2 0 TTYXX XX" TTYBE · 0, OUTPUT IS READY ; 3 I FRAMING ERROR J x X PAXXXX ERROR J S 0 PTRDA IF PTRDA · I, PTR HAS CXXX J 6 I PROV IF PROV · I, PTP IS READY 7 UNASSIGNED 7 ; ; I/O DEVICE XXXXX STATUS PORT 5 (CRTS) BIT VALUES ; } BJT REST MNEMONIC DESCRIPTION J g 0 1 CRTDA IF CRTDA · 0, INPUT IS READY P J I 1 OVEXXXX ERROR J 2 0 CRTBE IX CRTBE · U, UUTPUT IS READY J 3 I FRAMING LRROR J 4 I PARITY ERRXX ; 5 UNASSIGNED J 6 UNASSIGNED J 7 UNASSGIGNED g * ; J/O COMMAND CONSTANTS : 0001 RBIT EQU I 0002 PCMD EQU 2 0004 RCMD EQU 4 0008 XXX EQU 0 008x PBJXX EQU BOX J : : TTY 1/0 CONSTANTS J 0000 TT1 EQU 0 J TTY INPUT DATA PORT 0008 TTO XXX BIAS+0 J TTY OUTPUT DATA PORT 0001 XXX XXX I J TTY INPUT STANS PORT 0009 TTC EQU BIAS+1 J TTY OUXXXX CQMKAND PORT 0009 TTYGQ EQU RBIT OR DSB ; START TTI READER 0008 XXXXX EQU DSB 7 SXXX TTY READ£R 0001 TTYDA EQU I 7 DATA AVAILABLE 0004 TTYBE EQU 4 x TRANSMIT BUFFER EMPTY J PAGE END -------------------------------------- 008 MACRO ASS1MBL,ER, VER x.2 INTELLEC BIMOD 8 P,ONXTC1R, VXRSION 3.0, 14 APRIX, 1975 ERRORS · Q PAGE 4 ; CRT I/D CONSTANTS 0 P 00x4 CRT1 EQU 1 7 CRT INPUT DATA PORT 0005 CRTS XQU 5 ; cm INPUT STATUS PORT QXQC CRTD EQU BIAS+4 7 CRT OUTPUT DATA PORT 0001 CXTDA EQX 1 7 DATA AVA1LABL,L 0004 CRTXE EQU 4 ; TRANSMIT BUfFER EMPTY P P 7 PTR I/U CONXTANTS ; 0x03 PTRI EQU 3 $ PTR INPUT DATA PORT (NOT INVERTED) 0UOl PTRS EQU TTS 7 PTR INPUT STATUS PORT 000x PTRC EQU TTC : PTR OUTPUT COMt'lAND PORT x00C PTRGO LQU RC1'xD OR DSB ; START PTR 0008 PTRNO EQU TTYN0$ STOP PTR 0020 PTRUA EQU 20H $ PTR DATA AVAILABLE t j XXP I/O CXXSTANTS $ 00013 PTPO EQU BIAS+3 7 PTP OUTPXT DATA PORT 0001 PTPS EQU TTS ; PTP INPUT STXTUS PORT 0009 PTPC EQU TTC $ PTP OUTPUT COMMAND PORT 0040 PROV EQU 40H I PUNCH READY SXATUS QQQA PTPGU EQU PCHX OR DSB ! START PUNCH 0008 PTPNO EQU TTYNO$ STOP PUNCH J J PXOM PXOGRAMMER I/O CONSTANTS 7 000A PAD EQU BIAS+2; PROM ADDRESS OUTPUT PORT QQXB PDU EQU PTPO } PROM DATA OUTPUX PORT 0002 POI EQU 2 7 PROM DATA INPUT PORT 0009 PRDMC EQIJ T'rc $ PROGRAMMXKG PJLSE OUTPUT PORT 0X80 PRUGO EQU PBITA b STXRT PROGRAMMING 0000 PRONO EXU 0 J STOP PROGRAMMING 0000 ENB EQU 0 $ J GLOBAL CONSTANTS I 00FA TOUT EQU 250 J 250 AS. COUNTXR FOR READER TIMEXUT "0014 LDLY EQU 20 t CQUNTER FOX 20 MS. DELAY I IF DEBUG 1 DLY EQU Ill j 1 KS. DELAY FOR 8QBQ DEBUX ENDXF 1 IF NOT DEBUG 0017 1 DLY EQU 23 J COUNTER FOR 1 MS. DELAY ENDIF 0001) CR EQU OOH J ASCII VXLUE OF CARRIAGE RETURN QQOX LF EXU QAH X ASCII VALUE Of LINE XEED J J MACRO DEFINITIONS J PAGE END -------------------------------------- 8008 MACRO ASSEMBLER, VER 2.2 INTELLEC 8/MOD 8 MONITOR, VERSION x,0, 14 APRIL 19x5 ERRJJRS · 0 PAGE x FIRSX SET TRXX FFFX I KODIO MACRO TA8LE,MASK L,X1 D,TABLE ; AXXXXXX OF PHYSICXX UNIT TABLE 1 KVI C,MASK ] C · SELECT BIT MASK 1 If FIRST } EKIT THXX CODE ONCX, 2 } BRANCH TO IT THEREAFTER 2 2 IOHOO:: 2 FIRST SET FALSE 2 CALL XXXXX i SCAN IXXXX AND EXXX UNTIL ; PHYSICAL DEVICE CHAX XX ENCOUNTERED 2 2 XXX B,4 i SET TABLE LEHGTH 2 HOV H,D 2 HOV L,E CALL TEST i COMPARE PHYSICAL DEVICE AGAINST 2 2 FALL INCHL 2 HOV E,K i TXXXX, RETURN HL -> BIT PATTERN 2 XXXXXXxX 2 CXXX TI 2 CPI CR 2 JNZ SCANOUT : SCAN XXXX CR 2 LXJ H,I0BYT 1 GET 1/0 STATUS 2 M0\/ A,!( 2 ANA C ; CLEAR FIELD 2 ORA E i SET NEW STATUS 2 HXX M,A ; RETURh TO lxEMQRY x jµjx START 2 TES7N i INDEX THROUGH PHYSICAL UNIT TABLE 2 CMP K i compare device char u:ri legax values 2 RZ i RETURN KITH HI, -> DEXXXX SELECT BITS 2 CALL INCHL 2 CALL INCHL 2 OCR B 2 JNZ TEST i CONTXXXX LOOKUP 2 JMP LEX i ERROR RETURN I ENDIF 2 JF' NXX FIRXX 2 JXX IOH00 1 ENDIF ENDM 0 I i 1/0 STATUS BYTE KASKS AND VALUES 0 I 00FC CHSK EQU lllll1x0v i XASK XXX CONSXXX 1/0 00F3 RMSK EQU liliO(/llB i MASK FXX READER INPUT QOCF PMSK EXX ilOOllllB ; RUSK FOR PUNCH OUTPUT 0Q3F LMSK EQU 00llilllB i XASK FJJR LIST OUTPUT i 0000 CTTY EQU 000000008 ' i CONSOLX 1/0 · TTY 0001 CCRT EQU 00000001B i CONSOLE x/0 · CRT 0002 BATCH EQU 00000010B i BATCH HODE, 1 INPUT · READER, OUTPUT · LIST PAGE END -------------------------------------- BOOB MACRO ASSEMBLER, VER 2.2 INTELLEC x/MXX 8 MQNITUR, VERSION 3,x, 14 APRIL, 19x$ EXXXXX · 0 PAGE 6 0003 CUSE EQU 00000Xxx!3 ; USER DEFXXXX COXXXXX 1/0 0U00 RTIY EQU UQC0QOQCB ; READER · TTY 0004 RPIR EQU (jQ000i0CB ; READER · PTR 00(JB RUS£1 EQU oQ0010ooa 7 UXXX D£fll0ZD RXXXXX (I) UO'JC RUSL2 equ 0U00iiocEs ; USER DEI1N£D READER (2) x000 PTIY eqxj oUxQUUoeb ; PUNCd " IFY 0010 PPlP EQU ,000100000 ; PUNCH · PTP 002U PUS£1 EQU Q01000OUQ 7 USER DEFINED PUNXX (I) 0030 PUSEx EQU QOilOUUCB ; USER DEFINED PUNCH (2) 0xO0 LTIY EQU OOU00C00B J LIST · TTY 0040 LCRT EQU XxXXxxxxX ; LIST · CRT 0080 L,USE1EQU lCw000008 ; LIST · LPT 00XX LUS£2 EQU 1100000CB ; USER DEFINED LIST P r ; USER DEFINED DEVICE ENTRY POINTS P P 3700 CILUC EQU 370QH ; USER CONSOLE INPXX 3703 CULOC FQU 1703H i USER CCNSQLL UUTPUT 3706 RILOC EQU 37UbH : USER READER 1 3709 R2LQC EQIx J1U9d } USER READER 2 37QC PxL(JCEQU 310Crl j USER PLRtCd I 37XX P2LOC XXxXx 2 EQU 310FH ; USER 3712 LIXXX EQU 311ZH ; USER LIST I 3715 XxXXxXEQU 3715H j USER LIST 2 3x18 CSLUC EQU 311Ui ; USER C0:1SULE SfATUS i i POlhTXXX TO RAH ; 1 If NOT DEBUG 0003 I ORG 3 } LOCATION Of RAM STORAGE AREA ENDIF i I IF DEBUG 1 ORG 100X ENDIF } 0003 I(JBY1N 00Ul OS I 7 1/0 STATUS BYTE 0004 dPRLMEN 0002 OS 2 7 TEMP FOR HL 00J6 CBRCFR UQx2 OS 2 7 CASE BRANXX LOCATION 0008 ADRR 0002 OX 2 7 FIRSX PAXXXXXXX 000X XXXx: AXXx: XX 0002 2 x SECXXX PARAMETER 000C ADK3: x002 OS 2 x THIRD PARAMEXXX 7 I IF DEBUG 1 ORG 800H ; LOCATE IN RAH FOR DEBUG PAGE END -------------------------------------- 800x MACRO ASXXXXXXX, VER 2.2 INTEXXXX 8/PJOD 13 MUNITOR, U"RSIC1N 3.0, 1x APRIL, x975 ERRORS · Q PAGE / ENDJF J I If NOT DEBUG 3800 I ORG 380UH J LOCATE IN TOP 8 ROMS IN 16K ENDIF ' I ; BRANCH TABLE FOR J/Cl SYSTEX ; 3800 442x38 JMP BEGIN ; RESET ENTRY POINT 3BQ3 44963C JME' CI ; CUNSOLE INPUT 3806 44DB3E JMP R! 7 READER INPUT 3809 44523C JMP CU : CONSOLE OUTPUT 38QC 44B53X JMP PO ; PU!\iCX OUTPUT x8QX 442C3E JMP LO ; LIST OUTPUT 381? 44bbjC JKP CS'FS ; XXXXXXX INPUT SFATUS x815 44F43D JKP IOCHK ; I/X SYSTEM STATUS 3818 44FAJL) JMP ZUSET ; SET I/C1 CONFIGURATXXX 3818 4443xE JMP MEMXX J' COMPUTE SIZE UF MEMORY ; J IhjTIAL CONDITIONS FOR J/U SYXXXX b 0000 JhlT EQU 0; XXX'1'IALL,Y, ; CONSOLE · TTY, ; READER · TTY, ; PUNCX · TTY, ; LIST · TTY ; 381E 0DQA3830 VERS: DB CR,L,F,'8008 V' 3822 30382056 1 IF NOT DEBUG 38x6 i 332E30 DB VEX/1Q+'O','.',VER MOD 10+'0' XXXXX ; I IF DEBUG I DB 'X.X' ENDIF 0009 LXXX EQU $-VERS $ ; PROGRAM ENXXX POINT ; b LOCATE THE STACK IN THE TOP OF AVAILABLE RAM ; 3829 BEXXX: 3829 36032E00 LXJ H,I0BYT 7 POINT KL, AT IXXXX 382d 3e00 mvi m,init ; ixitial value of 1/0 ; ; TYPE SIGN-ON ; 382F 361XxXxX LXI H,VERS : ADDRXXX OF MESSAGE 3833 160BMVI X,L,VER ; LENGTH OF XXXXXXX 3835 VER08 PAGE END -------------------------------------- XXXX ¥,ACR0 ASSE%LER, YER 2.2 INTELXXX Q/MOD g KUNI1'0P., VERSIUN 3.0, L4 APRIL 1975 ERROXX · D PAGE B 3835 CF MQV B,M 3BJ6 4bF03D CALL INCHL x839 DL) ldOV D,h 383a Eb muv in 38313 4b523C CALL, CO SU3£ Ex PjC/X F1,D 383F F4 MC'J L,X 18¢0 Jl OCR C 3841 483538 JNZ VERU ; : MAIX COPNANO L(JGP. } ; TdlS LOGP IS XXX STARTING POXXX CjI ALL CIXX!4AND SEQUENCEX. ; IN THIS CXXXX ALL 1/0 IEVICE'S ARE !tvITlAL!Ziij, A CAki?IAGE ; RiTURM ANI LINE FEED APE TiPElj, ALAJ?1G KITH THE XXXXXX ; CHAR&CIFR, '.', hHEN A CHAXXXXXX IS ENTU.ED FRUM TXX ; CONSOLE KEYBOKRD, IT iX XXXXXXX FuR QKLIDI'xx', Then A ; BRANCH TO IHE PHJXXX PR°JCL'5SLNG RC'UTIKE IS CCYPUTE1). ; 3ti44 ST,ART: 3844 0608 M\/I A,TTYNQ ; RESET TXX,PTR,PXX 1846 53 OUT TTC / RESEI READER 3847 4KC3C CALL CRLF : TYPE , 3c4a UUE MVI B,'.° 9V4C 4d523C CALL, CO } OUTPUT ;j PERICJJ 384F 4b493F CALL, TI } Gil A CHARACTLR 3852 1441 SUI 'A' ; XXXX FOR A-ni 3854 "1·j4438 JPl START ; Li' A, ERROR 3d57 3Cl7 CPI 'X'-'A'tl 3859 504d3C JP LER ; GT m ERRCN. 385C ¥0 ADD A ) *2 3b:)D 367x2i3x 1jXi H,TE3L : ADDRESS OF TABLE 38bx SbADD L ; ADD BIAS 3862. FO XOV L,A 3xb3 E7 ROY E,N1 ; GET ADDRESS IN D,E 3¥U 30 INR L 3865 OF MOV D,H 38Eb GU: 3866 3$062£0'J LXI H,CBRCH ) AXXXXX OF jy.p INSTRUCTION 38t>A 3E44XXX M,(JMP 0) i STUFF CtPCCi'i 386C 3U INR L 386D FC HOV !'4,E ; STUFF 8 [.SB 3U6E 3ct INK L :986F FB HOY MD ; SXXXX B MSB 38/0 1602 MVA cm ; SET UP C FOR IbO PARA6',ETER CJXMANDS 3812 440600 JMP CBRCH ; GO DO IT P f ; C0.4,xAN[i BRANCH TAUE. ; ; THIS TABLE CONTAINS THE ADDRESSES OF TEE EKTRY POINTS OF ; ALL THE COHMANI) PROXXXXXXX RQUXxXXX. h'OTt. THKT A:d ENTRY TO 'LER' PAGE END -------------------------------------- BOOB MACRO ASSEMBLEX, VER 2.2 INT£L,L,XX 8/XXX X MONITOR, VERSION 3,0, 14 APRIL. 1975 XXXXXX · 0 PXXX 9 7 IS AN ERROR CONDITIXX, I.X., NO COMMAND CORRESPONDING TX THAT i CHARXXXXX EXISTS. } 38x5 TBL,: 3875 AJ38 D'n ASSIGN ; A - ASSIGN I/O UNITS 3877 0E39 Old tlNPF' : B - PUNXX BNPF" 3879 6739 Dfd CORP ; C " CUMPARE PROM NITF1 MEJ',0RY 3B7B AC39 DW XXXX ; D - DISPLAY RAbj KEMORY 387D D739 On ECIF : X " ENDFJLE A HEXADECIMAL FILE 387f 033A DW f ILL } F " F'IL,L MEMORY 38BJ 163A Xxx GOTO ; G - GO TO MXXXXX ADDRESS 388x !D3A DH HEXN J H - HEXADECIMAL SUM AND DIFFERENCE 3885 4B3C Dix LER J I " x88x 4B3C DW LER ; J " 3889 4ti3C DW L,ER 6 K " Jb8b 483A Din LOAD $ L " LOAD BNXX TAPE 388D 623A Xxx MOVE 1 )q - MOVE MEMORY 388F 8E3A Din NUXX 7 N - PUNCH NUL,LS FOR LEADER 3891 483C Dxd LER ; Cl " 3893 943A DW PROG 1 P - PROGRAM A 1702A PROM JB95 483C Xxx LER 1 Q - x897 Ft93A Ln READ J H - KLKD HEXADECIMAL FILE 38x9 6A3B Din SUBS 1 S - SUXXXXXXXX MEMORY 3898 B93B Dw TRAN 7 T - TRAXXXXX A PROM TU MEMORY 389D 483C Ow L£F1 J U " 3b9f 483C DtN LER X V " 38Al DA3B Did WRITE J h - WRITE HEX TAPE ; j PROCESS I/O DEVICE ASSIGNXXXX COMMANDS. : ; THIS ROUTINE MAPS SYtXxXXXX DEVICE IDEXXXXXXXX TO BIXX ; IN THE I/O SXXXXX BYTE (ICxbYT) TO ALLOW XXX CXXXXXX i MODIFICATION OF SYSTEM 1/0 CONFIGURATION. $ 38A3 ASSIGIU 38A3 46493F CALL TI 1 GET LOGICAL DEVICE CXXXXXXXX 38a6 3C43 CPI 'C' 7 CONSOL£? 38A8 QBE438 JNZ ASO 1 TEST FOR READER I+ KQDI(j 1CT,CMSK 7 MODIFY CONXXXX XXXXCE 38AB I 26541E3F+ L,X1 D,ICT j ADDRESS OF PHYSIXXX UNIT TABLE 3BAF I lbFC + MVI C,CMSK J C · SELECT Blr MASK x + IF FIRST 1 EMIT THIS CODE ONCX, 2 + J' BRAXXX TO IT THEREAFTER 38Bl 2 ·IO!'1ODU 0x00 2 +FIRST XXX FALSE 38Bl 2 46bAjE + CALL NOISE J SXXX INPXX AND ECHO UNTIL 2 t i XXXXXXXX DEVICL CHAR IS ENCOUNTERED 3884 2 OE04 + MVI B,4 i SET TABLE LENGTH 3886 2 EB + XXX H,1) J8B7 2 F4 + HOV L,E 38x8 2 460238 + CALL TEST J COMPARE XXXXXXXX DEVICE AGAXXXX PAGE END -------------------------------------- 8008 XACi'.0 ASSEMBLER, VER 2,2 INTELLZC 8/.400 8 MONITOR, VERSION 3,0, 14 APRIL, 1975 ERRORS · 0 PAGE 10 38x98 2 46IQJD t CALL INCKL 38bE 2 E7 t MO\/ E,M j TAbLt, RETURN HL -> BIT PATTERN 38EIF 2tSCANQXX: 38BF 2 46493F t Ci\L,L TI 38C2 2 3COD t CPI CH 38C4 2 48ixf38 t JNZ SCANCUT J XXXX PAST CR 38C7 2 36032E00t LXI H,ICBYT J GET 1/0 STATUS 38ce1 2 C7 t MCV A,M ' 38CC 2 A2 + ANA C } CLEAR FIELD 3CCX x b4 + ORA £ } SET NEW STATUS 38CE 2 F8 + MQV M,A } RET'jRiv TO KER!0XX 3EICF 2 444438 + JMP START 3EID2 2+TESTU X INDEX THROUGH FHYSIXXX UXXX TABLE 38D2 2 13F + CMP M J CC.YPXXX DEVICE CHAR vvITri LEGAL VALUES 39D3 2 20 + RZ ; REXXXX KITH HL, -> DE'v'XXX SELECT BITS 3LsD4 2 46FQ3D + CALL INCHL 3807 2 ¢6XxxX + CALL INCHL 38DA 2 09 + OCR B 3xDB 2 480238 + JNZ TEST J CONTINUE LOOKUP 3dDE 2 U483C + JXP LER J ERROR RETURN 1 + ENDIF" 2 + IF NOT FIRST J8U 2 44x138 t JMP IOKCD 1 t ENDIF 38E4 ASQ3 38E4 3?52 CPI 'R' ) READER? 38E0 48F238 JNZ ASl ) 1£ST FCH PUNCH 1 t KODIQ IRT,RMSK ) MODJFI REALER DEXXXX 3xxE9 1 265Cj£3ft [.XI D,1RT J ADb'RESS CI PHYoICAL UNIT TABLE 38ED 1 1OF'3 t M\/I C,RMSK ) C · SELECT BIT MASK 2 + If FIRST ) EMIT THIS COJE OhCE, 2 + j BRANCH TO IT XXXXXXXXXX 2 +I0XXXX 2 +FIRST SET FALSE 2 + CALL, NOISE J SCAN INPUT AND ICH0 UNTIL 2 + } PHYSICXX DXXXXX CHAR IS ENCOUNTERED 2 + !'1Vl B,4 } su TAE1L,L LENGTH 2 + MOV H,D 2 + MUV L,E 2 + CALL TEST } CXXXXXX PHXXXXXX DEVICE XXXXXXX 2 + CALL IKHL 2 + MOV £,!'( } TXXXX, KETURN HI. -> Bix PATTERN 2 +SCANQUIN 2 + 7ALL TI 2 + CPI CR 2 t JNZ SCANOUT ) SCAN PAST CX 2 t LXI K,I0BYT ; GET I/Cl STATUS 2 + MOV X,K 2 + ANA C ) CLXXX FIEXX 2 + ORA £ J SET NEd STATUS 2 + HOV M,A j RETURN TO KiMORY PAGE END -------------------------------------- 8008 MACRO ASSEMBLER, VXX 2.2 IHTELLEC U/KOD 8 MONITQH, VERSION 3.0, 14 APRIL 1975 ERRORS · 0 PXXX 11 2 t JMP START 2 +TESIX J INDEX THROUGH PHYSICAL UNIT TABLE 2 + C.4P M j C(JKPARE DEVICE CHAR WITH LEGAL, VALUXX 2 + RZ J RETXXX WITH HI, -> DEVICE SELECT BITS 2 + CALL INCHL 2 + CALL INCHL 2 + OCR X 2 + JNZ TEST J XXXXXXXX LUOKUX 2 + JMP LER J ERROR RETURN I + ENDIF 2 t IF NOT FIRST 38EF 2 448x38 + jjqp ICMOD I + ENOIX 38F2 ASi: 38F2 3C50 " CPI ·P· 7 PUNCH? 3BF4 480039JNZ AS2 J TEST FOR LIST I + MODICI 0PT,PXXX J MODIFY PUNXX UEVICE 3Uf7 1 26641EjF+ LXX X,0PT J ADDR£SS OF PHYSICAL, XXXX TABLE J8FB j x6CF + MVI X,pmsk J C · SELECT XXX MASK 2 + IF FXXXX J EMIT THIS CODE ONCE, 2 + J BRANCH TU IT 1'HEREAFTER 2 +jOMOO:: 2 +11RST SET FALSE 2 + CALL NOISE ; SCAN INPUT AND ECHO UNXXX 2 + J PHYSICAL, DEVICL CHAR IS ENCOUfvTERXX 2 + MVl 8,4 $ SET TABLE LENGTH 2 + HOV H,0 2 + NOV LmE 2 + CALL TESF X COMPARE PHYSICAX DEVICE AGXXXXX 2 + CALL, JNCKL 2 + MOX E,M X TABLE, RETURN HL -> BIT PATTERN 2 +SCANO1jH 2 + CALX, TI 2 + CPI CR 2 + JNZ S¢AMjUT 3 SCAN PAST CR 2 + LXl H,I0XXX J XXX J/O STATUS ,i! + MOV A,K 2 + ANA C 3 CLEAR FIELD 2 + ORA E x SEI NEIN XXXXXX 2 + NOV M,A J RETURN TO MEXXXX 2 + JKP START 2 +TESTi i JNOEX THROUGH PHYSICAL UXXX TABLE 2 + CMP K J XXXXXXX DEVICE CXAR wITH LEGAL VALUES 2 + RZ ; RETURN WITH HL, -> DEVICE SELECT BITS 2 + CALL INCKX, 2 + CAXX INCHL 2 + OCR B 2 + JNZ TEST b CONTINUE LOOKUP 2 + JMP LER J ERROX RETURN I t ENDIF 2 + IF NOT FIRST PAGE END -------------------------------------- BOOB MACRO ASSEMBLER, VER 2.2 INTELLEC B/MOD B MONITOR, VERSION 3.0, 14 APRIL 1975 ERROXX · 0 PAGE 12 38FD 2 44813x + Jl4P IDMOb 1 + £N1)JF 3900 ASx : 3900 3C4C XXX 'L' } LXXX? 3902 48483C JNZ LLR ; ERRUR I + MODI0 0XX,LMSK J MUDIFY LIST DEVICE 3905 I 2x6ClE3F+ LXl D,CJLT J AbXXXXX OF PHYXXXXX, XXXX TXXXX 39x9 1 163F + MVI C,LMSK J C " SELLCT Bil' MASK 2 + IF FIRST 7 EXIX THIS C0£E ONCE, 2 + ; BRKNCH TU IT THFHEAXXXX 2 xICjMCjO:: 2 +first Set FALSX 2 + CAXX NOISE : SCAN IXXXX AND ECHO UNTIL 2 + : PHYSICXX, DEVICE CHAR IS ENCOUNTERED 2 + MVI B,4 x SXX TAULE LLNGTH 2 + MOV H,D 2 + HOV L,E 2 + CALL TEST 7 COMPARE PHYSICAL DEVIXX AGAINST 2 + CALL INXXX 2 + MOV E,M $ TABLE, R£1UKN HI. -> BIT PAXXXXX 2 +SCANUUH 2 + CALL TI 2 + CPl CR 2 + JNZ SCANOUT $ SCAi'i PAST CR 2 + LXI H,1OBYT J GEX 1/0 STATUS 2 + HOV A,1'5 2 + XXX C $ CLXXX FIELD 2 + ORA E $ SET NEW STATXX 2 + HOV MA $ RETURN TX MEMORY' 2 + JMP START 2 +TEST1 $ INDEX THROUGH PHYSICAL UNIT TABLE 2 + CMP PC x XXXXXXX XXXXXX CHAR JXX LEGAL VALUES 2 + RX } XXXXXX WITH rib -> DEVICE SELECT BITS 2 + XXXX INCKL 2 + CALL INCHL 2 + OXX B 2 + JNZ TLST I CONTINUE LOOKUP 2 + JMP LER 7 ERXXX RETuRN I + ENDIF 2 + IF NOT FIRST 3908 2 448138 + JMP IOMOD I + EHDJF $ $ PUNCH A BNPF TAPE. $ 1 THIS ROUTINE EXPECTS TWO HEXXXXXXXXX PARM°!EXXXX TO BE 1 ENTERED FROM THE KEYBOARD AND XXXXXXXXXX THEM AS } THE BUXXXX OF A MEM(JKY AREA TO BE PUNCHED ON THE i ASSIGNED PUNCH DEVXXX IN BNPF FURMAL. THE TAPE ; PRODUCED IS FOKMATTED WITH 4 BNPF B-BIT WORDS PER t LINE, WITH A REFERENCE ADDRESS IN XXXXXXX PRECEDIXX PAGE END -------------------------------------- 8008 HACR0 ASS£,4BL,ZR, \/ER 2.2 INTE1,L,XX 8/!'.00 8 MONITOR, VtiRSI0!1 x.x, 14 APRIL 1975 ERRORS · x PAGE 1x ; EAXX LANE. ; 3901 BNPF: 390t q68jj3x CALL EXPR ; GLT TWO ADDRESSES 3911 46CC3C CXXX CRLF 3914 4xx03E XXXX LEAD 3x17 LINO : 3917 46953E CALL PEQL ; PUNCH CR,LF' 391A 46D43X CAXX GEXXX ; GET HL AND DE 391D Jb20 MVI C,' ° ; XXXX SUPPRESSION CHARACTER 391F" 26101E27 LXI 0,10000 } PUhCH ADDRESS IN DECIMAL 3923 462C3DCALL DIGIT 392b 26E81E03 LXI 0,100x 392A qbzC307ALL DIGIT 3921) 2t>b4xE00 LXI D,lcj0 39x1 462C3DCALL DIXXX 3934 260AJEX)0 LXI D,10 393b 4bZC3DCALL DIGIT 3938 26011E00 LXl D,1 39xF lxx0M4I C,'0' ; XXXXX AT LEAST 1 ZLRO 3941 4x2C3D CALL UIGIT 3944 0E2x MVI B,' ° 3946 x6853E CALL po 394y 460x30 CALL GEIXX ] GET HI, AND 1)E 394C BXi: 394C 465530 CALL ENCODE } ENCODE A XXXXXX BYTE INTO BNPF 39;F 46XxxX CALL GEIAD ) Gil HL ANU XX 3952 4dE23D CALL HIL,0 395$ 6?8E3A JC NULL } ALx DONE, PUNCH TRAILER AND RETURN 39$8 46343F CALL SAVIT 3958 46043J CALL GEIXX } GET HL AND DE 3x5E C6 HOV A,L 39SF 2403 ANX 03H } PUNCH CR,LF,ADDRESS OK MULTIPLE OF 4 39x1 484C39 JNZ Bhl 3964 441739 JKP BN0 } } CUKPARE PROM WITH HEMORX. ) } THIS ROUTINE EXPECTS UNE riiXADECIMAL PARAKETER WHICH } IT INXXXXXXXX AS A MEMORY AU1)REXX. THE ROUTINE } COMPARES THE F'RQK IN THE FRUNT PAXXX SOCKET dITH A } 256 bYTE AREA Of XEJ'.QRY POINTED TO BY THE INPUT PXXXXXXXX. } ALL DIFFERENCES BETKEEN THE PR0.4 XXX THE KEj'4QRY AREA } are dixplayld in nit following furkat: } } 1 3x67 CQKP: x967 11 OCR C 3968 468530 CALL EXPR } GET ONE ADDRESS 396B 46CCxC CALL CRLX / OUTPUT CR XXX LF PAGE END -------------------------------------- 8008 MACRO ASSXXXXXX, VER 2,2 ItvTEL,LEC X/KOD fs KUNITOR, VERSION 3,0, 14 APRIL 1975 ERRORS · 0 PXXX 14 396E 46D43D CALL GETAD ; Gil Xxx, AND DE 3971 lb00 MVI C ,0 7 CXXXX/PROM ADDRESS 3913 0600 KXX A,UvB : ENAbL,E PK(JK PXXXXXXXXX 39i5 53 0L,'T PROV? 3976 cm: 3916 CL µ.0'j A,C ; SET PRXX ADDRESS 3977 2?F"F' XRI 0FFH ; INVERT ADDRESS 3979 55 OUT PAil 397A 4b2x30 CALX DFLKY / wAIT FOR 6-76 BOARD TO LATCH DAXX 3970 45 IN POI ; GU PROX DATX 397£ 2CFF XRI QFFH 3980 BF CMX PI ; COMPARE WITH MEXXXX 3x81 68A239 JZ Cl'!1 ; COMPARX 3984 X'2 M0\/ £,C 3\9iil5 46343F CALL, SAXXX 39x8 46D43D CALL, GUAU 3988 45ux3e XXXX LADX / PRINT MEMORY ADDRESS 398L C7 MOll A,1'! 398F x5103E CALL LUTE : PRIXX RAM DAXX 3992 4o503C CALL bLK 3995 q5 Ih POI ; GET PRCK XXXX 3996 2CFF" XRI 0FFH 3998 46103£ ?AL,L LBYTE j PRINT PROM DATA 39913 46XXXX ?ALL CRXX 399E 460430 CAXX GETAD 39Al 04 ,4UV C,E 39A2 cm : 39A2 4§F03D CALL, INCXX 39A5 10 INX C } ADJUST PRXX ADXXXXX 39A,6 4x7639 JhZ CMO 39A9 4x4438 Jl'lP START ; } XXXXXXX XXXXXX IN HEX ON CONSOLE DEVICE, 0 Q i IHIS RXXXXXX EXPECTS ThO EEXXXXXXXXX PARAMETERS SPECIFYING J THE BOUNDS Of A ME.YORX AREX TO 6E DISPLXXXX OX THE ; CONSOLE DEVICE, THE 6'!E±ORY APaEA IS DISPLAYED 16 BYTES ; PER L,lhE, NIIH THE MEMORI' ADDRESS OF XXX FIRST BYTE 1 PRINXXX' FOR REFERENCE, ALL XxxXX ARE UCCKEO IHT0 INTEGRAL, } MULTIPLES OF is FCJR CLARITY, SO THAT JHE FXXXX XXX LAST } LIXXX KAY ESE USS THAN 16 BYTES Jh ORDER TO SYNCHRONIZE TXX } DISPLAY. i 39AC DISP: 39AC 468$30 CALL, EXPR : XXX THO ADDRESSES 39Xx DICN 39AF 46CC3C " CALL CRLF 3y82 460430 CALL GETAD : GET HL, AND DE 3985 4o003E Cxll LADR j PRINT XXXxXXX ADDRESS 398x Dii: 3988 C7 " MOV A,,K PAGE END -------------------------------------- 80x8 XXXXX ASSEMBLER, VER 2.2 INTEXXXX 8/KOD 8 MONITOR, VERSION 3,0, 14 APRIL 1975 ERRXXX · 0 PAGE is 3989 46103E CALL LB1'TE ; PRINT DA1M 39BC 46x03C CALL UK ; PRIXX SPACE 39Bf 4bD±3D CXXX GETAD ; GtT dl, AND DE x9CZ 46E2xD CALL HIL0 ; TLSX E"(JX C(JKPLE110N 39C5 6(1x438 JC STAKT 39C8 46343F CALL SAVIT ; STUHE HL,DE 39Cb 460x30 CALL GETAX ; GET HL AND DE 39CE C6 HOV A,L 39XX t4(1f ANI UFH ; FF'111T CR,LF,ADXXXXX ON µ,ULTIPLE OF lb 39Xx 488839 XXX OIl 3904 44AF39 jy,p DID x P ; EHD OF E"ILE COMMAND, J J IHIS ROUTINE PRODUCES X TER,YINATI0N REXXXX KHICH PROPERLY } CXXXXXXXX A HCLADECW.AL FILE CRUTID Eli 'is" C0!'9ANDS, IT ; EXPECTS 0Ni HEXAXXXXXXX pAX;y£Tu mxICH IS INCIJDED IN 1HE J TEP.XINATIC'h RECGRD In THE LUAD ADD?ESX FIXXX AND SPECIFIES ; THE ENTRY POINX OF THE FILE CREATED. A SUtiSEG'jENT 'R' C0¥KAND } HILL LOAD Ttii XXXX CREATED ANX TKA1v$F"ER CQNTRUL TO THE : EXXXX POIXX SPECIFIED IF Il IS NUN-ZERO. ; 3907 EQFN 3907 ll OCR C i GET ONE PARAMETER 9908 4b8530 CALL EXPR 39UB 46953E CALL PLUL, } PUNCH CR,LF 390E DEJA KVI g,':' 39EO 4bB53E CALL F'U 39E3 XX XRA A 7 CLEAR CHECKSUK 39E4 DB .HOV D,A 39E$ 4b7E33E CALL PtiYTE ; OUTPUT RECORD LENGTH 39E8 ¢3 µ,0V A,D 3\9E9 46D43D CALL XXXXX 39EC DB MQV D,A 39ED Ex HOV E,L 39EE C5 M0\/ A,H 39EF 4b7133E CALL PBYTE 39F2 C4 MOV A,E 39F3 46"/B3E CALL PB1'TE 39F6 06x1 MVI A,1 t RECORD TYPE i 39F8 467B3E CALL PBYTE 39Ft3 AB XRA A 39FC 93 SUB D } QUTFUT CHECKSUM 39FD 4b7B3E CALL PBYTE 3AQO 448E3A J.4P NULL, ; PUNCH TRAILER AND RETURN : } FILL RAM MEMORY BLUCK WITH CONXXXXX. } } THIS ROUTXXX EXPECTS THREE HEXAUECIMAL PARAKETERS, THE } FIRST AND SECOND (16 BITS) ARE INTERPXXXXX AS THE BOUNDS } OF A XXXXXX AKEA Iq BE INITIALIZEU TO A CONSTANT VALUE, PAGE END -------------------------------------- )08 MXXXX ASSEMB1,EK, VER 2.2 XXXXx,LEC 8/MOD Ls MJHITOR, VERSION 3.0, 14 APRIL 19"/5 ERRORS · Q PAGE x6 7 THE THIKD PARAMETER (13 BITS) IS THAT VALUL. 0 t 3A03 FILXX 3AXx 10 INR C J GET 3 PAKAKETEKS 3A04 4bB53D CALL, EXXX 3A07 C4 MUV A,E ; GLT DAXX IN A 3A% x6D43X CALL, GETAD ; GET HI, XXX DE 3AOB CB MOV B,A 3AOC FiO: 3AOC E'9 MOV MB ; S10RE CUltSTANT IN MEMORY 3AQD 4bEx3D CALL HILO i TEST FOR CQKPLETION 3AiO 40UC3A JNC FlO i CONTINUE XXXXXXX 3Al3 44Q438 jjqp S'I'XXX 0 X ; GO TO 0 V ; TXX G COMXXXX IS USED FOR TRANS6ERRING CONTROL FROM THE ; MONITOR 'x'O A USER PROGRAM. 6 e 3Al6 GOi'O: 3Alti ll OCR C 3Al7 468530 CALL EXPR 3AIA 446b38 JMP XX ; 7 CCh4PUTii HEXADECJML SL/M AND DIFFERENCX. 0 e ; TUIS ROUTINE EXPECTS TXX HEXADLCIMP.L PARAMETERS. J LT COMPUTES THE SUM XXX DIFFEREKCI OF THE TKX VALUES i AND DISPLAXX THEM OH 1xiE CUNSULE DEVICE AS FQLLUNSI 0 x i 6 f 3AID HEXNI 3AID 4b8$30 CALL EXPR ; GET Th'0 NUMBERS 3A20 4bCCxC CALL CHLF JA23 4bD43D CALL GETAD x Get Hb AND DE 3A26 C6 MUV A,L i COMPUTE HL + DE 3AZx u ADD E 3x2b LO MUV E,A p SAVE LSB IN E 3A29 C5 MQV A,H 3A2A 8B ADC X) 3AxB 46103E CXXX, LBYIE i DISPLAY MSB OF SUM 3A2E C4 MOV A,E } RETRIEVE LSB JA2F 4blQ3E ?AL1. LXXXX 7 XXXXXXX IT 3A32 46$03C CALI. BLK ; TYXX A SPACE ms 4CX)43D ?AL1. XXXXX 1 GET KL, AND XX 3a313 C6 XXX A,1. J COMPUTE HL"DE 3A39 94 SUB E 3A3A EX NIUV E,A i SAVE LSB OX DIFFERENCE 3a3b C5 MOV A,H 3A3C 913 SBB D PAGE END -------------------------------------- 8008 MACHO ASSEMBLER, VER 2.2 1NIELLEC B/M.OD 8 MONITOR, VERSION 3,0, 14 APRIL 1975 ERRORS · 0 PAGI 17 3A3D EB MOV H ,A 3AxE 461ti3E CALL LBYTE 7 DISPLAY MSb OF blFFEXXXXX xA41 C4 MljV A ,L 7 RETRIEVE LSB 3A4x 4t403C CAXX Lt3YTE ; DIXXXXX LSB of uiiFERENCX 3A45 x44438 JMP START ; ; LOAD A bNPF 1'AFE INTU RAH PIEHQRY. 0 t ; THIS KUUTXXX EXPECTS Xx'0 HEXADECIKAX PARAK!ETERS AND ; LNTERPRETS 1'KEH AS bUUNL)S XX' A MEXjHX AREA IQ BE ; LOALiEL) bV i3hPi' DATA TU BE REAX FROM TXX RIAUER. ; IT IX ASSUMEU THAT E!i0ljC,d DXXX IS XXXXXXXXX IK TKE ; TAPE TO EsE RE,\D XX SATISFY THE MEHORY bQUtijS ENTERED. i ii END cir" TAPE IS ENCUL,XXXxXX BLFORi TEIL' XE>!(JRY 13GUNDS ; ARE SATISF'ILD, THIS RUUTINE nILL TERMINATE UX AN ERROR } CCI.\'DITIQ.4 (SEE RIX), 6XX AXX DXXX READ BEFORE THE END } OF TAPE NA$ E:;CXXXXXXX) KILL BE LQAbXX. ; 3A48 LOAD: 3A48 x68530 XXXX EXPR ; GLT TwO ADDREXXXX 3A4B 4KC3C CXXX CRLF 3A4£ LOx: 3A4X qbFC3C CAXX DEXXXX } CONVERT BNPF, RETURN LN C-REGISTER 3A5l C2 HOV A,C : CUNVERTED DATA BYTE 3A>2 4(JD43D CALX GEIAD 1 GU rlL, AND DE xA55 XX HOV X,A ; STOXX DATA 3A56 4bE23D XXXX HILO ; TEST FOR C(J¥,PLEXXxX 3A59 6U4438 JC START 3ASC 463x31 CALL SA'GIT 3A5F 444Xxx JKP LU0 : : MOVE A BLOCK OF XXX MENCIRX' : 3AoZ 1'10VEi 3AtQ 1U INR C : GET THREE ADDRESSES 3A63 468530 CALL EXPR 3a66 HVO: 3A6b 4uo430 CALL GETAD 3Ax!B Cl MQV AM : GET DATA 3AtX 360C2E00 LXI H,ADR3 i GET DESTINATION ADDRESS 3AoL CP'MOV B,M 3A6f 3u LhR L 3A7U F7 MOV L,,k 3A /1 E9 KQV H,8 xAI2 F8 M0\ MA : STORE DATA 3Ai3 46F03j CALL INCHL ; INCREMENT DESTINXXXXX AXXXXXX 3Ai6 XX XUY 8,H 3Ax7 D6 MQV C,L 3A18 300C2£Ci0 LXI H,AXXx . xK1C F9P,QV M,B 3A7D 30 INR L PAGE END -------------------------------------- 8008 MACRO ASSE>!BLEF', VER 2.2 ItiT£LLiC 8/MOD 8 MONITOR, VERSION 3.0, 14 APXXX 1975 ERRORS · 0 PAGX 18 JA7E FA XOX M,C 3A7F" 46XxxX C',LL GEIAIJ 3A82 461230 FALL HII,0 3A85 6Ux438 JC START 3A88 4H4JF CALL, SAVIT 3A8B 44bx3A JM? MVQ 0 P ] PUNCH LEADER OK TRAILER. 0 T ; IHIS ROUTINE PUhChiS 63 NULL CHARACTERS ON THE DEVICE ASSIGNED ] AX 1Fli XXXXx·i. IT IS BRANCHED i\j xY iiBE 'El" AND 'E' COM.UNDS / AS KLLL AX biING INVOKED BY THE °h' COXXXXX. 0 P xABE Kljl,1,: 3A8E 462U3X CALL LEAD 3A91 x44438 JKP START ; ; PRGXXXX A 17XxX PROM KITH IAST ALGORITHM ; (20.48 TO 4¢9.6 SECONDS) ) " ; THXX ROUTINE EXPECTS IHRXX HEXA01CIMAL PARAMETERS FROM THE CUNSOLE. ; TXX FIRSX A1vC1 SECOND AXE XXX bCiUhtS OF A X£,Y0RY ARIA TO BE ; HEPRUDUCED Ik Tki 17C2A PXXX itY IKE FRUNT PANEL S(jCK1!. THE TH1RJ ; PARAUIU IS Tht" ADDRLSS IN THE PR(JH (8 BIT8) wKEAI THE DUPLICATIXX ; IS TU CCMENCE. 1'HE ALGURiTHX USED IN THIS ROUTINI TAKES ADVANTAGE 3 CI THE FACT rFiAT MUST FK(JF!S KAI OE PR(xGRA!tH1U lit A SHALL FRACTION ; ·0f ThE 'il,YX IT wUjI.D TAXX ljhDLl' hUHSI CASE CQNUITIXXX, TKER1X'UR£ ; GREATLY KEDUCItvG i?R¶GKAMXIKG Tlxi FC'R i',0ST PRC'MS. IKE kIDE VAE1AII'j.X ' ; In LIMES VJUIFD IS DXX TC' THE ALLORXxxX,E AANGE 8ETKEEN BEST AND 'NORST ; CASi PROGRAMMNG TJEL'S, 0 0 3A94 PRUCN JA94 IQ I NX C 3A95 46B53U CALL, EXPR ) HL · TOX AFTER RiTURN 3A98 31 OXX L 3A99 DX HOV C ,X ; PRO.'! ADDRESS 3XxX 31 OCR L 3A9lil 3) OCR L ) KL · TOP-3 :SA9X £7 HOV E ,H ; LSB ijF HIGti AXXXXXX 3A9D 31 XXX L 3A9E OF HOV L) ,K : KSB OF HIGH ADDRESS 3A9F 31 OCR L 3AAO Cf .4OV El ,M i l,sx3 cxr low adxress 3AA1 31 OCR L, 3AA2 EE' MOV H ,M } XxXx OF LXX ADURESX 3AA3 J MOV L ,B 3AA4 C4 MOV A ,E xAXx 96 SUB L '3AA6 ED MtjV E ,A I COUNT xAA7 20 XXX X 7 ADJUST SO 256 · X 3AA8 C3 MOX A ,D PAGE END -------------------------------------- BOOB MACRU ASSEMBLER, VER 2.2 INTEL1,EC EI/MOD 6 MONITOR, VERSION J.0, x4 APRIL 1975 ERRORS · 0 PAGX 19 3AA9 9D SBB H 3AAA b0483C JC LER 1 CARRY # ERROR 3AAL) PRU: 3AAD 0b00 MVI A,ENB 3AAF 53 UUT PRUMX J ENABLE PROM PROGRAMMER 3AB0 Cl MO V A ,C 3ABI 2CXX Xxx UFFii jAt33 55 UUT PAD J PROM ADDRESS 3At34 4 5 In pOl ; READ VALUE 3Ad5 2XXX XRI OFFH 3Ati7 L$F Cl'lP jx J COMPARE NITH DESIRED 3ABx 6BEAxA JZ pRq ; DQN°T HAVE TO PROGRAM THE LOCATION 3Abl3 IEF0 MVl D , " 1 6 ; SET MAX TRIES " 16 3ABD PRl: 3ABD 4b9F3E CALL PGRM ; PULSL AND DELAY 20 MS. 3XXX 45 IN POl ; READ VALUE 3ACl 2CFF XRl 0FXX 3hC3 BF CMP M J COMPARE WITH DESIRED 3AC4 bdDXxX JZ PR2 ; GOT IT, NOW PULSE 3$n MORE TIMXX 3AC7 16 INR D J IKREME!11' COUNIER 3AC0 4BBD3A JNZ PRl J KEEP GUING 3ACb 'lt>CC3C ?ALL CALF 3ACE 0£,14 HVI t$r'$' ) EXXXX UUT 3ADO 4tS23C CALL CO 3xD3 4bM)3C CALL OLK J OUTPUT A SPACE 3AD6 CZ MUV a ,C 7 XXXXXXX PROM ADDRESS xAD7 4blU3E CALX LBYTE 3ADA 4U83C Jl4P LER J BAD PROX, ABORT 3ADX PXx : 3ADD C3 l'l(1V A ,D ; XXXX COUNT KESIDUE TO A 3ADE 0411 ADI I / J ACTUAL COUNT OF TRIES REQUIREX 3AEQ t$0 XXX A ' J CUUNT · coUNr q' 2 3AX) ilu add A J COUNT · COUNT ' 4 3AE2 Db l'lOV D ,A xAE3 PR3: J 0V£RPROGRAM 4¢n TIXXX 3AE3 469F3E CALL PGRM xAE6 19 OCR D 3AE7 48E33A JNZ PR3 3AEK XXx: PR4: INR 3A£A )U C ; BUMP PROM ADDRESS 3AE13 6d4438 JZ STXXX : PRUK ADDRESS RULLOVER, TERMINATE 3AEE 46FC'3D CALL INCHL J BUMP MEMORY ADDRESS 3AFx 21 OCR E 1 DLCREMEIU COUNT 3jiF2 48AD34 JNZ Xxx J XXXXXXXX wITX PROGRAMMING 3AF5 4¢4430 JXP START ; ; XXXX ROUTINE. P P ; TXXX ROUXXXX READS A HEXADECIMAL FILE XXXX XXX AXXXXXXX ; READER XXXXXX AhD LUXXX IT INTO HEMGRY. ONE tiEXADECIMAL : PARAMETER Is EXPECTED. THIS PARAMETER IS A BIAS ADDRESS PAGE END -------------------------------------- t0tj8 KACRO ASSE,YE1L,EK, VER 2.2 XXxXXXXX 8/MQD 8 KONITQR, VERSION 3,0, 14 APRIL 1975 ERRORS · Cl PAGE 2(J ; TU BE ADDED TU THL !'!£A0RY ADDRESS OF EACH DATA BYTE ENCOUKTERED. ; IN THIX WAX, r.EXAUFCIMAL FILES P.AY E3E L,CXDEU INTO 1'.EHORY ; IN AREAS OTHER 1HAX THOSE FOR rmICH THLY hiRE ASSElxbLED OR C1JMPILEU. ; AXX RECORDb REXX ARE CRECRSUM.4ED Ahl) CClxPARED AGAINST i'rlX ; CHECKSUM In Trti RECOMA Ik A ChiCKSXX ERROR (OR TAPZ READ ERROR) ; OCCXXX, IKE RUCTI!ii TAKES AN EHRUR EXIT. NORMAL LQADIhG IS ; TERMINATED wliLh A RECURIJ OF L£!,Giii l) IS EHC0UML"REJ. TillX IS ; IhTERPREXXX AS AN ENJ OF FILZ REXXXX AND THE LAJAD ADDRESS / F'IELU CF THAT XXXXXX is IAKIN TU BE THL EhTRY POINT OF TiiE ; PROGRAM (IF IT is NON-ZERO). ; 3AFB REAO: 3AFB ii OCR C ; GET 0Ni ADDRESS 3AF'9 468530 CALL £XPR 3AfC RXXx: 3AP'C 462B3f CXXX, RIX 3XXX QE3A HVI E1,':° 3x01 91 SUB b ' 3502 4sFC3A JR Z REDO i SXXxx TO RECXXX MARK 3BQ$ lj6 µ,1)V L),A ; CLEAR CEECRSUH 3Bvo 467F3C CALI, t3'tTE 3DU9 bd5A3b JZ REDZ ; ZIR0 XXXXXX LENGTH, A[,L, DXXX 3BOC to y.j'd E,A ; E <- RECURD LXXXXX xBjL) 4o7FxC CALL BITE ; GET HSt3 OF LOAD ADDRESS 381V 360A2FJQ Lxi ri,AOR2 381x F8 ,4ljX MA 1 SAVE IT 3815 XxxxxX XXxx, El'xTE; GET LSE1 or LOAD ADDRESS 3818 HUUEQx 1.XI ri,ADR2+1 mc Fo K(JV MA 3bid qx7F3? CALI, BI'TE ; KLCORD TYPE 3El2V 3bQBxEQj ijxl ii,ADR2tl 3824 C7 HOV A,X 3U5 3609 RIVI L,ADR1+1 AND 0FFH 3827 87 ADD XX ' 3El28 tjo mv C,A 3Bzy 31 OCR L 3B2A C7 HOV A,!d 3BZB 360A x,yj I,,ADR2 ANL) 0FFii 3B2D Bi ADC tq 39,LE 36042EOQ [.XI H,HPRIKE 3832 Fu HOV K,A 3833 3Q INR L, 3834 Fa MOV M,C 3b3$ REOi: 3835 467F3C CALL BYTE i READ DATA 3838 36042E00 LXl H,HPRIM£ 3b3C D7 HOV X,M 3831) 30 1NX L 3B3E E7 XXX L,,M 383F EA mv H,C 3840 F8 mv M,A 1 PUT IN KEMORY PAGE END -------------------------------------- 8008 MACRO ASSEKUuER, VER 2.2 INTELLEC B/t'.OD 8 MONITOR, XXXXXXX 3.0, 14 APRIL 1975 XXXXXX · 0 PAGE 21 x84x 4bf030 CXXX INCHL 3844 CD NOV 8 ,H 3845 D6 K0\/ C ,L 384x 360421'00 LXI ri,HPHME 384A F9KOV M ,13 31341x 30 XXX L, 3B4C FA 'KOV H ,C 3840 21 OCR L 3Ex4E 4835313 JN Z RED1 } LOXX' UNTXX DONE 3851 417F3C CALL BI TE ] READ CHECKSUM 38$4 484uc JxdZ LER ] CHECKSUM ERROR JB57 44E"C3A JMP REDO ; Gil' Xxxxxxx RECURD 3B$A REU2: 3B5A 46713C CALL BYTE i GET MSX OF TRANSFER ADDRESS 3B$D ED MOV E,A 383E 4UF3C CALL xYTE 3861 D? PlOV D,E 3EJb2 ED HOV E,A 3863 c33 ORA D 3864 486638 JhZ GO 1 TAKE 1'HE BRAXXX 386i 444438 JMP START x ] SUBSTUUTE KEHORY XXXXXXXX ROUTINE. ] ; THIS ROUTINE EXPECTS (jNE PARAME7ER iROM THE CONSOLE, IJJLLXXXX x BY A SPACE. TXX PARA¥,ETER IS INTERPRETED AS A !'.Ey.{jRY LOCXXXXX ; AND THE ROJTINE WXXX DISPLAY Ttiz CJNTI.YTS Xx THAT LOCAIION, 1 iXXXXxXX BX A DASX (-). Tu MODIFY XEHQRY, TIPE L¶ THE HEN DA1'A ; F0LL(JKUJ BI' X SPACE C)R A CARRIAGE REIURN. IF NO KClDjFICATIljh ; UF THE LUCATIUtt IX REQXXXXX, TYPX 0NUY A SPACE XX CARRIAGE RETjXxx. 1 IF A SPAXX HAS LAST TiPED, I'HE NEXT MEMORY LOCATION HILL, 6£ DISPLAIED 1 AND KODIE"ICAII0,4 Gf IX IS ALLOWED. IF A CARRIAGE RETURN KAoo ENTERED, ; THE CGMAXX IS TEKMINXXXX. ; xBtA SUBS: 3BbA 11 OCR C 3Bb8 4b8530 CXXX EXXX } GET UKE ADDRESS JB6E 3?00 CPI CX xBi0 684438 JZ START 38x3 46D43D CALL GETAD 3B7b suo: 3876 C7 HOV A,ld 3t3i7 461JJ3E CALL L!3YTE 1 DISPLAY DATA 3B7A QE2D XVI El,'"' 3BiC 4b523C CALL CO 3U)F 46493F CALL TI 3882 3?20 CPI ' ' 3O94 68AA3B JZ SXX 3887 3G2C CPl ',' 3889 68AA3B JZ SUI 38xC 3XXX CPl CR PAGE END -------------------------------------- esx08 MACRO ASSE,4BLER, VER 2,2 INTELLEX 8/KOD 8 MONITOR, VERSION 3.0, 14 APRIL 19/5 ERRORS · G PAGE 22 3B8E 68x43d JZ START 31391 lbOl MVl C,1 3893 2500 XVI E,0 38x5 36x42E00 LXI H,HPRIME x899 3EU0RIVI M,ADR2 SHR 8 38913 x0 XXX L 3t39C 3EOA MVI NI,ADR2 AND GFE'h 3B9E 46y430 GALL EXx 313Ax 460430 CALL GETAL) 38A4 F? HOV M,E 3BA5 3COCJ CPI CR ; TEST DELIMITER 3BA7 684438 JZ start 7 Cr enter£d axtir lasx substitution 3BAA sui: 3BAX 46D43D CALL GETAD 3BAI) 4bF03D CALL, INCHL, 3BBO 46343F CALL SAVLT 3tl83 46D4xD CALL GETAD 38Ei6 447t>313 Jl4P SUX 0 0 ; TRANSFER CONTENTS OF A PROM TO MEMORY. ; ; fHIS ROL'TINE EXPECTS USX HiXADECIKAL, PARAYETER KRICH ; IT IXXXXXXXXX AS x'FiE i.OCATjW: IN ME,40HY NHER£ A COPY UF THL ; pr0.4 In The E'RU.'vT pahel is TU Bt stoxed. THIS COPY IS alwxys ; ?$6 BYTES In LENGTX, ; 313U9 TRAN: 3889 lx OCR C 3BBA 46853x CALL EXPR J GET ONE ADDRESS 3BBD 0500 MVI A,ENB 7 ENABLE PROM PROGRAMMER 3BBF 53 OUT PROMC 3BC0 4bD43X 7ALL, GETAD J HI, · µ,EX ADR 3BC3 2OQx l'lVl E,Q ; COU.4T/PROH ADDRESS 3BC5 TKCN 3dC5 C4 XXX XX 3oC6 2CFF XRI QFFH J INXXXX XXXXXXX x8C8 $5 JUT PAD ; SET PXXX ADDRESS 3BC9 4o253D XXXX DELAY J hAIT FOR 6-76 BOARD TO LATCH DATA 30CC 45 IN POI ; GLT PROM DATA xc$CD 2CFF XRI 0FFH 3BCF' p'u MOV M,A J PUT IN MEMORX 3BDQ 4oF03D CALX INCKL J bFMP KEKQRY POIhTER 3BD3 20 !NR E J BUMP PROM POINTER 381)4 ¢8C53X XXX TRU 7 Xxx AXXXXxXX xyte 3BD / 444¢38 JMP SXXXX j J WRITE RQUTINE. 0 ¢ ; THIS ROXXXXX EXPECTS THU HEXADECIMAL PAXXX.ETXXX 'NKICK ARE ; INTERPRETED AS THE BOUNDS OF A MEMORX ARLA TO BE ENCODED J INTO HEXADECIMAL FORMAT AND PUKCKED ON THE ASSIGNXX PUNCH PAGE END -------------------------------------- 8008 P,ACR0 ASSEMBLER, VER 2,2 1N7'ELAEC XXXX k$ KUNITOR, VXXXXXX 3,0, 14 APRIL 1975 ERRORS · 0 PAGE 23 ; DEVXXX. ; 30DA HRITU x8DA 45853D 7ALA, EXPR ; GIT Two K1)CRESSES 3EDD KRIO: 3CDC 46D43D ?AL,L GETAD 3BE0 C6 ,YQ\/ A,L, 313El 0410 ADI 16 3Bt3 [)0 µ,0\/ C,A 3Bt.4 CS XXX A,H 3BE5 0?00 XXX 0 3t3E7 Cti µ,0\/ B,A 3x3U C4 M0\/ A,E 38E9 92 SUb C 3BEA Du NOV C,A x13EB C3 MUV A,D 3tiiX 99 StiEl B 30Eb 70F53B JM rcRil ; XXXXXX LENGTH " 16 38FU UOl0 µ,VI A,1x 3tilF2 44F8313 JMP nRjZ 3Bx5 hRI1: hRI1: MXX A,C xeif5 C2 38Ft) 0411 ADI 17 3Bfts NRI2: 3i3Fls ti0 UKA A :$oFy 684438 JZ bl'ART 38EC ED µ.LJV L,A ; £ <- RECORD LENGTH 3BFD 1EQ0 µ,VI D.0 ; CLEAR CKECKSUM 3bFF 4o953E CALL PEUL 3CC'2 I'L20 Kill t3,' ' 3C0x 4oB53E CALL PU 3CJ7 QUA MYI b,':' 3C09 4oB53E XXXX PO ' 3COC C4 MXX A,£ 3COD 467B3E CALL PBiTE ; PUNCH LENGTH 3Cl0 36082100 XXx X,ADRx 3Cl4 C7MOV X,H 3Cl5 467831 ?ALL, PBYTE } PUNCH MXX OF' ADDRESS xCi8 3x092E00 LXI X,ADR1+1 3ClC ClNOV A,F'. 3CID 467B3X CALL PBYTE i PUNCH LSB OF ADDRESS 3Cx0 AB XRA A 3CZl 4o/B3E FALL PUTE ; PUNCH RECORD TYPE 3Ci4 hRI3: 3Cx4 36082E00 LXI H,AXXX 3C28 C7mv A,M 3C29 30 INK L 3C2A F7 MXxX L,M 3C2x i8 M(JV H,A 3C2C C7 HOV A,K xC2D 46F03D ?ALL INCHL PAGE END -------------------------------------- ¢008 MACRO ASSEMBLXX, VEK 2.2 INTEL,LEC 8/MOD x !d0NITUR, VERSION x.Q, 14 APRIL 1975 ERXXXX · 0 PAXX 24 3C30 CD !d0V B,H 3C31 06 MQV C,L 3Xxx 3o062EG0 LXI K,AFKx 3C36 FIBMOV M,b 3C3"/ 30 INR L 3C38 F"A MQV M,C 3C39 467t33E CALL PBYTE } PUNCH DATA 3C3C 21 OCR E 3C3D 4tS243C JNZ hkj3 3C40 AB XKA A 3C41 93 SUB D 3C42 46'/B3E 2ALL PBI'IE ; PUNCH CHECXXXX 3C45 44DXxx jy,P nKIO ; ; EKKQR EXXX'. i ; THIS ABNORMAL XXXX XX EXECUTED FOR ALL NQNITUR ERROR CONDITIONS. P t 3C4d LEK: 3C4x DELA MVI B,'"' 3C4X 4b523C CALL CO 3C4D 4x4938 JMX START 7 ; SUBKUUTIXES P P 3C50 BL,K: 7 PRIXX A BLANK 3C>0 0E20 MVI El, ' ' / ; EXTERKALXX REFEFE::CEC1 ROUTINE ; CQNSULE OUTPUT CODE, VALUE EXPECTXX IN B ; A,b,H,L, XX) FLAGS H(JD1FIEb i STACK USAGU 2 BYTES i 3C52 CO:J CONSOLE OUTPUT 3C52 36032E00 LXI H,J0BYT 3C56 C7 MOil A,M i GET STATUS BYTE 3C:j/ 2403 ANI NUT CKSK i GET CONSULE BIXX 3C59 4Bb"/3C JXX COO i TESX FOR CRT 3CXX TTYUUIN 3C5X 43 IN TTX i CU.HSQLE · TTY 3CSD 2404 ANI TTY6E 3C5F 4S>C3C JNZ TTYQUT i LOOP UNTIL READY 3Ct)2 Cl xv A,i3 3C63 2?FF XRI 0Ffrl 3Cb5 x1 QU1' TTO i OUTPUT CHARACXXX 3C6t) 07 RET ; RETURN 3C67 coQi 3C67 3CXxx " CPI CCRT ; CONSOLE · CRT? 3C69 48773C JNZ COl 1 TEST FOR BATCH 3C6C CR10U1N 3CxC 4i3 IN CXXX } CONSOLE · CRX PAGE END -------------------------------------- 8008 MACRO ASSEMBLER, VER 2.2 XXXXXXXX B/HOD a MONITOR, VERSION 3.0, 14 APRIL 1975 ERRORS · 0 PAGE 25 3C¢jO 2404 ANI CRTBE 3C6F 486C3C JNZ CRTOUT I LUOP UXXXX READY 3C/2 Cl MOV A , tl XXxx 2CFF XRI OFFH 3C75 5x OUT CKTO 3C"/b 07 RXX 3C77 COl: 3C/x 3CQ2 CPI BATCH 3Xxx 682C3X JZ XX I BATCH MODE, OUTPUT · LIXX 3C7C 440337 JMP COLOC ; BRANCH TO USER CONSOLE OUTPUT P 0 I READ ThO ASCII CHARACTERS, DECODE INTO 8 BITS BINARY J 3C7F BY'XX: 3C7F 462B3F ?ALL RIX J READ CHAR FR0¥ TAPE 3C82 46583E CALL NIBBLE ; CONVERT ASCXX TU HEX 3C85 x2 RLC 3C86 02 KLC 3C87 02 Rl.C 3C88 02 RLC I SHIFT FOUR PLACES 3C89 DO HOV C ,A 3c8a 46283F CALL PIX 3C6D 46583E ?ALL NIBBLE 7 GET LOWER NIBBLE 3C90 t32 ORA C 3C91 DO HOV C ,A BC9t 03 ADD D I UPDATE CHECKSUM 3C93 1)x HOV D, A 3C94 C2 MUV A,C 3C95 07 RET 1 RETURN ; ; EXTERNALLY REFERENCED ROUTINE ; CONSULE INPUT CUDE, VALUE RETXXXXX IN A 1 A,B,H,L, AND FLAGS XXXXXXXX ; SXXXX USAGE: 2 BYTES J 3C96 CJ:b CONSOLE IHPUT xC96 36032EUQ LXI H,I0BYT 3C9A C7 MOV A ,M i GET STATUS BYTE 3C9B xx03 ANI NUT CMSK } GET CONSOLE BITS 3C9D 48AA3C JNZ Cll b TEST FOR CRT Ka0 3CA0 43 IN TTS 6 TTY STATUS PORT 3CAl 2401 ANI T1'YDA : CHECK FOR DATA AVAILAXXX 3CA3 48AQ3C JNZ 71'YIH 3CA6 41 IN TTI I READ J'HE ChARACTER 3XXx ClOt 3CA7 2CFF XRI OFXX 3CAx 07 RET J RETURN 3CAA Cjlt 3CAX 3COl CPI CCRT ; CXXXXXX = CRT7 3CAC x68x3C JNZ Xxx ' J TEST FOR BATCH PAGE END -------------------------------------- 8008 MACRO ASSEMXXXX, VXX 2.2 INTELLEC b/b'lQD 8 MONXXXX, VERSION 3.0, 14 APRXX, 1975 ERRORS · 0 PAGE 26 3CAf CR'[IN: 3CAf 4B IN CRTS ; CRT STATUS PORT 3CB0 2401 AN1 CRTDA ; CHECK FOR XXXX AVAILABLE 3CBZ x8AF3C jtvz CRTIN : NOT RXXXX, CONTXXXX LUQPING 3Cb$ 49 IN CHTI b READ THE CHARACTER 3CBb 44A73C JKP ClO 3CB9 cxz: 3CB9 3702 CPI BATCH 3CBt3 btIDB3E JZ Rl 7 BA7CH MODE, INPUT · READER 3CBE 44\)037 JMP XXXXX ; CONS0[.£ · USER DEVXXX i ; CONVLR7 4 BIT HEX VALUE TO ASCII CHARACTER ; 3CCl ccmv: 3CCJ 3CQA CPI JO 3XXx 70CB3C JM CNO j XXXX XXXX 10, (x-9) 3CCb 04U7 ADI 'A'-'0'-10 ] XXXXXX OF (A-Fj 3CC8 CNO: 3CC8 04x0 AUI '0' ; ADD BIAS FOR AXXXX 3CXX CB MOV B,A 3CCB 07 RET ; RETURN } 1 TYPX CARRIAGE RETUXX AND LINE FEED (jK CONSOLE ; 3CCC CRi.f: 3CCC 0EQD !'1VI B,CR ; 3CCE 46x23? CALL CO xCDl 0£0A 1',VI t3,L,F ; 3CD3 445x3C JME' CO P f ; EXTERNALLY HEFEREivCEC ROUTIXX ; XXXXXXX 1NPUT STATUS CODE ; A, FLAXX MXXXXXXX i STA¢K USACji: 2 6YTES j 3CD6 CSTSt; CONSOLE INPUT SFATUS 3CD6 36032EOQ LXI H,IxBYT 3CDk C7MOV A,M I GET STATUS BYTE 3CDB 2q03 ANI NOT CMSK : CONSOLE " TTY? 3CDD 4BE43C JNZ CSO ; CONSOLE · CRT 3CE0 43 IN TTS J GET TTY STAXXX 3CEJ 44EAK JXP CSl 3CE4 CSO: 3CEQ x?01 CPI CCHX 3XXx 4xF23X JNZ CS3 3CE9 4b xn ctds j GET CRT STATUS 3CEA csi: 3CEA 2401 ' ANI TTY1)A 3CEC 0b00 MVI A,FA1,SE $ RETURN FALSE XX XX DATA AVAILABLE 3XXX CS21 3CEE DB " RNZ PAGE END -------------------------------------- 8008 MACRO ASSEMBLEH, VER 2.2 LNTELLEC 8/MOD ¥ MCINITUR, VERSION x.x, 14 APXXX 1975 ERRORS · 0 PAGE 27 3CEF 2CFF XRI XXX'H xCFl 07 RET i RETURN 3CF2 CS3: 3CF2 3C02 " CPI BATCH 3CF4 x¢)FFMVI A,TRUL 3CF6 68EE3C JZ CS2 3CF9 441837 JMP CSLUC T i READ 6NPF TAPE RECORD, BUILD BYTE, STORE IN C"REGI5TER i IF ERROR, ABORT COMMAND P 0 3CFC DECOXXX 3CFC 462B3FCALL RlX $ READ TAPE 3CFF 3C42 CPI 'B' $ XXXX FOR 'B' jDOl 48FC3C JNZ DLCOXX JD04 160) 1'4XX C,1 J IXXXXXXXXX MEMORY 3DOb DCQ: 3006 xb2B3F CXXX RlX J GET DAXX 3XXx 3?4E CPI 'N' x CHXXX FOR '1X° 3DOb QB1D3D JNZ DC2 7 NO, CHECK XXX 'P' J CKRRY = Ci 3DOE DCi: 300£ C2 HClV A,C ; SH1FT IN DATA BIT 3DOF 12 RAL 3010 DO mv C,A 3011 4UObjD JNC DCO j It' CARRY IS SET, B Bil'X READ 3Dl4 qb2BjF call Rlx J TEST FOR REQ'D 'F"' 3Dl7 3C4b CPI 'F' 3019 4B4BJC JNZ LER 3DlC 0) RET 1 RETURN 3DlO DC2 : 3D1D x480 ADI -'P' 3DIF 48483C JNZ LER 1 ERRXX 3022 44QE3D JMP DCl 1 CARRY IS SET 7 ; 1.0 MS DELAY ¢1NCLUDIXX CALL,, OCR UR INC, AND JUMP Id CALLING LOOP) ; 3025 DELAY1 3D25 UXxx MVI B,DLY 3027 Dl,0: Dl,0: OCR B 3027 09 3O28 482730 JNZ DLO 3D2B 07 RET 7 RETURN 0 0 i CONVERT BINARY NUMBER TO A STRifVG OF" ASCII DIGITS i RL - BINAXX MJMBEK : DE - DIVISUR (DESCXXXXXX F'CNERX OX" JO) $ C " LEADING Uro SUPRESSION CHARAXXXX $ A,B - TEMPORARIES 7 3D2C DIGIT: PAGE END -------------------------------------- 8008 MACRO AXXXXXXXX, VER 2.2 INTELLEC dlMUU g MONITOR, VERSIOX 3.x, 14 APRIL 1975 ERRORS · 0 PAXX 28 3DxC 0E3Q MVI B, '0' J INITIALIZE CHARACTER 3D2E DGQ: 3DZE Cd IyjOV A,L, 7 SUB DENUM (XX) FXXX NUMERATOR (HL) 3D2F" 94 SUB E 3D30 FX MOV L,A 3031 C5 MUV A,H 3O32 9B SBB D 3033 EB KOV H,A x034 b03B3D JC DGj 6 NEXXXXXX RESULT, ALL DONE 3037 DB XXX B 7 XXXXX NUMBER UF SUBTRACTS 3D38 442E3D JMP DGQ 3D3B L)GI: L)GI: NOV A,L, 3D3B C6 3D3C 84 ADD E 3D3D XX HOV L,,A 3XxX C5 KL)V A,hi 3D3F 8B ADC D 3040 EB NOX H,A 3041 Cl MOV A,B 3D'l2 3?30 CPI '0' ; CHECX FOR LEADING ZERO SUPPRESXXXX gl)4q 485Q3D JNZ DGJ 3047 CA XXX B,C 3O4x DXx ; 3D48 DC MOV D,H 3049 E6 MClV E,L 3D4A 4bB53E CALL PO 3D4D EX XOV H,D xD4E F'4 HOV 1,,E 3D4F 07 RET J PUNCH CHARACTER 3050 DXx: 3050 lbxCx KVI C,'0' 3052 444830 JMP DG2 ; ; ENCODE A BPNF WORD ANX PUNXX IT ; 3055 ENCODU 3055 DO MOV D,X 6 SAVE HI, 3056 E6 M1)V E,L JD57 0E42 XVI B,'t5' J PUNCH A 'B' 3059 46B53E CALL PO 3D5C 1608 14VI C,8 J 1$ BIT COUNT 3D5E END: 3D5E Et3 NOV H,D 3D5F F4 MOV 1,,E 3060 Ob09 MVI A,9 3062 91 sub C 3Db3 CB MOV B,A 3064 C7 MOV A,M 3065 ENIZ 3Dx5 02 RLC 3D6b 09 OCR X PAGE END -------------------------------------- BOOX MACRU ASSEMBLER, VER 2.2 IHTELXXX B/KQO B MCjNITQR, VERSION 3.0, 14 APRIL 1975 ERRORS x 0 XXXX 29 3067 486530 JNZ £N1 306A 408030 JXX EN3 30cA) QL50 l'lVl 13,'P' 3d6f EN2: 3XxX 46853E CALX PO 3072 11 OXX C 3O'I3 485E3D JNZ XXX 3Cti6 0E46 XXX B,'F' 3078 46B$3E CXXX XX 3D7B 0E20 XXX X,' ' 3D7D 448$3E JMP PO 3O80 ENJ: 3080 QE4E MVI B,'N' 3082 446F3D JKP ENx i 7 EVALUATE EXPRESSI0!U ,, ; 3D85 EXPRI 3DC5 DO MOV D,H ; SAVE HL 30x6 Eb MOV £,L 3087 36042E00 LXI H,HPRIM£ 3DBB fxKOV M,D 3DBC 30 INR L 3080 fC MOV XX 308E 1EOQ MVI D,0 X D,E·Q 3090 E3 MClV E,D 3091 EX0: 3J91 46493F CALL Tl J GXX A CHARXXXXX 3094 EX11 3x94 CB' HOV B,A 3DS95 46583E CALL XXXXXX ] CONVERT TO HEX 3098 60AE3D JX EXx ] HUT LEGAL XXXX, TREAT AS DELIMITER 3DxB CB KUV B,A 3D9C 46423F CALL SLOE 31)9f 46423F CALL SLUE 30A2 x6423F CALL SLOE 3DA5 4x423F CALL, SLOE 30Xx Cl mv X,8 30Ag B4 ORA E 30AA ED MOV E,A 3DAB 449130 JMP EX0 ] GET ANOTXXX CHARACTER 3DA£ EXZ: 3DAE 3xQ42EQQ LXI H,HPRJME 3DB2 C7MOV A,K 3DB3 30 IXX L 3DB4 F7 HOX L,M 3DB5 EB MOV H,A 3DB6 FE1 HOV mo 7 PUT MSB IN MEMORY 3DB7 30 INR X 3OB8 FC MXX M,E J PUT LXX IN MEMURY 3OB9 30 JNR L PAGE END -------------------------------------- JXX MACRO ASSEXXXXX, '/XX 2,2 IHTELL,EC 8/F!(JD d :.;OXLT(jR, VERSION 3.0, 14 APRIL, 1975 ERXXXX = 0 PAXX 30 3DdA Cl MO'l A, El ; RESTORE DEXXXXXXX xdbe3 3CZC CPI ' , ' 3DBD 68CF3D JZ EX3 3DCO 3C2Q ?PI ' ' 3DC2 b8Cf3D JZ EX3 3l)C5 KUD CPI CR " 3DC7 48483C JNZ LER 3DCA ll L,CR C 3DCB 48483C JliZ LER 3DCE 07 RET 3DCF EX3: 3DCF ii " OCR C 3DDO 488530 JXX EXPR JDD3 07 RXX I ; GET ADDRESS ikCjX MEMORY AND PUT IN QL, AND DE } 3DD4 GXXXX: 3DIJ4 36GxU0x LXI K,ADR1 i ADDRESS or' IXXXX F'AP.KF,ETER 301)8 Of KCl'i x ,M ' ; 1.!SB 0¢' L(JW ADDRESS 3DU9 30 IhX L 3DDA D7 XUV C ,K ; LSB 0i LUH AijUXESS 3DUB 30 INR L 3DDX XX" HOV [i ,t'l T MSB OF HIGH ADDXXXX 3XXX 3Q INR i, 3DOi i7 MOV E ,X i LSB UP' HIGH ADDRESS 31)UF E9 M0\/ H ,E5 ; KESET AL, 31)EX F"2 K0\/ L ,C 3DEI 07 RET } 1 CQMXXX£ HL XXXX DU X IF Xx, < DE XXXX CARXX " C; J IX KL · DI THEN CAKR1( · D; J IF HL > DI THEN CARR]( " I; 1 xDE2 HIL,01 3DXx 46IQ3D CALL INCKL } BUMP HI, 3DE5 C4 MOV A,i J DE - HL, SE1"/RESET CARRY 3ded 96 SUb L 3DE7 C3 HOV A,D 3DE8 9X) SEl8 X 3DE9 07 RET } RETURN J i CONVERT NIBBLE IN A-REGISTER TU ASCII IK A-XXXXXXXX ; XXX PRINX OX TELEPRIKIEX a t 3DEA HXO: xDEA 46Cl3C " CALL XXXX 3DED 44523C J.4P CO P P ; INCREMENT H AIvD L PAGE END -------------------------------------- 8008 MACRO ASSEMBLER, VER 2.2 XNTEL,LEC 8/MOD 8 MONITXR, VERSION 3,0, 14 APRIL 1975 ERROR3 · 0 PAGE 31 . ; 3DX0 INCHL.: xDX0 x0 INR L 3DFI DB 'RNZ 3DF2 28 INR H 3UF3 07 RET T X EXTERNALLY REFLR1NCEJ) ROUXINE J' IIX SXSXEM STATUS CODE ; XTATUS BXTE KETURNED JN A J' STACK USAGU 2 BYTES $ 3DU jOXHK: 3DF4 36032E00 LXI H,I0BYT 3DF8 C"/ MUV X,M J' GET STXTUS BYTE 3XF9 01 RET J' RETURN P P ; XXTERNALLY REFERENCED RXUTINE ; SET Ilx CORilGURATION ; VALUE EXPECTED IN B j STACK USAGU 2 blTES ; 3DFA IOSET: 3DFA 36032100 LXI H,I0BYT : POINT XI, AT IOBYT 3DFE F9 MljV M,B XDFF 07 RET ; RL1URN ; ; PRINT C(JNTEh1X OF HI, IN HEX ON CONSOLE DEVICE ; 3EQ0 LADR: 3EQ0 DO HOV D,H 3EOl E6 MljV EAL 3EQ2 C3 HOV A,1) 3EQ3 4b103E CALL LBYTE 3E06 C4 MUV A,X 3E07 46103E CALL LUTE 3EOA 46503C CALL BLK 3EQD EB KlxX F1,D 3EOE F4 MOV L,E 3EOF 07 KET g P ; LIST A BYTE AS ? XSCII CHAXACTERS ; 3El0 LBYTEX 3Ex0 DO HOV C ,A J SAVE A COPY Of A 3£1x QA RRC 3El2 DA RXX 3El3 QA RRC 3EJ4 QX RRC 3El5 240F ANI 0FK J UPPER 4 BITS 3E17 46EA3D CALL HXD PAGE END -------------------------------------- 08 XXXXX ASSEMBLER, VER 2.2 JNXXXX,EC 8/KOD 8 MOXXXXX, VERSION 3.0, 14 APRIL 197x ERRORS · 0 PAGE 32 3EIX C2 MDX A,C i RETRIEVE ORIGINAL VALUE 3X!B 240F ANI om ; LOWER 4 BITS 3EID 44EA3D JMP HXD P P t PUNCH b INCHES OF LEADER W P 3E20 LEAD: 3E20 163C " MVI C,6U i SET TU PUNCH » INCHES Of NULLS 3E22 LECN 3E2x 0EQx ' MVJ B,0 3Xxx 46B53E CALL PO 3E27 X! OCR C 3E28 48223E JNZ LEO 3E2B 07 REX ; . ; EXTEXXXXXX REFERENCED ROXXXXX i LIST JUTPUT C'ObE ; VALUX EXPECTED lid B ; A,B,H,L, And FLAGS 6'.0L)jFIED ; STACK (jSAGE: 2 bYTES ; mc X,0: i LIST OUTPUT 3E2C 3b032EOQ LXl H,IXXXX 3E30 C7 MClV A,m ; XXX STATUX XXXX 3E31 24XX An! not lhsk ; GET LIST BITS 3ti33 685C3C JZ TTYUUT ; HST · Xxxx 3Q6 JC4Q CPI LCHT 3E3B 68bC3C JZ CR10UT ; LIST · CRX 3E3B 3?80 CPI LUSEI 7 TEST FDR USLR DEFINED LIST DEVICE 3txX 681237 JZ LILOC ; BKA14XX TO USER DEVICE 3E4x 'U1537 JMP L2LUC ; ELSE BRANCH TO USER LIST 2 ; ; EXTEXXXXXX REFEXXXXXX RUUTlhE ; REIURK ADDRESS OF END OF MEP!0RY TO USER ; A,B,CN,L, AND FLAGS KDDIFIED ; VXXXX RETURNED IN (C,A) ; STACK USAGEX 2 BYTES ; 3E43 MEXXxX: 3E43 36002EOQ bXj Fx,0 3E47 m: 3x47 CF MOV B,M 3E48 3EAA HVI M,QAAH 3E4A C7 MOV A,M 3E'IB F9 NOV M,l3 3E4C 28 JNR H 3E4D 3CAA CPl 0AAK 3E4F b8473E JZ MO 29 OCX hi 3E52 3E53 2!9 ocr h 3E54 31 OCR L PAGE END -------------------------------------- BOOB XXXXX ASSEMBLER, VER 2.2 INT£LL£C BIMXX 8 MOXXXXX, VERSION 3.0, 14 APXXX 1975 XXXXXX · 0 PAGE 33 3E55 C6 KOV A,L 3E56 DS MUV C,H 3E57 x7 RET j j DECXXX ASCII CHAR IN A-REGISTER INTO XXX DIGIT IN K-REGISTER j FILXXX (JUT ALL CHAXXXXXXX NOT IN THE SEQUENCE (0...9,A...F). t RETURN CAHXX = 1 FOR ILLEGAL CHXXXXXXXX. ; 3E58 NjBBLU 3E58 1430 SUI '0' 3ESA 23 RC 3L5E3 04E9 AXX 'O'-'G' 3£5U 23 AC 3ESE x406 ADI 6 3E60 x0663E XX NI0 3E63 04x7 ADI 7 3£65 23 RC 3E66 NIO: 3E66 040A ADI 10 3£68 BD ORA A JEb9 07 RET ; RETURN P P ; DISREGARD NOISE XXXXXXXXXX P 0 3E6A NOISW 3E6A 46493F CXXX n 3E6D 3C3D CPX '"' xE6F 48xXxX JNZ NOISE 3E72 NOO: 3i12 46493F " 3ALL LI 3Ei5 3C20CPl ' ' 3E77 68723E JZ NOD xXxX 07 RET I XXXXXX j j PUNCH A UTE AS 2 ASCII CHARACTERS ; 3E7E3 PBYTU 3E7B DO HOV C ,A 3E7C Qx RRC 3E7D QA, KRC RRC° 3E7E QA 3UF VA RRC 3E80 24QF ANI 0 fii JEl32 46C13C 7ALL Con V 3£85 4CA353E CALL po 3E8U C2 MQV A ,C 3E89 240F ANI UFH 3E8B 46Cl3C CALL CONY 3E8£ 4bB53E CXXX PO 3e91 Cl MXX A.C 3E92 83 ADD D PAGE END -------------------------------------- 8008 MACRO ASSEMULIR, VER 2,2 xNT£LL£C !/XXX 8 MONIXXX, XXXXXXX 3,0, 14 APRIL, 1975 ERRORS · 0 PAGE 34 3E93 DB MOV D,A 3E94 U7 RET i RETURN 1 ; PUNCH CR,LF 0 P 3E95 PEOi.: 3E95 QEOD HVI B,CR 3E91 46B53E CALL PO 3£9A QEOA MVI B,LF 3e9c 44853£ JXX PO 1 / PULSE A PROM LOCATION : HL POINTX TU DATA XX MEMORY ; PRUM ADDRESS IS ALREADY SET ; 3£9f' PXXX 3E9F C7 mv A,M ! XXX DATA FROM MEXXXX 3EA0 2CFF XRL QFFK 1 INVERT IT 3EA2 57 OUT PXX $ OUTPUT IT 3EA3 Xxxx KVI X,PHOG0 j PUXXX PROM PROGRAMMXX 3EA5 53 OUT PRUF,C 3£A6 0600 HVI A,PROXx 3EA0 53 OUT PRUMX 3EA9 C3 HOV A,b I SAVE X 3EAA 1El4 MXx D,LDL,Y 1 DELAY 20 MS. FOR PROGRAMMER SETTLING 3EAC PGQ3 3EAC 462530 CALL DELAY 3£AF 19 XXX 0 3EBQ UAC3E JNZ PG0 3EB3 DB MOV X,A 3EEJx Q'l RET 1 ; EXTERNALLY REFERENCED ROUTINE } PUNCH CIUTPU1 C9DE, VALUE EXPECTED IN B $ X,8,hx,L, AXX FLAC.S MODIFIED 1 STXXX USAGU 2 BYTES ; 3EB5 PO: I PUNCH OUTPUT 3eej5 36032Ex0 LXI H,I0BYT 3Eb9 C7MOV A,H $ GET STATUS BYTE 3EBA ?430 ANI HOT PKSK $ XXX PUNCH BITS 3EBC 605C3C JZ TTYOUT I NO, PUNCH " TTY 3EBF 3Cl0 CPI PPTP 1 XXXX FOR PTP 3ECl 4BD33E JNZ POi I TESX FOR USER DEVICE(3) 3EC4 POX: 1 PUNCH · XXX 3EC4 43 IN PTPS J GET STATUS 3EC5 2¢40 ANI PROV J CHECK STATUS 3EC7 68C43E JZ POD $ ,A)0P UNTIL READY 3ECA xl IXXX A,ES 3ECB 5'/ OUT XXXX 3ECX 060A MVl A,PTPG0 j SURT XXXXX PAGE END -------------------------------------- 8008 MACRX ASSEM0L,ER, VER 2.2 xNTELL,EC 8/P!tjD 8 MOlilTUR, VERSION 3,0, !x APRIL 1975 ERRCIRS · 0 PAGE 35 3ECE x3 OXX PTPC 3ECf 0608 KVI A,PTPN0 ; STGP PUXXX 3ED1 53 OUT PTPC 3Elj2 07 RET 3ED3 Poi: 3£D3 3CZ0 XXx XXXXx 3ED5 68xCx7 JZ P1L,GC 3ed8 440Fx7 JHP PZl,0C ; 7 EXTERNALLY REFEREXXXX ROUTINE ; READER IiiPUI CUDE 1 VALUE REXXXXXX IN A ; A,B,E,X, A!vL1 FLRGS MjDIE"IE0 ; STACK USAXX 4 BYTES ; 3EDB Rl : ; READER INPUT 3EXX 3603xEOU " LXI H,I0XXX ; POlh1' FiL Al' IOBYT 3L'DF C7 MOX A ,P. 3£LO READE"R · PTR? 24QC ANI NOT RMSK ; 3EE2 48033F JN Z RI31 ERAXXX IQ PTR XXXXXXX 3EE5 Ob09 MVI A,T7YGCJ ; REAXXX " XXX . 3EE7 53 OUT TTC 3EE8 0608 MVI A,7TYNO 3EEA 53 OXX TxC 3E£B 2XXX MVI H,1QUT ; SET TIMER FOR RXXXXX TIMEOUT 3IEU RJ0: 3EED 43 ' IN TI S 3EEE 2401 ANI T'fYDA 3EF0 68FF3E JZ RIZ ; DXXX IS READY 3EF3 4x253x CALL DELAY 7 DEL,A1' 1.0 MS 3EF6 29 OCR H 3EF7 48ED3E JNZ Rl 0 3EFA RI1: 3EFA bO " ORA A 3EFB 06x1 MVI A, I 3EFD 1A RAR ; SET CARRY IKDICATING EOF 3£FE 07 RET 1 XXXXXX 3EFF RI2 : 3£FF' 41 IN T1'1 xFQ0 2CFF XRX QFFH } INVEXX DATA, CLEAR CARRY 3102 07 RET 1 RETURN 3FQ3 Ri3: ; PTR RO'JTINE Ri3: CPI 3F03 9?04 RPXX 3F05 48233F JxiZ RIx 3F"08 06uC MVI A,P,TRG0 3FOA 53 OUT PTRC 3FOEJ 0b08 MVI A,PTRN0 3FXX 53 OUT PTRC 3FOE 2EXX MVI H,70UT ; SET TIMER FOR READER TIMEOUT 3FlO RI4 : 3FlO 43 IN PTXX PAGE END -------------------------------------- 8008 MACRX AXXXXXXXX, VEK 2.2 INTELLEC B/MOD 8 MONITOX, VXXXXXX 3.0, 14 APRIL 1975 XXXXXX · Q PAGE 36 3F11 2420 XXx PTRXX 3Fl3 4(J203F JNZ RI5 3F16 4U53D CALL, DXXXX k DELAY 1.0 MX. 3Fl9 29 OCR H 3FIA 4810JF J!¢Z RI4 xFID 44FA3E jµ.p XXX 3F20 ms: 3F20 47 IN P'Ckl I GET THE DATA 3F21 BD ORA A ; CLEAR CARRY 3F22 07 RET X R£TURN 3F23 Ris: 3F23 3C08 CPI RUSEI 3F25 6806x7 JZ RIL,0¢ 3F28 440937 J.MP MLOC e P ; GET CHARACTLR FROM REAXXX, MASK Off PXXXXX BXX P V 3F"2B RiX: 3Fx8 46DBx£ CALL XI 3F2E b0483C JC LER 3F31 ?47F Ahl 7FH 3F33 07 RET X RETURN ; $ SAVE HL AND DE IN MEMORY $ 3F34 SAVIT: 3F34 CD MOV H,H X SAVE HI, 3F3x 06 MOV C,L 3F3b 360BZE00 LXI K,ADR1 I POINT TO FIRST PARAMEXXX xF3A F"y MOV K,B I MSB OF LON ADDRESS 3F3B 30 INR L 3F3C FA MOV mc I LSB OF LCM ADXXXXX xF3D 30 INR L, 3FJE FB MOV M,Cl I MSB OF HJGH ADDREXX 3FJF 30 INX L 3F40 FC XOV M,E i LSB OF HIGH ADDRESS 3F41 07 RET : j SHIFT DE LEFT x PXXXX 1 3F42 SLDEJ 3F42 C4 ' HOX A,E 3f43 BD ADD A 3F44 ED uxov e,a 3F45 C3 MOV A,U 3f46 BB ADC A 3U7 O8 MOV D,A JF48 07 RET x ; INPUT IROX CONSOLE, ECHOXX AND RETXXXXX IN A V PAGE END -------------------------------------- INTELLEC 8/KOD 6 MONITOR, VERSION 3.0, 14 APRIL 1975 ERX(JR3 Z 0 PAGE x7 8008 MACRO ASSEMBLER, VEX 2.2 · P · 3F49 n: Jf49 46963C " CALL CI 3F¢C 247FANI 7FH Ei ,A 3F¢E CB MXX 3F4F 46523C CALL CO jrsi Cl nov A,B 1Xxx 07 RE7 V J J 1/0 SYSTXX PHYSICAL DEVICE TABLES J 2 BYTES/ENTRY J BYTE 0 · IDErvTIFYING CHXXXXXXX ; BYXX I · DEVICE SEXXXX BIT PATTERN J 3F54 ICTB ' DB 'T',XXXX J CONSOLE · TTY 3F54 5400 JF56 4301 DB 'C',CCRT J CONSOLE · CRT 3F58 4202 DX 'B',BATCH J BATCH MODX CONSOLE · RXXX,I,IST 3F5A 3103 DB '1',CUSE ; USiR DXXXXXX COXXXXX DXXXXX 3F5C IRTI 3FSC 5400 " DB 'T',RTXX J READER · TTY 3F5E 5004 DB 'P',RPTR J READER · PTR 3F6Q 3108 DB 'x',RUSU J USER DEFINED REXXXX DEVICE 1 3f62 320C DB '2',RUS£Z J USER DEFINED READXX DEVICE 2 JFb4 DPT: 3164 5400 DB '1",PTTY ; PUKCH U TTX 3r66 SOlO DB 'P',PPTP ; PUNXX · PTP 3r68 3x20 DB '1',PUXXX ; USER DEFINED PUNCH DEVICX I ; USER DEFINED XXXXX DEXXXX 2 3F6A 3230 DB '2',PUSE2 3FbC OLTI 3F6C 5400 " DB 'T',LTTY 7 LIST · TTX 3F6E 4340 DB 'C',LCRT 7 LIST · CRT 3F7Q mo DB 'I',L,USXx J USXX DEFIKED LJST DEVXXX I 3F12 32CQ ; USXX DEFINED LIST DEVICE 2 DB '2',LVSU J 7 XXX OF PROGRAM ! END NO PROGRAM ERXXXX PAGE END -------------------------------------- 80 MACRO ASSEMBLER, VER 2.2 INTEL,x,EC 8/MOX x MONITOR, VERSION 3.0, 14 APRIL 1975 ERMRS · Q XAGX 38 SYKBOL, TABLE $ 1 A x000 ADR1 0008 XDR2 000X ADE' 'JOC ASO 30E4 ASl 30F2 AX2 3900 AS:. :8A3 B 000x BATCH 0002 BEGIN 38?9 Bli cjOOO e 3C50 BKQ 3x17 BNJ 3S'4¢ BNt'F 390E B 'L' 3C7X C 0O02 CBRCK 00U6 CCRT 0001 ci 3cxb ClO 3CA7 Cll JCP.A CI2 3CD9 CJJAJC 3700 CM0 3976 CUll 39A2 CXSK 00fC C ! 3CC8 CX 3C52 COO 3CU COl 3Cx7 C ,QC 370J CXKP 3967 cct:v 3CCi CR' 00OIX Cruf 3¢CC CKTBE ¢004 CRTDA QQ01 CRTI 0004 CRTIN 3CXF CRXO 0x0C CRIQIJ 3CbC CRTS 0X05 C"q 3CU CSl 3CEX CS2 3CEE CS3 3CF2 C ,0C 3718 csts 3CD6 CTTY 0QC'0 CL'SE 0003 X 000J DCO 3D'jo DCl 3DOE DC2 3DiCi DEOUG 0000 D£COD 3CFC DELAY JDd5 CGQ JD2E XGJ 3D3B - DG2 JD4x DGx 3050 DIQ 39AF L"1 3988 DIGIT 3D2C DISP 39AC DLU 30x7 t ( 00x7 DSB 0008 E 0004 EKU 3D5E L j 3065 EN2 3DxF EN3 3080 ENB 0000 EKOD 3x55 EDP 3907 EXO 309x EXl 3X94 EEK7 3'DA£ FAx JDCF £XPR 3DB5 FALSE 0000 F ) 3AOC FILL 3AQ3 FIRST 0V00 GQ 3066 C rAD 3DD4 GOTO 3AI6 H 00QS HEXN jAiO hbuO JD£2 KPRIK 00U4 HXD xDEA ICT 3F$4 INCHL 3Df0 INIT QQOQ IO8YT 0X03 JOCHK 3DF4 j^k1xd mi ioscr 31)fA irt 3fsc l 0006 1 xOC 3712 L2LOC 3715 XXDX xEOU LBYTE mo I 'IT 0040 LDLY 001¢ LEO 3E22 LEAD mx LER xC48 LF QQOA LMSK 003F LO 3E2C L(Jx 3A4E LOAD 3A4® LTTY 000x LUSEI 0060 {' 'SE2 0xCQ LVEX 0008 )Q 0007 HO 3£47 ) XCK x£4x MQDI0 0728 HOVE 3ASZ MVQ JA66 ! 0 3£66 NJbliUL 3E58 NOQ 3E72 KOISE 3E6A XULL 3X8E OXT 3F6C OPT 3F64 P1L,OC 37xC Uluc 370F PAX 000A PBITA 008¢ PBYTE 3170 I KD 00x2 POl 0002 PDQ 0000 PEQL JU5 j 0 XEAC PGRN 3E9F PM6K xQCF PO ms x,,jo 3£U POl 3ED3 PPT? 0010 PRO JAAD PRl 3abd PXZ 3ADD PR3 3AiiS PR4 3AEA =OV 0040 PR0G 3A94 PROGO 0000 PR1XMC 0009 ONO 0000 PTPC 0009 PTXXO oo(A PTPN0 00x6 PO 00UB PTP6 0001 PTRC 00Qy PTRDA OO20 !'TXG0 0QOC PTRI 0003 PXRNO 0008 PTRS 0001 PTTY 0000 PUSH 0020 PUSEx 0030 R1L,OC 3706 .LDX J7x9 RBIT 000x RCMD 0004 READ 3AFx :OO 3afc R£D1 3835 RED2 385A HI xED6 .0 3EED RI1" JEFA Rl2 3£FF RI3 3F03 RI4 xFN RI$ 3x20 X!6 3F23 RIX 3X26 AXK OQF3 RPTR 0004 RTtY QOQO RUxEI 0008 J6E2 000C SAVIT 3F34 SLOE 3X42 START 3844 JO 3876 6Ul 3BAA SUBS 3B6A TBL 3975 tL 3f49 TOUT XFA TRO 3KS TRAN xou PAGE END -------------------------------------- TRUE FFFF TTC 0009 TTI 0000 no 0008 TTS 0x01 XXXXX 0004 IXXXX Q00i TTYGI) 0009 XXXXX JCA0 TTXxx 000x TTYOU 3C5C VER 0011 V£R0 3835 \,'£RS 381E K'RI0 38DD hRll 38f5 WRI2 3BF8 wRI? xC24 nRITE 38DA * 02 XXXXx 38EIF TEST 3BD2 * 03 S 04 * 05 PAGE END