DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦78225c848⟧

    Length: 8192 (0x2000)
    Names: »RXP.PAS«

Derivation

└─⟦0d02879d3⟧ Bits:30004605 COMPAS Pascal version 3.03
    └─ ⟦this⟧ »RXP.PAS« 

Hex Dump

0x0000…0020 21 00 00 39 22 15 02 31 57 02 cd c1 01 fe ff c2 1b 01 11 f3 01 cd 9c 01 c3 51 01 3e 80 32 13 02   ┆!  9"  1W                Q > 2  ┆
0x0020…0040 21 00 00 e5 cd a2 01 e1 da 51 01 47 7d e6 0f c2 44 01 cd 72 01 cd 59 01 0f da 51 01 7c cd 8f 01   ┆!        Q Gå   D  r  Y   Q ø   ┆
0x0040…0060 7d cd 8f 01 23 3e 20 cd 65 01 78 cd 8f 01 c3 23 01 cd 72 01 2a 15 02 f9 c9 e5 d5 c5 0e 0b cd 05   ┆å   #>  e x    #  r *           ┆
0x0060…0080 00 c1 d1 e1 c9 e5 d5 c5 0e 02 5f cd 05 00 c1 d1 e1 c9 3e 0d cd 65 01 3e 0a cd 65 01 c9 e6 0f fe   ┆          _       >  e >  e     ┆
0x0080…00a0 0a d2 89 01 c6 30 c3 8b 01 c6 37 cd 65 01 c9 f5 0f 0f 0f 0f cd 7d 01 f1 cd 7d 01 c9 0e 09 cd 05   ┆     0    7 e        å   å      ┆
0x00a0…00c0 00 c9 3a 13 02 fe 80 c2 b3 01 cd ce 01 b7 ca b3 01 37 c9 5f 16 00 3c 32 13 02 21 80 00 19 7e b7   ┆  :              7 _  <2  !   ü ┆
0x00c0…00e0 c9 af 32 7c 00 11 5c 00 0e 0f cd 05 00 c9 e5 d5 c5 11 5c 00 0e 14 cd 05 00 c1 d1 e1 c9 46 49 4c   ┆  2ø  Ø           Ø          FIL┆
0x00e0…0100 45 20 44 55 4d 50 20 56 45 52 53 49 4f 4e 20 31 2e 34 24 0d 0a 4e 4f 20 49 4e 50 55 54 20 46 49   ┆E DUMP VERSION 1.4$  NO INPUT FI┆
0x0100…0120 4c 45 20 50 52 45 53 45 4e 54 20 4f 4e 20 44 49 53 4b 24 ea 21 f5 c5 d5 e5 59 0e 02 cd 06 10 e1   ┆LE PRESENT ON DISK$ !    Y      ┆
0x0120…0140 d1 c1 f1 c9 fe 20 c8 fe 09 c8 fe 2c c8 fe 0d c8 fe 7f ca 3c 05 c9 0e 0d cd 15 00 0e 0a cd 15 00   ┆           ,       <            ┆
0x0140…0160 c9 cd 09 07 fe 0d ca 2a 05 cd 24 00 ca 41 00 0e 04 21 8b 06 36 20 23 0d c2 54 00 0e 05 21 8b 06   ┆       *  $  A   !  6 #  T   !  ┆
0x0160…0180 77 cd 09 07 cd 24 00 ca 72 00 23 0d ca 2a 05 c3 60 00 3a 8b 06 fe 20 c9 d6 30 fe 0a d8 c6 f9 fe   ┆w    $  r #  *  ` :      0      ┆
0x0180…01a0 10 d8 c3 2a 05 cd 41 00 ca 2a 05 11 00 00 01 00 00 21 8b 06 09 7e fe 20 ca b0 00 cd 78 00 6b 62   ┆   *  A  *       !   ü      x kb┆
0x01a0…01c0 29 29 29 29 5f 16 00 19 eb 03 79 fe 04 c2 91 00 42 4b 7b 05 04 c9 cd 85 00 c2 2a 05 c9 21 05 00   ┆))))_     y     BKæ       *  !  ┆
0x01c0…01e0 36 c3 36 c3 21 00 00 22 06 00 c9 17 17 17 e6 38 c9 17 17 17 17 e6 30 c9 eb 2a 8b 06 eb 7b be c2   ┆6 6 !  "       8      0  *   æ  ┆
0x01e0…0200 e7 00 23 7a be c8 2b 2b 2b 0d c2 dd 00 0d c9 06 04 d5 11 8b 06 1a be c2 02 01 23 13 05 c2 f5 00   ┆  #z  +++                 #     ┆
0x0200…0220 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
        […0x2f…]
