/. 8, 16, 32. / - . 65536 .
, . . -.
/
in ., -
out , . -
:
ins , dx (input string) dx , es:edi/di
insb - 1
insw - 2
insd - 4
:
outs dx, dx , es:esi/si
outsb
outsw
outsd
, . .
2 :
-
( , ,
)
- (
) .
( ) ( , ).
INTEL 256 (32 , - ). ( 10h ). , .
( )
: 0000:0000.
4 . , -
: IDT (interrupt descriptor table)
.
:
int .
int : eflags/flags, cs, eip/ip ( , ). , , . int ( ) 0 255. , , . cs:eip/ip , . , eip/ip , int.
|
|
: BIOS 10h
( ), ah
0 ( ), al :
xor ah,ah; 0 10h
;
mov al,3; al ,
; , 80 × 25
int 10h; ,
;
3 . ( )
.
( OF=1)
into (interrupt on overflow
):
into
int, into . into 4 , OF 1. 4 , , ( OF
, ).
80186 5
Bound , . ( , - )
Iret, iretd - .
iret ip, cs
flags ( ,
). iretd eip, cs
eflags. cs:eip/ip (far) .
, iret/iretd ,
cs:eip/ip.
MS-DOS 21h
-:
Mov ah, no_func
Int 21h
- | |
. . al. ctrl-c, ctrl-break | |
dl . ctrl-c, ctrl-break | |
. ctrl-c, ctrl-break | |
, ctrl-c, ctrl-break | |
ds:dx | |
ds:dx . -: . , ( - ), . Enter |