.


:




:

































 

 

 

 


,




BIOS:

l 13 ( );

l 40 ( ).

, AH, , .

l DOS 21H.

21 ( AH), MS DOS ( FB) , MS DOS 2.0 ( ASCIIZ).

21H DOS, .

ASCIIZ-, , ( ).

DOS 21.

l AH = 3Ch : ASCIIZ-, , ; - ASCIIZ- DS:DX, CX ; AX .

l AH = 3Dh : - ASCIIZ- DS:DX, AL (AL = 0 , AL = 1 , AL = 2 , ); AX .

l AH = 3Eh ( ): X.

l AH = 3Fh : BX , CX , DS:DX - ( ), ; AX.

l AH = 40h : BX , CX , DS:DX - ( ), ; AX .

l AH = 41h : DS:DX - ASCIIZ- .

l AH = 42h : BX , AL (AL = 0 , AL = 1 , AL = 2 ), CX:DX ( 0); DX:AX .

l AH = 43h : DS:DX ASCIIZ- , CX , AL 1 ( AL 0, , CX).

l AH = 56h : DS:DX ASCIIZ- , ES:DI ASCIIZ- .

FL CF 1; AX.

ASCIIZ-:

path db C:filename.ext, 0; ASCIIZ-

buf db 1000 dup(?);

handle dw?;

size dw?;

l :

;

mov DX, offset path; ASCIIZ- DX

mov AL, 0;

mov AH, 3DH;

int 21H;

jc open_error; CF=1,

mov handle, AX;

l :

mov AH, 42H;

mov AL, 2;

mov BX, handle;

mov CX, 0; = 0

mov DX, 0; = 0

int 21H;

jc point_error1; CF=1,

mov size, AX;

l :

mov AH, 42H;

mov AL, 0;

mov CX, 0; = 0

mov DX, 0; = 0

int 21H;

jc point_error2; CF=1,

l :

mov AH, 3FH;

mov BX, handle;

mov CX, size;

mov DX, offset buf;

int 21H;

jc read_error; CF=1,

l :

mov BX, handle;

mov AH, 3EH;

int 21H;

jc close_erro r; CF=1,

:

l .

; ()

mov DX, offset path

mov CX, 0

mov AH, 3CH

int 21H

jc open_error

mov han, AX

; 500

mov AH, 40H

mov BX, handle

mov CX, 500

mov DX, offset buf

int 21H

jc write_error

l .

;

mov DX, offset path

mov AL, 1

mov AH, 3DH

int 21H

jc open_error

mov handle, AX

;

mov BX, AX

mov CX, 0

mov DX, 0

mov AL, 2

mov AH, 42H

int 21H

jc point_error

; 300

mov AH, 40H

mov BX, handle

mov CX, 300

mov DX, offset buf

int 21H

jc write_error





:


: 2015-10-01; !; : 402 |


:

:

,
==> ...

1708 - | 1473 -


© 2015-2024 lektsii.org - -

: 0.011 .