|
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 - download
Length: 21760 (0x5500) Names: »FILEX.A86«
└─⟦d530d7e91⟧ Bits:30002705 SW1500 Concurrent DOS 5.2 Disk 3/3 └─⟦this⟧ »FILEX.A86«
0x0000…0020 (0,) 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 ┆ ┆ […0x1f…] 0x0400…0420 (1,) 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┆ 0x0420…0440 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 ;┆ 0x0440…0460 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┆ 0x0460…0480 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┆ 0x0480…04a0 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┆ 0x04a0…04c0 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┆ 0x04c0…04e0 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,┆ 0x04e0…0500 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┆ 0x0500…0520 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┆ 0x0520…0540 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┆ 0x0540…0560 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 ┆ 0x0560…0580 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 ;┆ 0x0580…05a0 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┆ 0x05a0…05c0 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┆ 0x05c0…05e0 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┆ 0x05e0…0600 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┆ 0x0600…0620 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┆ 0x0620…0640 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 ; ┆ 0x0640…0660 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┆ 0x0660…0680 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┆ 0x0680…06a0 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 ;┆ 0x06a0…06c0 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┆ 0x06c0…06e0 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 ┆ 0x06e0…0700 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┆ 0x0700…0720 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┆ 0x0720…0740 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┆ 0x0740…0760 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┆ 0x0760…0780 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;┆ 0x0780…07a0 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┆ 0x07a0…07c0 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┆ 0x07c0…07e0 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┆ 0x07e0…0800 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┆ 0x0800…0820 (2,) 0d 0a 09 43 41 4c 4c 09 67 65 74 6e 65 78 74 69 74 65 6d 09 3b 20 20 20 62 75 66 2e 6e 61 6d 65 ┆ CALL getnextitem ; buf.name┆ 0x0820…0840 3a 3d 6e 61 6d 65 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 ┆:=name MOV BX,OFFSET itemlen ┆ 0x0840…0860 09 09 09 09 3b 20 65 6e 64 3b 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 65 71 75 61 6c ┆ ; end; MOV DX,OFFSET equal┆ 0x0860…0880 09 3b 20 67 65 74 6e 65 78 74 69 74 65 6d 3b 0d 0a 09 43 41 4c 4c 09 63 6f 6d 70 09 09 3b 20 69 ┆ ; getnextitem; CALL comp ; i┆ 0x0880…08a0 66 20 69 74 65 6d 3c 3e 27 3d 27 20 74 68 65 6e 20 67 6f 74 6f 20 70 61 72 61 6d 65 74 65 72 2d ┆f item<>'=' then goto parameter-┆ 0x08a0…08c0 72 72 6f 72 3b 0d 0a 09 4a 5a 09 6c 30 30 30 32 09 09 3b 0d 0a 09 4a 4d 50 09 70 61 72 6d 65 72 ┆rror; JZ l0002 ; JMP parmer┆ 0x08c0…08e0 72 09 09 3b 20 67 65 74 6e 65 78 74 69 74 65 6d 3b 0d 0a 6c 30 30 30 32 3a 09 43 41 4c 4c 09 67 ┆r ; getnextitem; l0002: CALL g┆ 0x08e0…0900 65 74 6e 65 78 74 69 74 65 6d 09 3b 20 62 75 69 6c 64 6e 61 6d 65 28 69 74 65 6d 29 3b 0d 0a 09 ┆etnextitem ; buildname(item); ┆ 0x0900…0920 43 41 4c 4c 09 62 75 69 6c 64 6e 61 6d 65 09 3b 20 69 66 20 6c 68 61 6e 64 73 69 64 65 3d 28 52 ┆CALL buildname ; if lhandside=(R┆ 0x0920…0940 78 3a 20 73 70 65 63 69 66 69 65 64 29 0d 0a 09 4d 4f 56 09 41 4c 2c 72 65 6d 6f 74 65 09 3b 20 ┆x: specified) MOV AL,remote ; ┆ 0x0940…0960 20 20 74 68 65 6e 20 67 6f 74 6f 20 70 61 72 61 6d 65 74 65 72 2d 65 72 72 6f 72 3b 0d 0a 09 4d ┆ then goto parameter-error; M┆ 0x0960…0980 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 6c 68 61 6e 64 73 69 64 65 0d 0a 09 09 09 09 3b 20 69 66 ┆OV BX,OFFSET lhandside ; if┆ 0x0980…09a0 20 52 78 3a 20 73 70 65 63 69 66 69 65 64 20 74 68 65 6e 20 67 6f 74 6f 20 72 74 6f 6c 3b 0d 0a ┆ Rx: specified then goto rtol; ┆ 0x09a0…09c0 09 43 4d 50 09 41 4c 2c 5b 42 58 5d 09 09 3b 0d 0a 09 4a 4e 5a 09 61 63 74 35 09 09 3b 0d 0a 09 ┆ CMP AL,ÆBXÅ ; JNZ act5 ; ┆ 0x09c0…09e0 4a 4d 50 09 70 61 72 6d 65 72 72 09 09 3b 0d 0a 61 63 74 35 3a 09 43 4d 50 09 41 4c 2c 74 72 75 ┆JMP parmerr ; act5: CMP AL,tru┆ 0x09e0…0a00 65 09 09 3b 0d 0a 09 4a 4e 5a 09 61 63 74 36 09 09 3b 0d 0a 09 4a 4d 50 09 72 74 6f 6c 09 09 3b ┆e ; JNZ act6 ; JMP rtol ;┆ 0x0a00…0a20 20 73 66 63 62 6e 61 6d 65 3a 3d 6e 61 6d 65 3b 0d 0a 61 63 74 36 3a 09 4d 4f 56 09 44 58 2c 4f ┆ sfcbname:=name; act6: MOV DX,O┆ 0x0a20…0a40 46 46 53 45 54 20 75 6e 69 74 6e 72 3b 20 73 66 63 62 72 63 3a 3d 30 3b 0d 0a 09 4d 4f 56 09 42 ┆FFSET unitnr; sfcbrc:=0; MOV B┆ 0x0a40…0a60 58 2c 4f 46 46 53 45 54 20 73 66 63 62 09 3b 0d 0a 09 43 41 4c 4c 09 6d 6f 76 65 6e 61 6d 65 09 ┆X,OFFSET sfcb ; CALL movename ┆ 0x0a60…0a80 3b 0d 0a 09 58 4f 52 09 41 4c 2c 41 4c 09 09 3b 0d 0a 09 4d 4f 56 09 73 66 63 62 63 72 2c 41 4c ┆; XOR AL,AL ; MOV sfcbcr,AL┆ 0x0a80…0aa0 09 3b 0d 0a 09 09 09 09 3b 0d 0a 09 09 09 09 3b 20 4c 4f 43 41 4c 20 2d 3e 20 72 65 6d 6f 74 65 ┆ ; ; ; LOCAL -> remote┆ 0x0aa0…0ac0 0d 0a 6c 74 6f 72 3a 09 4d 4f 56 09 43 4c 2c 6f 70 65 6e 09 09 3b 20 6f 70 65 6e 28 73 6f 75 72 ┆ ltor: MOV CL,open ; open(sour┆ 0x0ac0…0ae0 63 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 ┆ce); MOV DX,OFFSET sfcb ; IN┆ 0x0ae0…0b00 54 09 32 32 34 09 09 3b 0d 0a 09 43 4d 50 09 41 4c 2c 30 46 46 48 09 09 3b 20 69 66 20 6f 70 65 ┆T 224 ; CMP AL,0FFH ; if ope┆ 0x0b00…0b20 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 33 09 09 3b ┆n-error then abort JNZ l003 ;┆ 0x0b20…0b40 0d 0a 09 4a 4d 50 09 6f 70 65 6e 65 72 72 09 09 3b 0d 0a 6c 30 30 33 3a 09 4d 4f 56 09 41 4c 2c ┆ JMP openerr ; l003: MOV AL,┆ 0x0b40…0b60 62 75 66 6e 61 6d 65 2b 31 09 3b 20 69 66 20 62 75 66 2e 6e 61 6d 65 3d 27 27 20 74 68 65 6e 0d ┆bufname+1 ; if buf.name='' then ┆ 0x0b60…0b80 0a 09 43 4d 50 09 41 4c 2c 27 20 27 09 09 3b 0d 0a 09 4a 4e 5a 09 6c 74 6f 72 31 09 09 3b 20 62 ┆ CMP AL,' ' ; JNZ ltor1 ; b┆ 0x0b80…0ba0 65 67 69 6e 0d 0a 09 4d 4f 56 09 44 58 2c 4f 46 46 53 45 54 20 6e 61 6d 65 09 3b 20 20 20 62 75 ┆egin MOV DX,OFFSET name ; bu┆ 0x0ba0…0bc0 66 2e 6e 61 6d 65 3a 3d 6e 61 6d 65 20 28 65 78 63 65 70 74 20 75 6e 69 74 6e 6f 29 0d 0a 09 4d ┆f.name:=name (except unitno) M┆ 0x0bc0…0be0 4f 56 09 42 58 2c 4f 46 46 53 45 54 20 62 75 66 6e 61 6d 65 2b 31 0d 0a 09 09 09 09 3b 20 65 6e ┆OV BX,OFFSET bufname+1 ; en┆ 0x0be0…0c00 64 3b 0d 0a 09 43 41 4c 4c 09 6d 6f 76 65 6f 6e 6c 79 6e 61 6d 65 09 3b 0d 0a 6c 74 6f 72 31 3a ┆d; CALL moveonlyname ; ltor1:┆ 0x0c00…0c20 (3,) 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 ┆ 0x0c20…0c40 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.┆ 0x0c40…0c60 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┆ 0x0c60…0c80 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┆ 0x0c80…0ca0 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;┆ 0x0ca0…0cc0 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='┆ 0x0cc0…0ce0 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┆ 0x0ce0…0d00 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; ┆ 0x0d00…0d20 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┆ 0x0d20…0d40 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┆ 0x0d40…0d60 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┆ 0x0d60…0d80 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; ┆ 0x0d80…0da0 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┆ 0x0da0…0dc0 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 ;┆ 0x0dc0…0de0 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┆ 0x0de0…0e00 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 ;┆ 0x0e00…0e20 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┆ 0x0e20…0e40 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 ┆ 0x0e40…0e60 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,┆ 0x0e60…0e80 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 ┆ 0x0e80…0ea0 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┆ 0x0ea0…0ec0 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┆ 0x0ec0…0ee0 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 ; ┆ 0x0ee0…0f00 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┆ 0x0f00…0f20 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┆ 0x0f20…0f40 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┆ 0x0f40…0f60 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 ┆ 0x0f60…0f80 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┆ 0x0f80…0fa0 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┆ 0x0fa0…0fc0 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┆ 0x0fc0…0fe0 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 ┆ 0x0fe0…1000 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 ;┆ 0x1000…1020 (4,) 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 ;┆ 0x1020…1040 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┆ 0x1040…1060 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); ┆ 0x1060…1080 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 ; ┆ 0x1080…10a0 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┆ 0x10a0…10c0 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┆ 0x10c0…10e0 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┆ 0x10e0…1100 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,┆ 0x1100…1120 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 *) ┆ 0x1120…1140 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:=┆ 0x1140…1160 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┆ 0x1160…1180 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┆ 0x1180…11a0 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; ┆ 0x11a0…11c0 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. ; ; ***********┆ 0x11c0…11e0 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 ┆***************************** ┆ 0x11e0…1200 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 ┆; * ┆ 0x1200…1220 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┆ 0x1220…1240 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 * ; * ┆ 0x1240…1260 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 ┆ ┆ 0x1260…1280 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 ┆ * ; ***********************┆ 0x1280…12a0 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: ┆ 0x12a0…12c0 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┆ 0x12c0…12e0 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┆ 0x12e0…1300 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: ┆ 0x1300…1320 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┆ 0x1320…1340 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┆ 0x1340…1360 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┆ 0x1360…1380 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 ; ┆ 0x1380…13a0 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┆ 0x13a0…13c0 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┆ 0x13c0…13e0 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┆ 0x13e0…1400 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┆ 0x1400…1420 (5,) 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┆ 0x1420…1440 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,┆ 0x1440…1460 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┆ 0x1460…1480 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 ; ┆ 0x1480…14a0 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┆ 0x14a0…14c0 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┆ 0x14c0…14e0 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┆ 0x14e0…1500 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┆ 0x1500…1520 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┆ 0x1520…1540 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┆ 0x1540…1560 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 ; ┆ 0x1560…1580 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┆ 0x1580…15a0 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┆ 0x15a0…15c0 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 ; ┆ 0x15c0…15e0 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┆ 0x15e0…1600 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 ; ┆ 0x1600…1620 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┆ 0x1620…1640 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 *)┆ 0x1640…1660 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;┆ 0x1660…1680 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┆ 0x1680…16a0 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┆ 0x16a0…16c0 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┆ 0x16c0…16e0 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; ; ┆ 0x16e0…1700 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 ; ┆ 0x1700…1720 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┆ 0x1720…1740 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┆ 0x1740…1760 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 ; ┆ 0x1760…1780 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┆ 0x1780…17a0 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Å┆ 0x17a0…17c0 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┆ 0x17c0…17e0 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┆ 0x17e0…1800 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 *) ┆ 0x1800…1820 (6,) 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┆ 0x1820…1840 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┆ 0x1840…1860 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; ┆ 0x1860…1880 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┆ 0x1880…18a0 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); ┆ 0x18a0…18c0 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 ;┆ 0x18c0…18e0 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┆ 0x18e0…1900 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 ; ┆ 0x1900…1920 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┆ 0x1920…1940 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 ┆ 0x1940…1960 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 ┆ 0x1960…1980 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 ┆ 0x1980…19a0 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); ┆ 0x19a0…19c0 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 ; ┆ 0x19c0…19e0 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)┆ 0x19e0…1a00 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 ;┆ 0x1a00…1a20 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 *) ┆ 0x1a20…1a40 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┆ 0x1a40…1a60 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┆ 0x1a60…1a80 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┆ 0x1a80…1aa0 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 ; ┆ 0x1aa0…1ac0 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┆ 0x1ac0…1ae0 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┆ 0x1ae0…1b00 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┆ 0x1b00…1b20 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┆ 0x1b20…1b40 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 ; ┆ 0x1b40…1b60 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┆ 0x1b60…1b80 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 ┆ 0x1b80…1ba0 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┆ 0x1ba0…1bc0 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┆ 0x1bc0…1be0 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 ;┆ 0x1be0…1c00 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; ;┆ 0x1c00…1c20 (7,) 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┆ 0x1c20…1c40 09 09 3b 20 62 75 66 2e 6f 70 65 72 61 74 69 6f 6e 3a 3d 33 3b 20 28 2a 20 72 65 61 64 20 2a 29 ┆ ; buf.operation:=3; (* read *)┆ 0x1c40…1c60 0d 0a 09 4d 4f 56 09 62 75 66 6f 70 2c 41 4c 09 3b 0d 0a 72 74 6f 6c 32 3a 09 4d 4f 56 09 57 4f ┆ MOV bufop,AL ; rtol2: MOV WO┆ 0x1c60…1c80 52 44 20 50 54 52 20 61 6e 74 61 6c 2c 33 3b 20 61 6e 74 61 6c 20 3a 3d 33 3b 0d 0a 09 43 41 4c ┆RD PTR antal,3; antal :=3; CAL┆ 0x1c80…1ca0 4c 09 6f 75 74 61 6e 64 69 6e 09 3b 20 6f 75 74 6c 69 6e 65 28 62 75 66 66 65 72 2c 61 6e 74 61 ┆L outandin ; outline(buffer,anta┆ 0x1ca0…1cc0 6c 29 3b 0d 0a 09 09 09 09 3b 20 69 6e 6c 69 6e 65 28 62 75 66 66 65 72 2c 61 6e 74 61 6c 29 3b ┆l); ; inline(buffer,antal);┆ 0x1cc0…1ce0 0d 0a 09 4d 4f 56 09 41 4c 2c 73 74 61 74 75 73 09 3b 20 0d 0a 09 4f 52 09 41 4c 2c 41 4c 09 09 ┆ MOV AL,status ; OR AL,AL ┆ […truncated at 200 lines…]