|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 21760 (0x5500) Names: »FILEX.A86«
└─⟦0ea6333ad⟧ Bits:30007365/disk1.imd SW1500 CCP/M 86 v. 3.1 Release 2.2 └─⟦this⟧ »FILEX.A86«
0x0000…0020 (0,) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ […0x1a…] 0x0360…0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 61 6e 6e 6f 74 ┆ Cannot┆ 0x0380…03a0 20 6f 70 65 6e 20 00 43 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 00 0a 00 00 00 00 00 3c 3e 2e 2c ┆ open Cannot create <>.,┆ 0x03a0…03c0 3d 3a 7c 5b 5d 2a 0a 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆=:øÆÅ* ┆ 0x03c0…03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆ […0x1…] 0x0400…0800 (1,) 0xe5[0x400] 0x0800…0820 (2,) 09 6d 31 09 09 3b 0d 0a 6d 6d 3a 09 4d 4f 56 09 44 58 2c 30 30 38 30 48 09 3b 0d 0a 09 4d 4f 56 ┆ m1 ; mm: MOV DX,0080H ; MOV┆ 0x0820…0840 09 53 49 2c 44 58 0d 0a 09 4c 4f 44 53 42 09 09 09 3b 0d 0a 09 43 4d 50 09 41 4c 2c 30 09 09 3b ┆ SI,DX LODSB ; CMP AL,0 ;┆ 0x0840…0860 0d 0a 09 4a 4e 5a 09 6d 32 09 09 3b 20 72 64 63 6f 6e 73 3a 3d 6e 6f 20 70 61 72 61 6d 65 74 65 ┆ JNZ m2 ; rdcons:=no paramete┆ 0x0860…0880 72 73 20 73 70 65 63 69 66 69 65 64 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 72 64 63 6f ┆rs specified MOV BYTE PTR rdco┆ 0x0880…08a0 6e 73 2c 74 72 75 65 0d 0a 09 09 09 09 3b 20 61 66 74 65 72 20 70 72 6f 67 72 61 6d 20 6e 61 6d ┆ns,true ; after program nam┆ 0x08a0…08c0 65 0d 0a 6d 32 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 74 74 65 78 74 3b 20 77 72 69 ┆e m2: MOV DX,OFFSET sttext; wri┆ 0x08c0…08e0 74 65 28 27 46 49 4c 45 58 20 2d 20 76 65 72 20 78 2e 78 27 29 3b 0d 0a 09 4d 4f 56 09 43 4c 2c ┆te('FILEX - ver x.x'); MOV CL,┆ 0x08e0…0900 70 72 69 6e 74 09 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 09 09 09 3b 0d 0a 61 63 74 ┆print ; INT 224 ; ; act┆ 0x0900…0920 3a 0d 0a 09 43 41 4c 4c 09 67 65 74 6e 65 78 74 69 74 65 6d 09 3b 20 67 65 74 6e 65 78 74 69 74 ┆: CALL getnextitem ; getnextit┆ 0x0920…0940 65 6d 3b 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 69 74 65 6d 6c 65 6e 0d 0a 09 4d 4f ┆em; MOV BX,OFFSET itemlen MO┆ 0x0940…0960 56 09 44 58 2c 4f 46 46 53 45 54 20 72 65 63 65 69 76 65 0d 0a 09 43 41 4c 4c 09 63 6f 6d 70 09 ┆V DX,OFFSET receive CALL comp ┆ 0x0960…0980 09 3b 0d 0a 09 4a 4e 5a 09 6c 30 30 30 30 09 09 3b 0d 0a 09 4a 4d 50 09 73 6c 65 65 70 09 09 3b ┆ ; JNZ l0000 ; JMP sleep ;┆ 0x0980…09a0 20 69 66 20 69 74 65 6d 3d 27 72 65 6d 6f 74 65 27 20 74 68 65 6e 20 67 6f 74 6f 20 73 6c 65 65 ┆ if item='remote' then goto slee┆ 0x09a0…09c0 70 3b 0d 0a 6c 30 30 30 30 3a 09 4d 4f 56 09 41 4c 2c 69 74 65 6d 6c 65 6e 09 3b 0d 0a 09 43 4d ┆p; l0000: MOV AL,itemlen ; CM┆ 0x09c0…09e0 50 09 41 4c 2c 30 09 09 3b 0d 0a 09 4a 4e 5a 09 6c 30 30 30 31 09 09 3b 0d 0a 09 4a 4d 50 09 65 ┆P AL,0 ; JNZ l0001 ; JMP e┆ 0x09e0…0a00 6e 64 70 72 6f 67 09 09 3b 20 69 66 20 69 74 65 6d 3d 27 27 20 74 68 65 6e 20 67 6f 74 6f 20 65 ┆ndprog ; if item='' then goto e┆ 0x0a00…0a20 6e 64 70 72 6f 67 3b 0d 0a 6c 30 30 30 31 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 69 74 ┆ndprog; l0001: MOV BX,OFFSET it┆ 0x0a20…0a40 65 6d 6c 65 6e 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 6e 6f 65 6e 64 09 3b 0d 0a 09 ┆emlen MOV DX,OFFSET noend ; ┆ 0x0a40…0a60 43 41 4c 4c 09 63 6f 6d 70 09 09 3b 0d 0a 09 4a 4e 5a 09 61 63 74 32 09 09 3b 0d 0a 09 4a 4d 50 ┆CALL comp ; JNZ act2 ; JMP┆ 0x0a60…0a80 09 62 6f 6f 74 09 09 3b 20 69 66 20 69 74 65 6d 3d 27 4e 4f 45 4e 44 27 20 74 68 65 6e 20 67 6f ┆ boot ; if item='NOEND' then go┆ 0x0a80…0aa0 74 6f 20 62 6f 6f 74 3b 0d 0a 61 63 74 32 3a 09 43 41 4c 4c 09 62 75 69 6c 64 6e 61 6d 65 09 3b ┆to boot; act2: CALL buildname ;┆ 0x0aa0…0ac0 20 6e 61 6d 65 3a 3d 62 75 69 6c 64 6e 61 6d 65 28 69 74 65 6d 29 20 0d 0a 09 4d 4f 56 09 44 58 ┆ name:=buildname(item) MOV DX┆ 0x0ac0…0ae0 2c 4f 46 46 53 45 54 20 75 6e 69 74 6e 72 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 72 65 6d 6f 74 65 09 ┆,OFFSET unitnr; MOV AL,remote ┆ 0x0ae0…0b00 3b 0d 0a 09 4d 4f 56 09 6c 68 61 6e 64 73 69 64 65 2c 41 4c 09 3b 20 6c 68 61 6e 64 73 69 64 65 ┆; MOV lhandside,AL ; lhandside┆ 0x0b00…0b20 3a 3d 20 28 52 78 3a 20 73 70 65 63 69 66 69 65 64 29 0d 0a 09 43 4d 50 09 41 4c 2c 74 72 75 65 ┆:= (Rx: specified) CMP AL,true┆ 0x0b20…0b40 09 09 3b 0d 0a 09 4a 5a 09 61 63 74 33 09 09 3b 20 69 66 20 6e 6f 74 20 52 78 3a 20 73 70 65 63 ┆ ; JZ act3 ; if not Rx: spec┆ 0x0b40…0b60 69 66 69 65 64 20 74 68 65 6e 20 20 0d 0a 09 58 4f 52 09 41 4c 2c 41 4c 09 09 3b 20 62 65 67 69 ┆ified then XOR AL,AL ; begi┆ 0x0b60…0b80 6e 0d 0a 09 4d 4f 56 09 73 66 63 62 63 72 2c 41 4c 09 3b 20 20 20 73 66 63 62 72 63 3a 3d 30 3b ┆n MOV sfcbcr,AL ; sfcbrc:=0;┆ 0x0b80…0ba0 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 20 20 20 73 66 63 62 6e 61 ┆ MOV BX,OFFSET sfcb ; sfcbna┆ 0x0ba0…0bc0 6d 65 3a 3d 6e 61 6d 65 0d 0a 09 4a 4d 50 09 61 63 74 34 09 09 3b 20 65 6e 64 0d 0a 61 63 74 33 ┆me:=name JMP act4 ; end act3┆ 0x0bc0…0be0 3a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 62 75 66 6e 61 6d 65 0d 0a 09 09 09 09 3b 20 65 ┆: MOV BX,OFFSET bufname ; e┆ 0x0be0…0c00 6c 73 65 0d 0a 61 63 74 34 3a 09 43 41 4c 4c 09 6d 6f 76 65 6e 61 6d 65 09 3b 20 62 65 67 69 6e ┆lse act4: CALL movename ; begin┆ 0x0c00…0c20 (3,) 09 4d 4f 56 09 41 4c 2c 32 09 09 3b 0d 0a 09 4d 4f 56 09 62 75 66 6f 70 2c 41 4c 09 3b 20 62 75 ┆ MOV AL,2 ; MOV bufop,AL ; bu┆ 0x0c20…0c40 66 2e 6f 70 65 72 61 74 69 6f 6e 3a 3d 32 3b 20 28 2a 6d 61 6b 65 2a 29 0d 0a 09 4d 4f 56 09 57 ┆f.operation:=2; (*make*) MOV W┆ 0x0c40…0c60 4f 52 44 20 50 54 52 20 61 6e 74 61 6c 2c 31 39 09 3b 20 61 6e 74 61 6c 3a 3d 31 39 3b 0d 0a 09 ┆ORD PTR antal,19 ; antal:=19; ┆ 0x0c60…0c80 43 41 4c 4c 09 6f 75 74 61 6e 64 69 6e 09 3b 20 6f 75 74 6c 69 6e 65 28 62 75 66 2c 61 6e 74 61 ┆CALL outandin ; outline(buf,anta┆ 0x0c80…0ca0 6c 29 3b 0d 0a 09 09 09 09 3b 20 69 6e 6c 69 6e 65 28 62 75 66 2c 61 6e 74 61 6c 29 3b 0d 0a 09 ┆l); ; inline(buf,antal); ┆ 0x0ca0…0cc0 4d 4f 56 09 41 4c 2c 62 75 66 73 74 09 3b 0d 0a 09 43 4d 50 09 41 4c 2c 74 72 61 6e 73 6d 09 3b ┆MOV AL,bufst ; CMP AL,transm ;┆ 0x0cc0…0ce0 20 69 66 20 74 72 61 6e 73 6d 69 73 73 69 6f 6e 20 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f 72 ┆ if transmission error then abor┆ 0x0ce0…0d00 74 0d 0a 09 4a 4e 5a 09 6c 30 30 34 09 09 3b 0d 0a 09 4a 4d 50 09 74 72 78 65 72 72 09 09 3b 0d ┆t JNZ l004 ; JMP trxerr ; ┆ 0x0d00…0d20 0a 6c 30 30 34 3a 09 43 4d 50 09 41 4c 2c 6f 6b 09 09 3b 20 69 66 20 6d 61 6b 65 2d 65 72 72 6f ┆ l004: CMP AL,ok ; if make-erro┆ 0x0d20…0d40 72 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a 09 4a 5a 09 6c 30 30 35 09 09 3b 0d 0a 09 4a 4d 50 09 ┆r then abort JZ l005 ; JMP ┆ 0x0d40…0d60 6d 61 6b 65 65 72 72 09 09 3b 0d 0a 6c 30 30 35 3a 09 4d 4f 56 09 43 4c 2c 64 6d 61 6f 66 66 09 ┆makeerr ; l005: MOV CL,dmaoff ┆ 0x0d60…0d80 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 62 75 66 61 72 65 61 0d 0a 09 49 4e 54 09 ┆; MOV DX,OFFSET bufarea INT ┆ 0x0d80…0da0 32 32 34 09 09 3b 20 73 65 74 64 6d 61 6f 66 66 73 65 74 28 62 75 66 2e 61 72 65 61 29 3b 0d 0a ┆224 ; setdmaoffset(buf.area); ┆ 0x0da0…0dc0 09 4d 4f 56 09 43 4c 2c 64 6d 61 73 65 67 09 3b 0d 0a 09 4d 4f 56 09 44 58 2c 44 53 09 09 3b 0d ┆ MOV CL,dmaseg ; MOV DX,DS ; ┆ 0x0dc0…0de0 0a 09 49 4e 54 09 32 32 34 09 09 3b 20 73 65 74 64 6d 61 73 65 67 28 62 75 66 2e 61 72 65 61 29 ┆ INT 224 ; setdmaseg(buf.area)┆ 0x0de0…0e00 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 34 09 09 3b 0d 0a 09 4d 4f 56 09 62 75 66 6f 70 2c 41 4c 09 3b ┆; MOV AL,4 ; MOV bufop,AL ;┆ 0x0e00…0e20 20 62 75 66 2e 6f 70 65 72 61 74 69 6f 6e 3a 3d 34 3b 20 28 2a 20 77 72 69 74 65 20 2a 29 0d 0a ┆ buf.operation:=4; (* write *) ┆ 0x0e20…0e40 6c 74 6f 72 32 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 20 77 68 69 6c ┆ltor2: MOV DX,OFFSET sfcb ; whil┆ 0x0e40…0e60 65 20 6e 6f 74 20 65 6f 66 28 73 6f 75 72 63 65 29 20 64 6f 0d 0a 09 09 09 09 3b 20 62 65 67 69 ┆e not eof(source) do ; begi┆ 0x0e60…0e80 6e 0d 0a 09 4d 4f 56 09 43 4c 2c 72 65 61 64 09 09 3b 20 20 20 72 65 61 64 28 73 6f 75 72 63 65 ┆n MOV CL,read ; read(source┆ 0x0e80…0ea0 29 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 4f 52 09 41 4c 2c 41 4c 09 09 3b 0d 0a 09 ┆); INT 224 ; OR AL,AL ; ┆ 0x0ea0…0ec0 4a 5a 09 6c 30 30 36 09 09 3b 0d 0a 09 4a 4d 50 09 63 6c 6f 73 66 69 6c 65 73 09 3b 0d 0a 6c 30 ┆JZ l006 ; JMP closfiles ; l0┆ 0x0ec0…0ee0 30 36 3a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 61 6e 74 61 6c 2c 31 33 31 3b 20 61 6e 74 61 ┆06: MOV WORD PTR antal,131; anta┆ 0x0ee0…0f00 6c 20 3a 3d 20 31 33 31 3b 0d 0a 09 43 41 4c 4c 09 6f 75 74 61 6e 64 69 6e 09 3b 20 20 20 6f 75 ┆l := 131; CALL outandin ; ou┆ 0x0f00…0f20 74 6c 69 6e 65 28 62 75 66 2c 61 6e 74 61 6c 29 3b 0d 0a 09 09 09 09 3b 20 20 20 69 6e 6c 69 6e ┆tline(buf,antal); ; inlin┆ 0x0f20…0f40 65 28 62 75 66 2c 61 6e 74 61 6c 29 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 62 75 66 73 74 09 3b 0d 0a ┆e(buf,antal); MOV AL,bufst ; ┆ 0x0f40…0f60 09 43 4d 50 09 41 4c 2c 74 72 61 6e 73 6d 09 3b 20 20 20 69 66 20 74 72 61 6e 73 6d 69 73 73 69 ┆ CMP AL,transm ; if transmissi┆ 0x0f60…0f80 6f 6e 2d 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a 09 4a 4e 5a 09 6c 30 30 37 09 09 ┆on-error then abort JNZ l007 ┆ 0x0f80…0fa0 3b 0d 0a 09 4a 4d 50 09 74 72 78 65 72 72 09 09 3b 20 0d 0a 6c 30 30 37 3a 09 43 4d 50 09 41 4c ┆; JMP trxerr ; l007: CMP AL┆ 0x0fa0…0fc0 2c 6f 6b 09 09 3b 20 20 20 69 66 20 77 72 69 74 65 2d 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f ┆,ok ; if write-error then abo┆ 0x0fc0…0fe0 72 74 0d 0a 09 4a 5a 09 6c 30 30 38 09 09 3b 0d 0a 09 4a 4d 50 09 77 72 69 74 65 65 72 72 09 3b ┆rt JZ l008 ; JMP writeerr ;┆ 0x0fe0…1000 0d 0a 6c 30 30 38 3a 09 4a 4d 50 09 6c 74 6f 72 32 09 09 3b 20 65 6e 64 3b 0d 0a 09 09 09 09 3b ┆ l008: JMP ltor2 ; end; ;┆ 0x1000…1020 (4,) 0d 0a 09 09 09 09 3b 0d 0a 09 09 09 09 3b 20 72 65 6d 6f 74 65 20 2d 3e 20 4c 4f 43 41 4c 0d 0a ┆ ; ; remote -> LOCAL ┆ 0x1020…1040 72 74 6f 6c 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 75 6e 69 74 6e 72 3b 20 62 75 66 2e ┆rtol: MOV DX,OFFSET unitnr; buf.┆ 0x1040…1060 6e 61 6d 65 3a 3d 6e 61 6d 65 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 62 75 66 6e 61 ┆name:=name MOV BX,OFFSET bufna┆ 0x1060…1080 6d 65 0d 0a 09 43 41 4c 4c 09 6d 6f 76 65 6e 61 6d 65 09 3b 0d 0a 09 58 4f 52 09 41 4c 2c 41 4c ┆me CALL movename ; XOR AL,AL┆ 0x1080…10a0 09 09 3b 0d 0a 09 4d 4f 56 09 73 66 63 62 63 72 2c 41 4c 09 3b 20 73 66 63 62 63 72 3a 3d 30 3b ┆ ; MOV sfcbcr,AL ; sfcbcr:=0;┆ 0x10a0…10c0 0d 0a 09 4d 4f 56 09 41 4c 2c 73 66 63 62 2b 31 09 3b 20 69 66 20 64 65 73 74 6e 61 6d 65 3d 27 ┆ MOV AL,sfcb+1 ; if destname='┆ 0x10c0…10e0 27 20 74 68 65 6e 0d 0a 09 43 4d 50 09 41 4c 2c 27 20 27 09 09 3b 20 62 65 67 69 6e 0d 0a 09 4a ┆' then CMP AL,' ' ; begin J┆ 0x10e0…1100 4e 5a 09 72 74 6f 6c 31 09 09 3b 20 20 20 73 66 63 62 6e 61 6d 65 3a 3d 6e 61 6d 65 3b 0d 0a 09 ┆NZ rtol1 ; sfcbname:=name; ┆ 0x1100…1120 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 6e 61 6d 65 09 3b 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 ┆MOV DX,OFFSET name ; MOV BX,OF┆ 0x1120…1140 46 53 45 54 20 73 66 63 62 2b 31 3b 20 0d 0a 09 43 41 4c 4c 09 6d 6f 76 65 6f 6e 6c 79 6e 61 6d ┆FSET sfcb+1; CALL moveonlynam┆ 0x1140…1160 65 09 3b 20 65 6e 64 3b 0d 0a 72 74 6f 6c 31 3a 09 4d 4f 56 09 41 4c 2c 31 09 09 3b 0d 0a 09 4d ┆e ; end; rtol1: MOV AL,1 ; M┆ 0x1160…1180 4f 56 09 62 75 66 6f 70 2c 41 4c 09 3b 20 62 75 66 2e 6f 70 65 72 61 74 69 6f 6e 3a 3d 31 3b 20 ┆OV bufop,AL ; buf.operation:=1; ┆ 0x1180…11a0 28 2a 6f 70 65 6e 2a 29 0d 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 61 6e 74 61 6c 2c 31 39 ┆(*open*) MOV WORD PTR antal,19┆ 0x11a0…11c0 3b 20 61 6e 74 61 6c 20 3a 3d 20 31 39 3b 0d 0a 09 43 41 4c 4c 09 6f 75 74 61 6e 64 69 6e 09 3b ┆; antal := 19; CALL outandin ;┆ 0x11c0…11e0 20 6f 75 74 6c 69 6e 65 28 62 75 66 2c 61 6e 74 61 6c 29 3b 0d 0a 09 09 09 09 3b 20 69 6e 6c 69 ┆ outline(buf,antal); ; inli┆ 0x11e0…1200 6e 65 28 62 75 66 2c 61 6e 74 61 6c 29 09 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 62 75 66 73 74 09 3b ┆ne(buf,antal) ; MOV AL,bufst ;┆ 0x1200…1220 0d 0a 09 43 4d 50 09 41 4c 2c 74 72 61 6e 73 6d 09 3b 20 69 66 20 74 72 61 6e 73 6d 69 73 73 69 ┆ CMP AL,transm ; if transmissi┆ 0x1220…1240 6f 6e 2d 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a 09 4a 4e 5a 09 6c 30 30 39 09 09 ┆on-error then abort JNZ l009 ┆ 0x1240…1260 3b 0d 0a 09 4a 4d 50 09 74 72 78 65 72 72 09 09 3b 0d 0a 6c 30 30 39 3a 09 43 4d 50 09 41 4c 2c ┆; JMP trxerr ; l009: CMP AL,┆ 0x1260…1280 6f 6b 09 09 3b 20 69 66 20 6f 70 65 6e 2d 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a ┆ok ; if open-error then abort ┆ 0x1280…12a0 09 4a 5a 09 6c 30 31 30 09 09 3b 0d 0a 09 4a 4d 50 09 6f 70 65 6e 65 72 72 09 09 3b 0d 0a 6c 30 ┆ JZ l010 ; JMP openerr ; l0┆ 0x12a0…12c0 31 30 3a 09 4d 4f 56 09 43 4c 2c 64 65 6c 65 74 65 09 3b 20 64 65 6c 65 74 65 28 64 65 73 74 69 ┆10: MOV CL,delete ; delete(desti┆ 0x12c0…12e0 6e 61 74 69 6f 6e 29 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 0d ┆nation); MOV DX,OFFSET sfcb ; ┆ 0x12e0…1300 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 4d 4f 56 09 43 4c 2c 6d 61 6b 65 09 09 3b 20 6d 61 ┆ INT 224 ; MOV CL,make ; ma┆ 0x1300…1320 6b 65 28 64 65 73 74 69 6e 61 74 69 6f 6e 29 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 ┆ke(destination); MOV DX,OFFSET┆ 0x1320…1340 20 73 66 63 62 09 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 43 4d 50 09 41 4c 2c 30 46 ┆ sfcb ; INT 224 ; CMP AL,0F┆ 0x1340…1360 46 48 09 09 3b 20 69 66 20 6d 61 6b 65 2d 65 72 72 6f 72 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a ┆FH ; if make-error then abort ┆ 0x1360…1380 09 4a 4e 5a 09 6c 30 31 31 09 09 3b 0d 0a 09 4a 4d 50 09 6d 61 6b 65 65 72 72 09 09 3b 0d 0a 6c ┆ JNZ l011 ; JMP makeerr ; l┆ 0x1380…13a0 30 31 31 3a 09 4d 4f 56 09 43 4c 2c 64 6d 61 6f 66 66 09 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 ┆011: MOV CL,dmaoff ; MOV DX,OF┆ 0x13a0…13c0 46 53 45 54 20 62 75 66 61 72 65 61 0d 0a 09 09 09 09 3b 20 73 65 74 64 6d 61 28 62 75 66 2e 61 ┆FSET bufarea ; setdma(buf.a┆ 0x13c0…13e0 72 65 61 29 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 4d 4f 56 09 44 58 2c 44 53 09 09 ┆rea); INT 224 ; MOV DX,DS ┆ 0x13e0…1400 3b 0d 0a 09 4d 4f 56 09 43 4c 2c 64 6d 61 73 65 67 09 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b ┆; MOV CL,dmaseg ; INT 224 ;┆ 0x1400…1420 (5,) 74 68 65 6e 20 61 62 6f 72 74 0d 0a 6c 30 31 37 3a 09 4d 4f 56 09 43 4c 2c 63 6c 6f 73 65 09 3b ┆then abort l017: MOV CL,close ;┆ 0x1420…1440 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 0d 0a 09 49 4e 54 09 32 32 ┆ MOV DX,OFFSET sfcb ; INT 22┆ 0x1440…1460 34 09 09 3b 20 63 6c 6f 73 65 28 73 6f 75 72 63 65 2f 64 65 73 74 69 6e 61 74 69 6f 6e 29 3b 0d ┆4 ; close(source/destination); ┆ 0x1460…1480 0a 09 43 4d 50 09 41 4c 2c 30 46 46 48 09 09 3b 0d 0a 09 4a 4e 5a 09 6c 30 31 38 09 09 3b 0d 0a ┆ CMP AL,0FFH ; JNZ l018 ; ┆ 0x1480…14a0 09 4a 4d 50 09 63 6c 73 6c 65 72 72 09 09 3b 20 69 66 20 63 6c 6f 73 65 2d 65 72 72 6f 72 20 6f ┆ JMP clslerr ; if close-error o┆ 0x14a0…14c0 6e 20 6c 6f 63 61 6c 20 74 68 65 6e 20 61 62 6f 72 74 0d 0a 6c 30 31 38 3a 09 4a 4d 50 09 61 63 ┆n local then abort l018: JMP ac┆ 0x14c0…14e0 74 09 09 3b 20 67 6f 74 6f 20 73 74 61 72 74 3a 0d 0a 09 09 09 09 3b 0d 0a 65 6e 64 70 72 6f 67 ┆t ; goto start: ; endprog┆ 0x14e0…1500 3a 09 09 09 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 36 09 09 3b 0d 0a 09 4d 4f 56 09 62 75 66 6f 70 2c ┆: ; MOV AL,6 ; MOV bufop,┆ 0x1500…1520 41 4c 09 3b 20 62 75 66 2e 6f 70 65 72 61 74 69 6f 6e 3a 3d 36 20 28 2a 20 65 6e 64 20 2a 29 0d ┆AL ; buf.operation:=6 (* end *) ┆ 0x1520…1540 0a 09 4d 4f 56 09 57 4f 52 44 20 50 54 52 20 61 6e 74 61 6c 2c 33 09 3b 20 61 6e 74 61 6c 3a 3d ┆ MOV WORD PTR antal,3 ; antal:=┆ 0x1540…1560 33 3b 0d 0a 09 43 41 4c 4c 09 6f 75 74 61 6e 64 69 6e 09 3b 20 6f 75 74 6c 69 6e 65 28 62 75 66 ┆3; CALL outandin ; outline(buf┆ 0x1560…1580 2c 61 6e 74 61 6c 29 3b 0d 0a 09 09 09 09 3b 20 69 6e 6c 69 6e 65 28 62 75 66 2c 61 6e 74 61 6c ┆,antal); ; inline(buf,antal┆ 0x1580…15a0 29 3b 0d 0a 09 4a 4d 50 09 62 6f 6f 74 09 09 3b 20 77 61 72 6d 62 6f 6f 74 3b 0d 0a 09 09 09 09 ┆); JMP boot ; warmboot; ┆ 0x15a0…15c0 3b 65 6e 64 2e 0d 0a 09 09 09 09 3b 0d 0a 0d 0a 0d 0a 09 3b 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆;end. ; ; ***********┆ 0x15c0…15e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 09 ┆***************************** ┆ 0x15e0…1600 3b 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆; * ┆ 0x1600…1620 20 20 20 20 20 20 20 20 20 2a 0d 0a 09 3b 20 2a 20 20 20 20 20 20 73 6c 65 65 70 69 6e 67 20 70 ┆ * ; * sleeping p┆ 0x1620…1640 61 72 74 6e 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 09 3b 20 2a 20 20 20 ┆artner * ; * ┆ 0x1640…1660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆ 0x1660…1680 20 20 20 2a 0d 0a 09 3b 20 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ┆ * ; ***********************┆ 0x1680…16a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 09 09 09 09 3b 20 73 6c 65 65 70 3a 0d ┆***************** ; sleep: ┆ 0x16a0…16c0 0a 73 6c 65 65 70 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 6f 6b 74 65 78 74 3b 20 77 72 ┆ sleep: MOV DX,OFFSET oktext; wr┆ 0x16c0…16e0 69 74 65 28 27 72 65 6d 6f 74 65 20 4f 50 45 52 41 54 49 4f 4e 27 29 3b 0d 0a 09 4d 4f 56 09 43 ┆ite('remote OPERATION'); MOV C┆ 0x16e0…1700 4c 2c 70 72 69 6e 74 09 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 73 6c 65 65 70 31 3a 09 ┆L,print ; INT 224 ; sleep1: ┆ 0x1700…1720 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 72 65 73 75 6c 74 3b 0d 0a 09 4d 4f 56 09 42 59 54 45 ┆MOV BX,OFFSET result; MOV BYTE┆ 0x1720…1740 20 50 54 52 20 5b 42 58 5d 2c 6f 6b 3b 0d 0a 09 43 41 4c 4c 09 69 6e 6c 69 6e 65 09 09 3b 20 72 ┆ PTR ÆBXÅ,ok; CALL inline ; r┆ 0x1740…1760 65 70 65 61 74 0d 0a 09 4d 4f 56 09 41 4c 2c 73 74 61 74 75 73 09 3b 20 20 20 69 6e 6c 69 6e 65 ┆epeat MOV AL,status ; inline┆ 0x1760…1780 28 62 75 66 66 65 72 2c 61 6e 74 61 6c 29 0d 0a 09 43 4d 50 09 41 4c 2c 6f 6b 09 09 3b 20 20 20 ┆(buffer,antal) CMP AL,ok ; ┆ 0x1780…17a0 69 66 20 6f 6b 20 74 68 65 6e 0d 0a 09 4a 5a 09 6c 30 31 39 09 09 3b 0d 0a 09 4a 4d 50 09 74 72 ┆if ok then JZ l019 ; JMP tr┆ 0x17a0…17c0 61 6e 73 65 72 72 09 3b 20 20 20 62 65 67 69 6e 0d 0a 6c 30 31 39 3a 09 4d 4f 56 09 41 4c 2c 62 ┆anserr ; begin l019: MOV AL,b┆ 0x17c0…17e0 75 66 6f 70 09 3b 20 20 20 20 20 63 61 73 65 20 62 75 66 2e 6f 70 65 72 61 74 69 6f 6e 20 6f 66 ┆ufop ; case buf.operation of┆ 0x17e0…1800 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 6a 70 74 61 62 6c 65 2d 33 0d 0a 09 4d 4f 56 ┆ MOV BX,OFFSET jptable-3 MOV┆ 0x1800…1820 (6,) 20 20 32 3a 20 62 65 67 69 6e 20 28 2a 20 6d 61 6b 65 20 2a 29 0d 0a 09 53 55 42 09 41 4c 2c 41 ┆ 2: begin (* make *) SUB AL,A┆ 0x1820…1840 4c 09 09 3b 0d 0a 09 4d 4f 56 09 73 66 63 62 63 72 2c 41 4c 09 3b 0d 0a 09 4d 4f 56 09 43 4c 2c ┆L ; MOV sfcbcr,AL ; MOV CL,┆ 0x1840…1860 64 65 6c 65 74 65 09 3b 20 20 20 20 20 20 20 20 20 20 6d 6f 76 65 6e 61 6d 65 3b 0d 0a 09 4d 4f ┆delete ; movename; MO┆ 0x1860…1880 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 20 ┆V DX,OFFSET sfcb ; INT 224 ; ┆ 0x1880…18a0 20 20 20 20 20 20 20 20 20 64 65 6c 65 74 65 28 62 75 66 2e 6e 61 6d 65 29 3b 0d 0a 09 4d 4f 56 ┆ delete(buf.name); MOV┆ 0x18a0…18c0 09 43 4c 2c 6d 61 6b 65 09 09 3b 20 20 20 20 20 20 20 20 20 20 6d 61 6b 65 28 62 75 66 2e 6e 61 ┆ CL,make ; make(buf.na┆ 0x18c0…18e0 6d 65 29 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 0d 0a 09 49 4e ┆me); MOV DX,OFFSET sfcb ; IN┆ 0x18e0…1900 54 09 32 32 34 09 09 3b 0d 0a 09 49 4e 43 09 41 4c 09 09 3b 0d 0a 09 4a 4e 5a 09 6d 61 6b 65 31 ┆T 224 ; INC AL ; JNZ make1┆ 0x1900…1920 09 09 3b 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 72 65 73 75 6c 74 3b 0d 0a 09 4d 4f ┆ ; MOV BX,OFFSET result; MO┆ 0x1920…1940 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 66 75 6c 6c 0d 0a 09 4a 4d 50 09 73 65 6e 64 61 ┆V BYTE PTR ÆBXÅ,full JMP senda┆ 0x1940…1960 33 09 09 3b 0d 0a 6d 61 6b 65 31 3a 09 4d 4f 56 09 43 4c 2c 64 6d 61 6f 66 66 09 3b 20 20 20 20 ┆3 ; make1: MOV CL,dmaoff ; ┆ 0x1960…1980 20 20 20 20 20 20 73 65 74 64 6d 61 28 62 75 66 2e 61 72 65 61 29 3b 0d 0a 09 4d 4f 56 09 44 58 ┆ setdma(buf.area); MOV DX┆ 0x1980…19a0 2c 4f 46 46 53 45 54 20 62 75 66 61 72 65 61 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 4d ┆,OFFSET bufarea INT 224 ; M┆ 0x19a0…19c0 4f 56 09 43 4c 2c 64 6d 61 73 65 67 09 3b 0d 0a 09 4d 4f 56 09 44 58 2c 44 53 09 09 3b 0d 0a 09 ┆OV CL,dmaseg ; MOV DX,DS ; ┆ 0x19c0…19e0 49 4e 54 09 32 32 34 09 09 3b 20 20 20 20 20 20 20 20 20 20 73 65 74 64 6d 61 73 65 67 28 62 75 ┆INT 224 ; setdmaseg(bu┆ 0x19e0…1a00 66 2e 61 72 65 61 29 3b 0d 0a 09 4a 4d 50 09 73 65 6e 64 61 33 09 09 3b 20 20 20 20 20 20 20 20 ┆f.area); JMP senda3 ; ┆ 0x1a00…1a20 65 6e 64 3b 0d 0a 09 09 09 09 3b 0d 0a 72 65 61 64 66 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 ┆end; ; readf: MOV DX,OFFSE┆ 0x1a20…1a40 54 20 73 66 63 62 09 3b 20 20 20 20 20 33 3a 20 62 65 67 69 6e 20 28 2a 20 72 65 61 64 20 2a 29 ┆T sfcb ; 3: begin (* read *)┆ 0x1a40…1a60 0d 0a 09 4d 4f 56 09 43 4c 2c 72 65 61 64 09 09 3b 20 20 20 20 20 20 20 20 20 20 72 65 61 64 3b ┆ MOV CL,read ; read;┆ 0x1a60…1a80 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 0d 0a 09 4f 52 09 41 4c 2c 41 4c 09 09 3b 0d 0a 09 4a 5a ┆ INT 224 ; OR AL,AL ; JZ┆ 0x1a80…1aa0 09 73 65 6e 64 61 31 33 31 09 3b 0d 0a 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 72 65 73 75 ┆ senda131 ; MOV BX,OFFSET resu┆ 0x1aa0…1ac0 6c 74 3b 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d 2c 65 6f 66 0d 0a 09 4a 4d ┆lt; MOV BYTE PTR ÆBXÅ,eof JM┆ 0x1ac0…1ae0 50 09 73 65 6e 64 61 33 09 09 3b 20 20 20 20 20 20 20 20 65 6e 64 3b 0d 0a 09 09 09 09 3b 0d 0a ┆P senda3 ; end; ; ┆ 0x1ae0…1b00 77 72 69 74 65 66 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 20 20 20 20 ┆writef: MOV DX,OFFSET sfcb ; ┆ 0x1b00…1b20 20 34 3a 20 62 65 67 69 6e 20 28 2a 20 77 72 69 74 65 20 2a 29 0d 0a 09 4d 4f 56 09 43 4c 2c 77 ┆ 4: begin (* write *) MOV CL,w┆ 0x1b20…1b40 72 69 74 65 09 3b 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 3b 0d 0a 09 49 4e 54 09 32 32 34 ┆rite ; write; INT 224┆ 0x1b40…1b60 09 09 3b 0d 0a 09 4f 52 09 41 4c 2c 41 4c 09 09 3b 0d 0a 09 4a 4e 5a 09 6c 30 32 30 09 09 3b 0d ┆ ; OR AL,AL ; JNZ l020 ; ┆ 0x1b60…1b80 0a 09 4a 4d 50 09 73 65 6e 64 61 33 09 09 3b 0d 0a 6c 30 32 30 3a 09 4d 4f 56 09 42 58 2c 4f 46 ┆ JMP senda3 ; l020: MOV BX,OF┆ 0x1b80…1ba0 46 53 45 54 20 72 65 73 75 6c 74 3b 0d 0a 09 4d 4f 56 09 42 59 54 45 20 50 54 52 20 5b 42 58 5d ┆FSET result; MOV BYTE PTR ÆBXÅ┆ 0x1ba0…1bc0 2c 66 75 6c 6c 0d 0a 09 4a 4d 50 09 73 65 6e 64 61 33 09 09 3b 20 20 20 20 20 20 20 20 65 6e 64 ┆,full JMP senda3 ; end┆ 0x1bc0…1be0 3b 0d 0a 09 09 09 09 3b 0d 0a 63 6c 6f 73 66 3a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 ┆; ; closf: MOV DX,OFFSET s┆ 0x1be0…1c00 66 63 62 09 3b 20 20 20 20 20 35 3a 20 62 65 67 69 6e 20 28 2a 20 63 6c 6f 73 65 20 2a 29 0d 0a ┆fcb ; 5: begin (* close *) ┆ 0x1c00…1c20 (7,) 72 0d 0a 09 4a 4d 50 09 70 72 69 6e 74 65 72 72 09 3b 0d 0a 09 09 09 09 3b 0d 0a 70 61 72 6d 65 ┆r JMP printerr ; ; parme┆ 0x1c20…1c40 72 72 3a 09 09 09 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 6d 70 61 72 6d 65 72 72 ┆rr: ; MOV DX,OFFSET mparmerr┆ 0x1c40…1c60 0d 0a 09 4a 4d 50 09 70 72 69 6e 74 65 72 72 09 3b 0d 0a 09 09 09 09 3b 0d 0a 09 09 09 09 3b 0d ┆ JMP printerr ; ; ; ┆ 0x1c60…1c80 0a 70 72 69 6e 74 65 72 72 3a 09 09 09 3b 0d 0a 09 4d 4f 56 09 43 4c 2c 70 72 69 6e 74 09 3b 0d ┆ printerr: ; MOV CL,print ; ┆ 0x1c80…1ca0 0a 09 49 4e 54 09 32 32 34 09 09 3b 20 77 72 69 74 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 ┆ INT 224 ; write error message┆ 0x1ca0…1cc0 20 74 6f 20 63 6f 6e 73 6f 6c 65 0d 0a 09 4d 4f 56 09 41 4c 2c 72 64 63 6f 6e 73 09 3b 20 69 66 ┆ to console MOV AL,rdcons ; if┆ 0x1cc0…1ce0 20 72 65 61 64 2d 66 72 6f 6d 2d 63 6f 6e 73 6f 6c 65 3d 66 61 6c 73 65 0d 0a 09 43 4d 50 09 41 ┆ read-from-console=false CMP A┆ 0x1ce0…1d00 4c 2c 66 61 6c 73 65 09 3b 20 20 74 68 65 6e 20 67 6f 74 6f 20 63 70 6d 0d 0a 09 4a 4e 5a 09 6c ┆L,false ; then goto cpm JNZ l┆ 0x1d00…1d20 30 32 33 09 09 3b 0d 0a 09 4a 4d 50 09 62 6f 6f 74 09 09 3b 20 20 65 6c 73 65 20 0d 0a 6c 30 32 ┆023 ; JMP boot ; else l02┆ 0x1d20…1d40 33 3a 09 58 4f 52 09 41 4c 2c 41 4c 09 09 3b 20 20 20 62 65 67 69 6e 0d 0a 09 4d 4f 56 09 63 6f ┆3: XOR AL,AL ; begin MOV co┆ 0x1d40…1d60 6e 73 6c 65 6e 2c 41 4c 09 3b 20 20 20 20 20 6c 65 6e 28 63 6f 6e 73 29 3a 3d 30 20 20 20 0d 0a ┆nslen,AL ; len(cons):=0 ┆ 0x1d60…1d80 09 4a 4d 50 09 61 63 74 09 09 3b 20 20 20 65 6e 64 3b 20 20 0d 0a 09 09 09 09 3b 20 67 6f 74 6f ┆ JMP act ; end; ; goto┆ 0x1d80…1da0 20 73 74 61 72 74 3b 0d 0a 09 09 09 09 3b 0d 0a 09 09 09 09 3b 0d 0a 67 65 74 6e 65 78 74 69 74 ┆ start; ; ; getnextit┆ 0x1da0…1dc0 65 6d 3a 09 09 09 3b 20 70 72 6f 63 65 64 75 72 65 20 67 65 74 6e 65 78 74 69 74 65 6d 0d 0a 09 ┆em: ; procedure getnextitem ┆ 0x1dc0…1de0 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 63 6f 6e 73 70 69 6c 0d 0a 09 09 09 09 3b 20 62 65 67 ┆MOV BX,OFFSET conspil ; beg┆ 0x1de0…1e00 69 6e 0d 0a 09 4d 4f 56 09 43 48 2c 30 09 09 3b 20 20 20 77 68 69 6c 65 20 63 6f 6e 73 70 69 6c ┆in MOV CH,0 ; while conspil┆ 0x1e00…1e20 3c 3d 6c 65 6e 28 63 6f 6e 73 29 20 61 6e 64 0d 0a 09 4d 4f 56 09 43 4c 2c 5b 42 58 5d 09 09 3b ┆<=len(cons) and MOV CL,ÆBXÅ ;┆ 0x1e20…1e40 20 20 20 20 20 20 20 20 20 63 6f 6e 73 28 63 6f 6e 73 70 69 6c 29 3d 27 20 27 20 64 6f 20 0d 0a ┆ cons(conspil)=' ' do ┆ 0x1e40…1e60 09 4d 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 63 6f 6e 73 09 3b 20 20 20 62 65 67 69 6e 0d 0a 09 ┆ MOV BX,OFFSET cons ; begin ┆ 0x1e60…1e80 44 45 43 09 42 58 0d 0a 09 41 44 44 09 42 58 2c 43 58 0d 0a 09 52 43 52 09 53 49 2c 31 0d 0a 09 ┆DEC BX ADD BX,CX RCR SI,1 ┆ 0x1e80…1ea0 52 43 4c 09 53 49 2c 31 09 09 3b 20 20 20 20 20 63 6f 6e 73 70 69 6c 3a 3d 63 6f 6e 73 70 69 6c ┆RCL SI,1 ; conspil:=conspil┆ 0x1ea0…1ec0 2b 31 3b 20 20 20 20 20 20 20 20 20 20 0d 0a 67 65 74 6e 32 3a 09 4d 4f 56 09 41 4c 2c 63 6f 6e ┆+1; getn2: MOV AL,con┆ 0x1ec0…1ee0 73 6c 65 6e 09 3b 20 20 20 65 6e 64 3b 0d 0a 09 43 4d 50 09 41 4c 2c 43 4c 09 09 3b 0d 0a 09 4a ┆slen ; end; CMP AL,CL ; J┆ 0x1ee0…1f00 53 09 67 65 74 6e 33 09 09 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 5b 42 58 5d 09 09 3b 0d 0a 09 43 4d ┆S getn3 ; MOV AL,ÆBXÅ ; CM┆ 0x1f00…1f20 50 09 41 4c 2c 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 67 65 74 6e 35 09 09 3b 0d 0a 09 49 4e 43 ┆P AL,' ' ; JNZ getn5 ; INC┆ 0x1f20…1f40 09 43 4c 09 09 3b 0d 0a 09 49 4e 43 09 42 58 0d 0a 09 4a 4d 50 09 67 65 74 6e 32 09 09 3b 0d 0a ┆ CL ; INC BX JMP getn2 ; ┆ 0x1f40…1f60 67 65 74 6e 33 3a 09 4d 4f 56 09 41 4c 2c 72 64 63 6f 6e 73 09 3b 20 20 20 69 66 20 63 6f 6e 73 ┆getn3: MOV AL,rdcons ; if cons┆ 0x1f60…1f80 70 69 6c 3e 6c 65 6e 28 63 6f 6e 73 29 20 74 68 65 6e 20 20 0d 0a 09 43 4d 50 09 41 4c 2c 30 09 ┆pil>len(cons) then CMP AL,0 ┆ 0x1f80…1fa0 09 3b 20 20 20 62 65 67 69 6e 0d 0a 09 4a 5a 09 67 65 74 6e 31 30 09 09 3b 20 20 20 20 20 69 66 ┆ ; begin JZ getn10 ; if┆ 0x1fa0…1fc0 20 72 64 63 6f 6e 73 20 74 68 65 6e 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 73 74 61 ┆ rdcons then MOV DX,OFFSET sta┆ 0x1fc0…1fe0 72 09 3b 20 20 20 20 20 62 65 67 69 6e 0d 0a 09 4d 4f 56 09 43 4c 2c 70 72 69 6e 74 09 3b 20 20 ┆r ; begin MOV CL,print ; ┆ 0x1fe0…2000 20 20 20 20 20 77 72 69 74 65 28 27 2a 20 27 29 3b 0d 0a 09 49 4e 54 09 32 32 34 09 09 3b 20 20 ┆ write('* '); INT 224 ; ┆ 0x2000…2020 (8,) 20 73 65 74 64 6d 61 73 65 67 28 62 75 66 2e 61 72 65 61 29 3b 0d 0a 09 4d 4f 56 09 41 4c 2c 33 ┆ setdmaseg(buf.area); MOV AL,3┆ […truncated at 200 lines…]