- MOV
MOV (move ) . . () (), . .
: MOV ,
. :
MOV AX,TABLE; .
MOV TABLE,; .
MOV ES:[BX],AX; .
MOV DS,AX; 16- .
MOV BL,AL; 8- .
MOV CL,-; .
MOV DEST,25H; DEST.
V :
1) , . , , . , per1 per2 , , :
MOV AX, per1; per1 .
MOV per2,AX; per2.
2) , . 1, . , (DATA_SEG) DS :
MOV AX,@DATA; .
MOV DS,AX; DS.
DS;
3) , . . , DS , ES, :
MOV AX,@DATA; .
MOV DS,AX; DS.
MOV S, ; ES.
4) CS .
PUSH POP
, . CALL (call - ) , RET (return - ) . , 8086 , .
, ( ) . , , - . PUSH ( ) POP ( ). PUSH 16- . POP, , .
|
|
PUSH POP :
PUSH
POP
:
PUSH SI; SI.
PUSH DS; DS.
PUSH CS; CS.
PUSH COUNTER; c ,
PUSH TABLE [BX][DI]; .
, PUSH POP , .. PUSH POP. , :
PUSH AX; .
...; ,
...; .
...;
POP AX; , .
, SP. "" ( 0), , , ..
SP , . , PUSH 2 , - () . , POP - , SP, a 2 . :
SS × 10H + SP 2.
SP PUSH , ( ) . POP SP . , , , CS. PUSH 32768 , PUSH , POP , . , , .
Mov AX,33; 33.
Mov BX,55; 55.
Mov CX,66; 66.
Mov dx,77; D 77.
PUSH AX; .
PUSH ; .
PUSH ; .
PUSH DX; D .
POP AX; . 77.
POP BX; . 66.
|
|
POP CX; . 55.
POP DX; D. D 33.
PUSH POP . ,
PUSH ES
POP DS; ES DS.
.
PUSHF; .
POPF; .
, Flags. PUSHF , POPF, , . .
- XCHG
XCHG (exchange - ) . (−, − ..). :
XCHG ,; .
XCHG AL,BL; .
XCHG WORD_MEM,DX; .
XCHG DL,BYTE_ MEM; .
NOT . . , , .
:
Mov ,579BH; .
Not ; 0864.
Mov WORD_MEM,1111H; 1111.
Not WORD_MEM; .
Mov BYTE_ MEM, 0000H; 0000.
Not BYTE_ MEM; FFFFH.
INT
INT , n. .
, .
INT (interrupt ) :
INT _,
_ − , 256 , (- ).
, 256 , IP CS .
INT :
1) ;
2) CS;
3) IP;
4) TF - IF ;
5) _ 4, ;
6) CS;
7) IP;
8) IF TF.
, INT CS IP, TF IF 0, CS:IP . 4 1 .
, INT 21 8086 54 (4×21). , 16- IP CS, , 54 56 .
Al, AH, DX, .