.


:




:

































 

 

 

 


. BP.




PUSH POP , , "" . - BP.

BP - , , :

MOV BP, SP

MOV AX, [BP]

AX .

MOV AX, [BP+2]

AX ( 2),

MOV AX,[BP+4]

..

 

BP . SP , , .. SP - (.. [SP+4] ). , BP, SS (.. ). , SS , :

MOV AX, SS:[BX+4]

, BP .

 

2.3.

 

1) , ( ). SP , .

2) , , . , ( , ).

3) , ( ). , . , . .

:

- DB.

.

, , ( , - ). . , .

. .

, ( RET) , ( DS 0).

 

2.4.

 

:

;

( ).

, .

 

 

3. 5

 

3.1.

 

:

.

.

:

DOS, MASM, AFD.

 

3.2.

3.2.1.

 

. , ( 64). ( - ) , :

 

Cl SEGMENT

ASSUME CS: Cl,...

START: MOV AX, 0

...

JMP FAR PTR L;goto L

...

Cl ENDS

C2 SEGMENT

ASSUME CS: C2

L: INC BX

...

C2 ENDS

ASSUME, ( ) CS ( , ). , , .

, , CS IP: CS , , IP , .

IP, . . , (, L 2). . CS, IP: CS (CS:=C2), IP (IP:=offset L).

: ( ).

:

JMP FAR PTR <>

FAR () , , . CS , , IP :

CS:=seg <>; IP:=offset <>

, , , L.

:

JMP < >

, seg:ofs, "" : ofs , seg . , . . CS seg, IP - ofs:

CS:= [ +2]; IP:= [ ]

:

X DD L;X:offset L, X+2:seg L

...

JMP X;goto L(CS:=seg L,IP:=offset L)

X, , , , , X . , , . PTR:

JMP DWORD PTR X

3.2.2. ()

 

, , , . , , , , , . , , , . . .

(/) FINISH (. ), - , (. ). (. ).

 

:

< > PROC <>

< >

< > ENDP

 

( ) PROC (procedure), - ENDP (end of procedure). - , .

PROC - NEAR (), FAR (). , , NEAR ( NEAR ). NEAR "", FAR - "". , , , ( , ). .

 





:


: 2016-11-12; !; : 1036 |


:

:

,
==> ...

1975 - | 1812 -


© 2015-2024 lektsii.org - -

: 0.015 .