0x0800…0820 3b 09 46 49 4c 45 20 44 55 4d 50 20 50 52 4f 47 52 41 4d 2c 20 52 45 41 44 53 20 41 4e 20 49 4e   ┆; FILE DUMP PROGRAM, READS AN IN┆
0x0820…0840 50 55 54 20 46 49 4c 45 20 41 4e 44 20 50 52 49 4e 54 53 20 49 4e 20 48 45 58 0d 0a 3b 0d 0a 3b   ┆PUT FILE AND PRINTS IN HEX  ;  ;┆
0x0840…0860 09 43 4f 50 59 52 49 47 48 54 20 28 43 29 20 31 39 37 35 2c 20 31 39 37 36 2c 20 31 39 37 37 2c   ┆ COPYRIGHT (C) 1975, 1976, 1977,┆
0x0860…0880 20 31 39 37 38 0d 0a 3b 09 44 49 47 49 54 41 4c 20 52 45 53 45 41 52 43 48 0d 0a 3b 09 42 4f 58   ┆ 1978  ; DIGITAL RESEARCH  ; BOX┆
0x0880…08a0 20 35 37 39 2c 20 50 41 43 49 46 49 43 20 47 52 4f 56 45 0d 0a 3b 09 43 41 4c 49 46 4f 52 4e 49   ┆ 579, PACIFIC GROVE  ; CALIFORNI┆
0x08a0…08c0 41 2c 20 39 33 39 35 30 0d 0a 3b 0d 0a 09 4f 52 47 09 31 30 30 48 0d 0a 42 44 4f 53 09 45 51 55   ┆A, 93950  ;   ORG 100H  BDOS EQU┆
0x08c0…08e0 09 30 30 30 35 48 09 3b 44 4f 53 20 45 4e 54 52 59 20 50 4f 49 4e 54 0d 0a 43 4f 4e 53 09 45 51   ┆ 0005H ;DOS ENTRY POINT  CONS EQ┆
0x08e0…0900 55 09 31 09 3b 52 45 41 44 20 43 4f 4e 53 4f 4c 45 0d 0a 54 59 50 45 46 09 45 51 55 09 32 09 3b   ┆U 1 ;READ CONSOLE  TYPEF EQU 2 ;┆
0x0900…0920 54 59 50 45 20 46 55 4e 43 54 49 4f 4e 0d 0a 50 52 49 4e 54 46 09 45 51 55 09 39 09 3b 42 55 46   ┆TYPE FUNCTION  PRINTF EQU 9 ;BUF┆
0x0920…0940 46 45 52 20 50 52 49 4e 54 20 45 4e 54 52 59 0d 0a 42 52 4b 46 09 45 51 55 09 31 31 09 3b 42 52   ┆FER PRINT ENTRY  BRKF EQU 11 ;BR┆
0x0940…0960 45 41 4b 20 4b 45 59 20 46 55 4e 43 54 49 4f 4e 20 28 54 52 55 45 20 49 46 20 43 48 41 52 20 52   ┆EAK KEY FUNCTION (TRUE IF CHAR R┆
0x0960…0980 45 41 44 59 29 0d 0a 4f 50 45 4e 46 09 45 51 55 09 31 35 09 3b 46 49 4c 45 20 4f 50 45 4e 0d 0a   ┆EADY)  OPENF EQU 15 ;FILE OPEN  ┆
0x0980…09a0 52 45 41 44 46 09 45 51 55 09 32 30 09 3b 52 45 41 44 20 46 55 4e 43 54 49 4f 4e 0d 0a 3b 0d 0a   ┆READF EQU 20 ;READ FUNCTION  ;  ┆
0x09a0…09c0 46 43 42 09 45 51 55 09 35 43 48 09 3b 46 49 4c 45 20 43 4f 4e 54 52 4f 4c 20 42 4c 4f 43 4b 20   ┆FCB EQU 5CH ;FILE CONTROL BLOCK ┆
0x09c0…09e0 41 44 44 52 45 53 53 0d 0a 42 55 46 46 09 45 51 55 09 38 30 48 09 3b 49 4e 50 55 54 20 44 49 53   ┆ADDRESS  BUFF EQU 80H ;INPUT DIS┆
0x09e0…0a00 4b 20 42 55 46 46 45 52 20 41 44 44 52 45 53 53 0d 0a 3b 0d 0a 3b 09 4e 4f 4e 20 47 52 41 50 48   ┆K BUFFER ADDRESS  ;  ; NON GRAPH┆
0x0a00…0a20 49 43 20 43 48 41 52 41 43 54 45 52 53 0d 0a 43 52 09 45 51 55 09 30 44 48 09 3b 43 41 52 52 49   ┆IC CHARACTERS  CR EQU 0DH ;CARRI┆
0x0a20…0a40 41 47 45 20 52 45 54 55 52 4e 0d 0a 4c 46 09 45 51 55 09 30 41 48 09 3b 4c 49 4e 45 20 46 45 45   ┆AGE RETURN  LF EQU 0AH ;LINE FEE┆
0x0a40…0a60 44 0d 0a 3b 0d 0a 3b 09 46 49 4c 45 20 43 4f 4e 54 52 4f 4c 20 42 4c 4f 43 4b 20 44 45 46 49 4e   ┆D  ;  ; FILE CONTROL BLOCK DEFIN┆
0x0a60…0a80 49 54 49 4f 4e 53 0d 0a 46 43 42 44 4e 09 45 51 55 09 46 43 42 2b 30 09 3b 44 49 53 4b 20 4e 41   ┆ITIONS  FCBDN EQU FCB+0 ;DISK NA┆
0x0a80…0aa0 4d 45 0d 0a 46 43 42 46 4e 09 45 51 55 09 46 43 42 2b 31 09 3b 46 49 4c 45 20 4e 41 4d 45 0d 0a   ┆ME  FCBFN EQU FCB+1 ;FILE NAME  ┆
0x0aa0…0ac0 46 43 42 46 54 09 45 51 55 09 46 43 42 2b 39 09 3b 44 49 53 4b 20 46 49 4c 45 20 54 59 50 45 20   ┆FCBFT EQU FCB+9 ;DISK FILE TYPE ┆
0x0ac0…0ae0 28 33 20 43 48 41 52 41 43 54 45 52 53 29 0d 0a 46 43 42 52 4c 09 45 51 55 09 46 43 42 2b 31 32   ┆(3 CHARACTERS)  FCBRL EQU FCB+12┆
0x0ae0…0b00 09 3b 46 49 4c 45 27 53 20 43 55 52 52 45 4e 54 20 52 45 45 4c 20 4e 55 4d 42 45 52 0d 0a 46 43   ┆ ;FILE'S CURRENT REEL NUMBER  FC┆
0x0b00…0b20 42 52 43 09 45 51 55 09 46 43 42 2b 31 35 09 3b 46 49 4c 45 27 53 20 52 45 43 4f 52 44 20 43 4f   ┆BRC EQU FCB+15 ;FILE'S RECORD CO┆
0x0b20…0b40 55 4e 54 20 28 30 20 54 4f 20 31 32 38 29 0d 0a 46 43 42 43 52 09 45 51 55 09 46 43 42 2b 33 32   ┆UNT (0 TO 128)  FCBCR EQU FCB+32┆
0x0b40…0b60 09 3b 43 55 52 52 45 4e 54 20 28 4e 45 58 54 29 20 52 45 43 4f 52 44 20 4e 55 4d 42 45 52 20 28   ┆ ;CURRENT (NEXT) RECORD NUMBER (┆
0x0b60…0b80 30 20 54 4f 20 31 32 37 29 0d 0a 46 43 42 4c 4e 09 45 51 55 09 46 43 42 2b 33 33 09 3b 46 43 42   ┆0 TO 127)  FCBLN EQU FCB+33 ;FCB┆
0x0b80…0ba0 20 4c 45 4e 47 54 48 0d 0a 3b 0d 0a 3b 09 53 45 54 20 55 50 20 53 54 41 43 4b 0d 0a 09 4c 58 49   ┆ LENGTH  ;  ; SET UP STACK   LXI┆
0x0ba0…0bc0 09 48 2c 30 0d 0a 09 44 41 44 09 53 50 0d 0a 3b 09 45 4e 54 52 59 20 53 54 41 43 4b 20 50 4f 49   ┆ H,0   DAD SP  ; ENTRY STACK POI┆
0x0bc0…0be0 4e 54 45 52 20 49 4e 20 48 4c 20 46 52 4f 4d 20 54 48 45 20 43 43 50 0d 0a 09 53 48 4c 44 09 4f   ┆NTER IN HL FROM THE CCP   SHLD O┆
0x0be0…0c00 4c 44 53 50 0d 0a 3b 09 53 45 54 20 53 50 20 54 4f 20 4c 4f 43 41 4c 20 53 54 41 43 4b 20 41 52   ┆LDSP  ; SET SP TO LOCAL STACK AR┆
0x0c00…0c20 45 41 20 28 52 45 53 54 4f 52 45 44 20 41 54 20 46 49 4e 49 53 29 0d 0a 09 4c 58 49 09 53 50 2c   ┆EA (RESTORED AT FINIS)   LXI SP,┆
0x0c20…0c40 53 54 4b 54 4f 50 0d 0a 3b 09 52 45 41 44 20 41 4e 44 20 50 52 49 4e 54 20 53 55 43 43 45 53 53   ┆STKTOP  ; READ AND PRINT SUCCESS┆
0x0c40…0c60 49 56 45 20 42 55 46 46 45 52 53 0d 0a 09 43 41 4c 4c 09 53 45 54 55 50 09 3b 53 45 54 20 55 50   ┆IVE BUFFERS   CALL SETUP ;SET UP┆
0x0c60…0c80 20 49 4e 50 55 54 20 46 49 4c 45 0d 0a 09 43 50 49 09 32 35 35 09 3b 32 35 35 20 49 46 20 46 49   ┆ INPUT FILE   CPI 255 ;255 IF FI┆
0x0c80…0ca0 4c 45 20 4e 4f 54 20 50 52 45 53 45 4e 54 0d 0a 09 4a 4e 5a 09 4f 50 45 4e 4f 4b 09 3b 53 4b 49   ┆LE NOT PRESENT   JNZ OPENOK ;SKI┆
0x0ca0…0cc0 50 20 49 46 20 4f 50 45 4e 20 49 53 20 4f 4b 0d 0a 3b 0d 0a 3b 09 46 49 4c 45 20 4e 4f 54 20 54   ┆P IF OPEN IS OK  ;  ; FILE NOT T┆
0x0cc0…0ce0 48 45 52 45 2c 20 47 49 56 45 20 45 52 52 4f 52 20 4d 45 53 53 41 47 45 20 41 4e 44 20 52 45 54   ┆HERE, GIVE ERROR MESSAGE AND RET┆
0x0ce0…0d00 55 52 4e 0d 0a 09 4c 58 49 09 44 2c 4f 50 4e 4d 53 47 0d 0a 09 43 41 4c 4c 09 45 52 52 0d 0a 09   ┆URN   LXI D,OPNMSG   CALL ERR   ┆
0x0d00…0d20 4a 4d 50 09 46 49 4e 49 53 09 3b 54 4f 20 52 45 54 55 52 4e 0d 0a 3b 0d 0a 4f 50 45 4e 4f 4b 3a   ┆JMP FINIS ;TO RETURN  ;  OPENOK:┆
0x0d20…0d40 09 3b 4f 50 45 4e 20 4f 50 45 52 41 54 49 4f 4e 20 4f 4b 2c 20 53 45 54 20 42 55 46 46 45 52 20   ┆ ;OPEN OPERATION OK, SET BUFFER ┆
0x0d40…0d60 49 4e 44 45 58 20 54 4f 20 45 4e 44 0d 0a 09 4d 56 49 09 41 2c 38 30 48 0d 0a 09 53 54 41 09 49   ┆INDEX TO END   MVI A,80H   STA I┆
0x0d60…0d80 42 50 09 3b 53 45 54 20 42 55 46 46 45 52 20 50 4f 49 4e 54 45 52 20 54 4f 20 38 30 48 0d 0a 3b   ┆BP ;SET BUFFER POINTER TO 80H  ;┆
0x0d80…0da0 09 48 4c 20 43 4f 4e 54 41 49 4e 53 20 4e 45 58 54 20 41 44 44 52 45 53 53 20 54 4f 20 50 52 49   ┆ HL CONTAINS NEXT ADDRESS TO PRI┆
0x0da0…0dc0 4e 54 0d 0a 09 4c 58 49 09 48 2c 30 09 3b 53 54 41 52 54 20 57 49 54 48 20 30 30 30 30 0d 0a 3b   ┆NT   LXI H,0 ;START WITH 0000  ;┆
0x0dc0…0de0 0d 0a 47 4c 4f 4f 50 3a 0d 0a 09 50 55 53 48 09 48 09 3b 53 41 56 45 20 4c 49 4e 45 20 50 4f 53   ┆  GLOOP:   PUSH H ;SAVE LINE POS┆
0x0de0…0e00 49 54 49 4f 4e 0d 0a 09 43 41 4c 4c 09 47 4e 42 0d 0a 09 50 4f 50 09 48 09 3b 52 45 43 41 4c 4c   ┆ITION   CALL GNB   POP H ;RECALL┆
0x0e00…0e20 20 4c 49 4e 45 20 50 4f 53 49 54 49 4f 4e 0d 0a 09 4a 43 09 46 49 4e 49 53 09 3b 43 41 52 52 59   ┆ LINE POSITION   JC FINIS ;CARRY┆
0x0e20…0e40 20 53 45 54 20 42 59 20 47 4e 42 20 49 46 20 45 4e 44 20 46 49 4c 45 0d 0a 09 4d 4f 56 09 42 2c   ┆ SET BY GNB IF END FILE   MOV B,┆
0x0e40…0e60 41 0d 0a 3b 09 50 52 49 4e 54 20 48 45 58 20 56 41 4c 55 45 53 0d 0a 3b 09 43 48 45 43 4b 20 46   ┆A  ; PRINT HEX VALUES  ; CHECK F┆
0x0e60…0e80 4f 52 20 4c 49 4e 45 20 46 4f 4c 44 0d 0a 09 4d 4f 56 09 41 2c 4c 0d 0a 09 41 4e 49 09 30 46 48   ┆OR LINE FOLD   MOV A,L   ANI 0FH┆
0x0e80…0ea0 09 3b 43 48 45 43 4b 20 4c 4f 57 20 34 20 42 49 54 53 0d 0a 09 4a 4e 5a 09 4e 4f 4e 55 4d 0d 0a   ┆ ;CHECK LOW 4 BITS   JNZ NONUM  ┆
0x0ea0…0ec0 3b 09 50 52 49 4e 54 20 4c 49 4e 45 20 4e 55 4d 42 45 52 0d 0a 09 43 41 4c 4c 09 43 52 4c 46 0d   ┆; PRINT LINE NUMBER   CALL CRLF ┆
0x0ec0…0ee0 0a 3b 0d 0a 3b 09 43 48 45 43 4b 20 46 4f 52 20 42 52 45 41 4b 20 4b 45 59 0d 0a 09 43 41 4c 4c   ┆ ;  ; CHECK FOR BREAK KEY   CALL┆
0x0ee0…0f00 09 42 52 45 41 4b 0d 0a 3b 09 41 43 43 55 4d 20 4c 53 42 20 3d 20 31 20 49 46 20 43 48 41 52 41   ┆ BREAK  ; ACCUM LSB = 1 IF CHARA┆
0x0f00…0f20 43 54 45 52 20 52 45 41 44 59 0d 0a 09 52 52 43 09 09 3b 49 4e 54 4f 20 43 41 52 52 59 0d 0a 09   ┆CTER READY   RRC  ;INTO CARRY   ┆
0x0f20…0f40 4a 43 09 46 49 4e 49 53 09 3b 44 4f 4e 27 54 20 50 52 49 4e 54 20 41 4e 59 20 4d 4f 52 45 0d 0a   ┆JC FINIS ;DON'T PRINT ANY MORE  ┆
0x0f40…0f60 3b 0d 0a 09 4d 4f 56 09 41 2c 48 0d 0a 09 43 41 4c 4c 09 50 48 45 58 0d 0a 09 4d 4f 56 09 41 2c   ┆;   MOV A,H   CALL PHEX   MOV A,┆
0x0f60…0f80 4c 0d 0a 09 43 41 4c 4c 09 50 48 45 58 0d 0a 4e 4f 4e 55 4d 3a 0d 0a 09 49 4e 58 09 48 09 3b 54   ┆L   CALL PHEX  NONUM:   INX H ;T┆
0x0f80…0fa0 4f 20 4e 45 58 54 20 4c 49 4e 45 20 4e 55 4d 42 45 52 0d 0a 09 4d 56 49 09 41 2c 27 20 27 0d 0a   ┆O NEXT LINE NUMBER   MVI A,' '  ┆
0x0fa0…0fc0 09 43 41 4c 4c 09 50 43 48 41 52 0d 0a 09 4d 4f 56 09 41 2c 42 0d 0a 09 43 41 4c 4c 09 50 48 45   ┆ CALL PCHAR   MOV A,B   CALL PHE┆
0x0fc0…0fe0 58 0d 0a 09 4a 4d 50 09 47 4c 4f 4f 50 0d 0a 3b 0d 0a 46 49 4e 49 53 3a 0d 0a 3b 09 45 4e 44 20   ┆X   JMP GLOOP  ;  FINIS:  ; END ┆
0x0fe0…1000 4f 46 20 44 55 4d 50 2c 20 52 45 54 55 52 4e 20 54 4f 20 43 43 50 0d 0a 3b 09 28 4e 4f 54 45 20   ┆OF DUMP, RETURN TO CCP  ; (NOTE ┆
0x1000…1020 54 48 41 54 20 41 20 4a 4d 50 20 54 4f 20 30 30 30 30 48 20 52 45 42 4f 4f 54 53 29 0d 0a 09 43   ┆THAT A JMP TO 0000H REBOOTS)   C┆
0x1020…1040 41 4c 4c 09 43 52 4c 46 0d 0a 09 4c 48 4c 44 09 4f 4c 44 53 50 0d 0a 09 53 50 48 4c 0d 0a 3b 09   ┆ALL CRLF   LHLD OLDSP   SPHL  ; ┆
0x1040…1060 53 54 41 43 4b 20 50 4f 49 4e 54 45 52 20 43 4f 4e 54 41 49 4e 53 20 43 43 50 27 53 20 53 54 41   ┆STACK POINTER CONTAINS CCP'S STA┆
0x1060…1080 43 4b 20 4c 4f 43 41 54 49 4f 4e 0d 0a 09 52 45 54 09 09 3b 54 4f 20 54 48 45 20 43 43 50 0d 0a   ┆CK LOCATION   RET  ;TO THE CCP  ┆
0x1080…10a0 3b 0d 0a 3b 0d 0a 3b 09 53 55 42 52 4f 55 54 49 4e 45 53 0d 0a 3b 0d 0a 42 52 45 41 4b 3a 09 3b   ┆;  ;  ; SUBROUTINES  ;  BREAK: ;┆
0x10a0…10c0 43 48 45 43 4b 20 42 52 45 41 4b 20 4b 45 59 20 28 41 43 54 55 41 4c 4c 59 20 41 4e 59 20 4b 45   ┆CHECK BREAK KEY (ACTUALLY ANY KE┆
0x10c0…10e0 59 20 57 49 4c 4c 20 44 4f 29 0d 0a 09 50 55 53 48 20 48 21 20 50 55 53 48 20 44 21 20 50 55 53   ┆Y WILL DO)   PUSH H! PUSH D! PUS┆
0x10e0…1100 48 20 42 3b 20 45 4e 56 49 52 4f 4e 4d 45 4e 54 20 53 41 56 45 44 0d 0a 09 4d 56 49 09 43 2c 42   ┆H B; ENVIRONMENT SAVED   MVI C,B┆
0x1100…1120 52 4b 46 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 0d 0a 09 50 4f 50 20 42 21 20 50 4f 50 20 44 21 20   ┆RKF   CALL BDOS   POP B! POP D! ┆
0x1120…1140 50 4f 50 20 48 3b 20 45 4e 56 49 52 4f 4e 4d 45 4e 54 20 52 45 53 54 4f 52 45 44 0d 0a 09 52 45   ┆POP H; ENVIRONMENT RESTORED   RE┆
0x1140…1160 54 0d 0a 3b 0d 0a 50 43 48 41 52 3a 09 3b 50 52 49 4e 54 20 41 20 43 48 41 52 41 43 54 45 52 0d   ┆T  ;  PCHAR: ;PRINT A CHARACTER ┆
0x1160…1180 0a 09 50 55 53 48 20 48 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 42 3b 20 53 41 56 45 44 0d   ┆  PUSH H! PUSH D! PUSH B; SAVED ┆
0x1180…11a0 0a 09 4d 56 49 09 43 2c 54 59 50 45 46 0d 0a 09 4d 4f 56 09 45 2c 41 0d 0a 09 43 41 4c 4c 09 42   ┆  MVI C,TYPEF   MOV E,A   CALL B┆
0x11a0…11c0 44 4f 53 0d 0a 09 50 4f 50 20 42 21 20 50 4f 50 20 44 21 20 50 4f 50 20 48 3b 20 52 45 53 54 4f   ┆DOS   POP B! POP D! POP H; RESTO┆
0x11c0…11e0 52 45 44 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 43 52 4c 46 3a 0d 0a 09 4d 56 49 09 41 2c 43 52 0d 0a   ┆RED   RET  ;  CRLF:   MVI A,CR  ┆
0x11e0…1200 09 43 41 4c 4c 09 50 43 48 41 52 0d 0a 09 4d 56 49 09 41 2c 4c 46 0d 0a 09 43 41 4c 4c 09 50 43   ┆ CALL PCHAR   MVI A,LF   CALL PC┆
0x1200…1220 48 41 52 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 0d 0a 50 4e 49 42 3a 09 3b 50 52 49 4e 54 20 4e 49   ┆HAR   RET  ;  ;  PNIB: ;PRINT NI┆
0x1220…1240 42 42 4c 45 20 49 4e 20 52 45 47 20 41 0d 0a 09 41 4e 49 09 30 46 48 09 3b 4c 4f 57 20 34 20 42   ┆BBLE IN REG A   ANI 0FH ;LOW 4 B┆
0x1240…1260 49 54 53 0d 0a 09 43 50 49 09 31 30 0d 0a 09 4a 4e 43 09 50 31 30 0d 0a 3b 09 4c 45 53 53 20 54   ┆ITS   CPI 10   JNC P10  ; LESS T┆
0x1260…1280 48 41 4e 20 4f 52 20 45 51 55 41 4c 20 54 4f 20 39 0d 0a 09 41 44 49 09 27 30 27 0d 0a 09 4a 4d   ┆HAN OR EQUAL TO 9   ADI '0'   JM┆
0x1280…12a0 50 09 50 52 4e 0d 0a 3b 0d 0a 3b 09 47 52 45 41 54 45 52 20 4f 52 20 45 51 55 41 4c 20 54 4f 20   ┆P PRN  ;  ; GREATER OR EQUAL TO ┆
0x12a0…12c0 31 30 0d 0a 50 31 30 3a 09 41 44 49 09 27 41 27 20 2d 20 31 30 0d 0a 50 52 4e 3a 09 43 41 4c 4c   ┆10  P10: ADI 'A' - 10  PRN: CALL┆
0x12c0…12e0 09 50 43 48 41 52 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 50 48 45 58 3a 09 3b 50 52 49 4e 54 20 48 45   ┆ PCHAR   RET  ;  PHEX: ;PRINT HE┆
0x12e0…1300 58 20 43 48 41 52 20 49 4e 20 52 45 47 20 41 0d 0a 09 50 55 53 48 09 50 53 57 0d 0a 09 52 52 43   ┆X CHAR IN REG A   PUSH PSW   RRC┆
0x1300…1320 0d 0a 09 52 52 43 0d 0a 09 52 52 43 0d 0a 09 52 52 43 0d 0a 09 43 41 4c 4c 09 50 4e 49 42 09 3b   ┆   RRC   RRC   RRC   CALL PNIB ;┆
0x1320…1340 50 52 49 4e 54 20 4e 49 42 42 4c 45 0d 0a 09 50 4f 50 09 50 53 57 0d 0a 09 43 41 4c 4c 09 50 4e   ┆PRINT NIBBLE   POP PSW   CALL PN┆
0x1340…1360 49 42 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 45 52 52 3a 09 3b 50 52 49 4e 54 20 45 52 52 4f 52 20 4d   ┆IB   RET  ;  ERR: ;PRINT ERROR M┆
0x1360…1380 45 53 53 41 47 45 0d 0a 3b 09 44 2c 45 20 41 44 44 52 45 53 53 45 53 20 4d 45 53 53 41 47 45 20   ┆ESSAGE  ; D,E ADDRESSES MESSAGE ┆
0x1380…13a0 45 4e 44 49 4e 47 20 57 49 54 48 20 22 24 22 0d 0a 09 4d 56 49 09 43 2c 50 52 49 4e 54 46 09 3b   ┆ENDING WITH "$"   MVI C,PRINTF ;┆
0x13a0…13c0 50 52 49 4e 54 20 42 55 46 46 45 52 20 46 55 4e 43 54 49 4f 4e 0d 0a 09 43 41 4c 4c 09 42 44 4f   ┆PRINT BUFFER FUNCTION   CALL BDO┆
0x13c0…13e0 53 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 0d 0a 47 4e 42 3a 09 3b 47 45 54 20 4e 45 58 54 20 42 59   ┆S   RET  ;  ;  GNB: ;GET NEXT BY┆
0x13e0…1400 54 45 0d 0a 09 4c 44 41 09 49 42 50 0d 0a 09 43 50 49 09 38 30 48 0d 0a 09 4a 4e 5a 09 47 30 0d   ┆TE   LDA IBP   CPI 80H   JNZ G0 ┆
0x1400…1420 0a 3b 09 52 45 41 44 20 41 4e 4f 54 48 45 52 20 42 55 46 46 45 52 0d 0a 3b 0d 0a 3b 0d 0a 09 43   ┆ ; READ ANOTHER BUFFER  ;  ;   C┆
0x1420…1440 41 4c 4c 09 44 49 53 4b 52 0d 0a 09 4f 52 41 09 41 09 3b 5a 45 52 4f 20 56 41 4c 55 45 20 49 46   ┆ALL DISKR   ORA A ;ZERO VALUE IF┆
0x1440…1460 20 52 45 41 44 20 4f 4b 0d 0a 09 4a 5a 09 47 30 09 3b 46 4f 52 20 41 4e 4f 54 48 45 52 20 42 59   ┆ READ OK   JZ G0 ;FOR ANOTHER BY┆
0x1460…1480 54 45 0d 0a 3b 09 45 4e 44 20 4f 46 20 44 41 54 41 2c 20 52 45 54 55 52 4e 20 57 49 54 48 20 43   ┆TE  ; END OF DATA, RETURN WITH C┆
0x1480…14a0 41 52 52 59 20 53 45 54 20 46 4f 52 20 45 4f 46 0d 0a 09 53 54 43 0d 0a 09 52 45 54 0d 0a 3b 0d   ┆ARRY SET FOR EOF   STC   RET  ; ┆
0x14a0…14c0 0a 47 30 3a 09 3b 52 45 41 44 20 54 48 45 20 42 59 54 45 20 41 54 20 42 55 46 46 2b 52 45 47 20   ┆ G0: ;READ THE BYTE AT BUFF+REG ┆
0x14c0…14e0 41 0d 0a 09 4d 4f 56 09 45 2c 41 09 3b 4c 53 20 42 59 54 45 20 4f 46 20 42 55 46 46 45 52 20 49   ┆A   MOV E,A ;LS BYTE OF BUFFER I┆
0x14e0…1500 4e 44 45 58 0d 0a 09 4d 56 49 09 44 2c 30 09 3b 44 4f 55 42 4c 45 20 50 52 45 43 49 53 49 4f 4e   ┆NDEX   MVI D,0 ;DOUBLE PRECISION┆
0x1500…1520 20 49 4e 44 45 58 20 54 4f 20 44 45 0d 0a 09 49 4e 52 09 41 09 3b 49 4e 44 45 58 3d 49 4e 44 45   ┆ INDEX TO DE   INR A ;INDEX=INDE┆
0x1520…1540 58 2b 31 0d 0a 09 53 54 41 09 49 42 50 09 3b 42 41 43 4b 20 54 4f 20 4d 45 4d 4f 52 59 0d 0a 3b   ┆X+1   STA IBP ;BACK TO MEMORY  ;┆
0x1540…1560 09 50 4f 49 4e 54 45 52 20 49 53 20 49 4e 43 52 45 4d 45 4e 54 45 44 0d 0a 3b 09 53 41 56 45 20   ┆ POINTER IS INCREMENTED  ; SAVE ┆
0x1560…1580 54 48 45 20 43 55 52 52 45 4e 54 20 46 49 4c 45 20 41 44 44 52 45 53 53 0d 0a 09 4c 58 49 09 48   ┆THE CURRENT FILE ADDRESS   LXI H┆
0x1580…15a0 2c 42 55 46 46 0d 0a 09 44 41 44 09 44 0d 0a 3b 09 41 42 53 4f 4c 55 54 45 20 43 48 41 52 41 43   ┆,BUFF   DAD D  ; ABSOLUTE CHARAC┆
0x15a0…15c0 54 45 52 20 41 44 44 52 45 53 53 20 49 53 20 49 4e 20 48 4c 0d 0a 09 4d 4f 56 09 41 2c 4d 0d 0a   ┆TER ADDRESS IS IN HL   MOV A,M  ┆
0x15c0…15e0 3b 09 42 59 54 45 20 49 53 20 49 4e 20 54 48 45 20 41 43 43 55 4d 55 4c 41 54 4f 52 0d 0a 09 4f   ┆; BYTE IS IN THE ACCUMULATOR   O┆
0x15e0…1600 52 41 09 41 09 3b 52 45 53 45 54 20 43 41 52 52 59 20 42 49 54 0d 0a 09 52 45 54 0d 0a 3b 0d 0a   ┆RA A ;RESET CARRY BIT   RET  ;  ┆
0x1600…1620 53 45 54 55 50 3a 09 3b 53 45 54 20 55 50 20 46 49 4c 45 20 0d 0a 3b 09 4f 50 45 4e 20 54 48 45   ┆SETUP: ;SET UP FILE   ; OPEN THE┆
0x1620…1640 20 46 49 4c 45 20 46 4f 52 20 49 4e 50 55 54 0d 0a 09 58 52 41 09 41 09 3b 5a 45 52 4f 20 54 4f   ┆ FILE FOR INPUT   XRA A ;ZERO TO┆
0x1640…1660 20 41 43 43 55 4d 0d 0a 09 53 54 41 09 46 43 42 43 52 09 3b 43 4c 45 41 52 20 43 55 52 52 45 4e   ┆ ACCUM   STA FCBCR ;CLEAR CURREN┆
0x1660…1680 54 20 52 45 43 4f 52 44 0d 0a 3b 0d 0a 09 4c 58 49 09 44 2c 46 43 42 0d 0a 09 4d 56 49 09 43 2c   ┆T RECORD  ;   LXI D,FCB   MVI C,┆
0x1680…16a0 4f 50 45 4e 46 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 0d 0a 3b 09 32 35 35 20 49 4e 20 41 43 43 55   ┆OPENF   CALL BDOS  ; 255 IN ACCU┆
0x16a0…16c0 4d 20 49 46 20 4f 50 45 4e 20 45 52 52 4f 52 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 44 49 53 4b 52 3a   ┆M IF OPEN ERROR   RET  ;  DISKR:┆
0x16c0…16e0 09 3b 52 45 41 44 20 44 49 53 4b 20 46 49 4c 45 20 52 45 43 4f 52 44 0d 0a 09 50 55 53 48 20 48   ┆ ;READ DISK FILE RECORD   PUSH H┆
0x16e0…1700 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 42 0d 0a 09 4c 58 49 09 44 2c 46 43 42 0d 0a 09 4d   ┆! PUSH D! PUSH B   LXI D,FCB   M┆
0x1700…1720 56 49 09 43 2c 52 45 41 44 46 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 0d 0a 09 50 4f 50 20 42 21 20   ┆VI C,READF   CALL BDOS   POP B! ┆
0x1720…1740 50 4f 50 20 44 21 20 50 4f 50 20 48 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 09 46 49 58 45 44 20 4d   ┆POP D! POP H   RET  ;  ; FIXED M┆
0x1740…1760 45 53 53 41 47 45 20 41 52 45 41 0d 0a 53 49 47 4e 4f 4e 3a 09 44 42 09 27 46 49 4c 45 20 44 55   ┆ESSAGE AREA  SIGNON: DB 'FILE DU┆
0x1760…1780 4d 50 20 56 45 52 53 49 4f 4e 20 31 2e 34 24 27 0d 0a 4f 50 4e 4d 53 47 3a 09 44 42 09 43 52 2c   ┆MP VERSION 1.4$'  OPNMSG: DB CR,┆
0x1780…17a0 4c 46 2c 27 4e 4f 20 49 4e 50 55 54 20 46 49 4c 45 20 50 52 45 53 45 4e 54 20 4f 4e 20 44 49 53   ┆LF,'NO INPUT FILE PRESENT ON DIS┆
0x17a0…17c0 4b 24 27 0d 0a 0d 0a 3b 09 56 41 52 49 41 42 4c 45 20 41 52 45 41 0d 0a 49 42 50 3a 09 44 53 09   ┆K$'    ; VARIABLE AREA  IBP: DS ┆
0x17c0…17e0 32 09 3b 49 4e 50 55 54 20 42 55 46 46 45 52 20 50 4f 49 4e 54 45 52 0d 0a 4f 4c 44 53 50 3a 09   ┆2 ;INPUT BUFFER POINTER  OLDSP: ┆
0x17e0…1800 44 53 09 32 09 3b 45 4e 54 52 59 20 53 50 20 56 41 4c 55 45 20 46 52 4f 4d 20 43 43 50 0d 0a 3b   ┆DS 2 ;ENTRY SP VALUE FROM CCP  ;┆
0x1800…1820 0d 0a 3b 09 53 54 41 43 4b 20 41 52 45 41 0d 0a 09 44 53 09 36 34 09 3b 52 45 53 45 52 56 45 20   ┆  ; STACK AREA   DS 64 ;RESERVE ┆
0x1820…1840 33 32 20 4c 45 56 45 4c 20 53 54 41 43 4b 0d 0a 53 54 4b 54 4f 50 3a 0d 0a 3b 0d 0a 09 45 4e 44   ┆32 LEVEL STACK  STKTOP:  ;   END┆
0x1840…1860 0d 0a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x1860…1880 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a 1a   ┆                                ┆
0x1880…18a0 4f 50 45 4e 46 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 0d 0a 3b 09 32 35 35 20 49 4e 20 41 43 43 55   ┆OPENF   CALL BDOS  ; 255 IN ACCU┆
0x18a0…18c0 4d 20 49 46 20 4f 50 45 4e 20 45 52 52 4f 52 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 44 49 53 4b 52 3a   ┆M IF OPEN ERROR   RET  ;  DISKR:┆
0x18c0…18e0 09 3b 52 45 41 44 20 44 49 53 4b 20 46 49 4c 45 20 52 45 43 4f 52 44 0d 0a 09 50 55 53 48 20 48   ┆ ;READ DISK FILE RECORD   PUSH H┆
0x18e0…1900 21 20 50 55 53 48 20 44 21 20 50 55 53 48 20 42 0d 0a 09 4c 58 49 09 44 2c 46 43 42 0d 0a 09 4d   ┆! PUSH D! PUSH B   LXI D,FCB   M┆
0x1900…1920 56 49 09 43 2c 52 45 41 44 46 0d 0a 09 43 41 4c 4c 09 42 44 4f 53 0d 0a 09 50 4f 50 20 42 21 20   ┆VI C,READF   CALL BDOS   POP B! ┆
0x1920…1940 50 4f 50 20 44 21 20 50 4f 50 20 48 0d 0a 09 52 45 54 0d 0a 3b 0d 0a 3b 09 46 49 58 45 44 20 4d   ┆POP D! POP H   RET  ;  ; FIXED M┆
0x1940…1960 45 53 53 41 47 45 20 41 52 45 41 0d 0a 53 49 47 4e 4f 4e 3a 09 44 42 09 27 46 49 4c 45 20 44 55   ┆ESSAGE AREA  SIGNON: DB 'FILE DU┆
0x1960…1980 4d 50 20 56 45 52 53 49 4f 4e 20 31 2e 34 24 27 0d 0a 4f 50 4e 4d 53 47 3a 09 44 42 09 43 52 2c   ┆MP VERSION 1.4$'  OPNMSG: DB CR,┆
0x1980…19a0 4c 46 2c 27 4e 4f 20 49 4e 50 55 54 20 46 49 4c 45 20 50 52 45 53 45 4e 54 20 4f 4e 20 44 49 53   ┆LF,'NO INPUT FILE PRESENT ON DIS┆
0x19a0…19c0 4b 24 27 0d 0a 0d 0a 3b 09 56 41 52 49 41 42 4c 45 20 41 52 45 41 0d 0a 49 42 50 3a 09 44 53 09   ┆K$'    ; VARIABLE AREA  IBP: DS ┆
0x19c0…19e0 32 09 3b 49 4e 50 55 54 20 42 55 46 46 45 52 20 50 4f 49 4e 54 45 52 0d 0a 4f 4c 44 53 50 3a 09   ┆2 ;INPUT BUFFER POINTER  OLDSP: ┆
0x19e0…1a00 44 53 09 32 09 3b 45 4e 54 52 59 20 53 50 20 56 41 4c 55 45 20 46 52 4f 4d 20 43 43 50 0d 0a 3b   ┆DS 2 ;ENTRY SP VALUE FROM CCP  ;┆
0x1a00…1a20 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ┆                                ┆
        […0x2f…]