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 (0,)  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 (1,)  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 (4,)  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 (5,)  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 (6,)  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 (7,)  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 (8,)  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 (9,)  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 (10,) 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 (11,) 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 (12,) 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 (13,) 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…]