(. stack ) , LIFO (Last In, First Out) , FILO (First In, Last Out) , .
: SS , SP BP . ( EXE-) ( COM-) 64 .
.7.5.
. 7.5.
SS, . , . 16 2 , 1 . , ( ), ( ). ( , , FFFFH). SP , , .
COM- .
Intel . PUSH ( . PUSH ). .7.6.
. 7.6. PUSH
( Intel 80186), 16- ( ) 16- ( ). . .
:
SP 2 ( 2 );
SS:SP.
:
PUSH -5; -5
PUSH AX; AX
PUSH DS; DS
PUSH word ptr [BX]; , ; BX
. PUSHF . PUSHA : , , DX, , SP, BP, SI, DI ( DI ). SP , . .
POP ( . POP ). .7.7.
. 7.7. POP
|
|
, 16- ( , CS) 16- . .
:
SS:SP ;
SP 2.
:
POP CX; CX
POP ES; ES
POP word ptr [DI]; ,; DI
AH BL:
PUSH AH
PUSH BL
POP AH
POP BL
. POPF . POPA ( SP ) : DI, SI, BP, SP, BX, DX, CX, AX.
BP. AX, , . SP+4,
MOV BP,SP
MOV AX,[BP+4]; MOV AX,SS:[BP+4]
BP SP . BP SS, .
1. AX BX :
perem DW 1234H
MOV AX,perem
MOV BH,byte ptr perem
MOV BL,byte ptr perem+1
2. , perem:
perem DD 8B24EEFAH
3. CX DX, .
4. CX , .
5. AH AL ?
field DB 25,12,28,41
MOV AL,field
LEA BX,field
INC BX
INC BX
MOV AH,[BX]
6. AX .
7. AX ?
perem DB 23,41,16,10
MOV AL,perem+1
MOV AH,perem+3