.


:




:

































 

 

 

 





, . , :

1) , , ;

2) , , .

.

.

JMP [] _

.

4.10.

 

4.10

( JMP -128 127 ) JMP SHORT OPR (IP) (IP) + 8- , OPR
( 128 64 ) JMP [NEAR] OPR (IP) (IP) + 16- , OPR
( , , ) JMP OPR (IP) (EA), EA- , OPR

4.11.

4.11

JMP FAR PTR OPR (CS) , OPR (IP) OPR
JMP OPR (IP) (EA), EA- , OPR (CS) (EA + 2), EA- OPR

. . . , , - . , .

() , .

, , , , .

, :

_ PROC []

, -

ret

_ ENDP -

(), . [] . : NEAR ( , ) FAR ( ). NEAR.

, , . . :

1) ( );

c_s segment

assume cs:c_s

Pr1 proc near

Ret

P1 endp

begin:;

end begin

2) ( - );

c_s segment

assume cs:c_s

begin:

mov ah, 4ch

int 21h;

P1 proc near

Ret

P1 endp

c_s ends

end begin

3) ( JMP);

c_s segment

assume cs:c_s

begin:

jmp m1

P1 proc near

Ret

P1 endp

m1:

mov ah, 4ch

int 21h;

c_s ends

end begin

4) , , . , .

, CALL RET, . CALL , , CALL. CALL _.

CALL:

CALL [] _

NEAR FAR, , .

RET IP/EIP CS IP/EIP, , CALL.

IP/EIP, : CS IP/EIP. CALL CS, IP/EIP. , , .

: . , , : , .

, , . ( AF). , , CMP, , . , , CMP (), , , ().

4.12.

4.12

( CMP)
       
, JE OPR OPR1 = OPR2 ZF = 1
, JNE OPR OPR1 <> OPR2 ZF = 0
, ()/ ( ) JB/ JNAE OPR OPR1 < OPR2 CF = 1
, ()/ ( ) JNB/ JAE OPR OPR1 >= OPR 2 CF = 0
, / ( ) JBE/ JNA OPR OPR1 <= OPR2 CF = 1 ZF = 1
, / () ( ) JNBE/ JA OPR OPR1 > OPR2 CF = 0 ZF = 0
, / ( ) JL/ JNGE OPR OPR1 < OPR2 SF <> OF
, / ( ) JNL/ JGE OPR OPR1 => OPR2 SF = OF
, / ( ) JLE/ JNG OPR OPR1 <= OPR2 SF <> OF ZF = 1
, / ( ) JNLE/ JG OPR OPR1 > OPR2 SF = OF ZF=0  
4.12
       
, JZ OPR [OPR1 = OPR2] ZF = 1
, JNZ OPR [OPR1 <> OPR2] ZF = 0
, JS OPR [OPR1 < OPR2] SF = 1
, JNS OPR [OPR1 > OPR2] SF = 0
,   JO OPR - OF = 1
, JNO OPR - OF = 0
, JP OPR - PF = 1
, JNP OPR - PF = 0
, JC OPR - CF = 1
, JNC - CF = 0

, :

(IP) (IP)+ 8- .

, . . - (IP). OPR -128 127 , .

. , , , . 4.13.

LOOP , for .

 

4.13

LOOP OPR (ECX/ CX) <> 0
, LOOPZ/ LOOPE OPR (ECX/ CX) <> 0 ZF = 0
, LOOPNZ/ LOOPNE OPR (ECX/ CX) <> 0 ZF=1
CX JCXZ OPR (ECX/ CX) = 0

JCXZ, (ECX/ CX), (ECX/ CX)(ECX/ CX)-1, , , (EIP/ IP)(EIP/ IP)+D8 ; (IP) .

. - IP. OPR , -128 127 , .

, . . ( 4.8).

64 ( 4 ). , SS. SS . LIFO (Last Input First Output - ). .

4.2. SS, ESP/ SP EBP/ BP , . ESP/ SP , , . , EBP/ BP . , . , . , EBP/ BP ESP/ SP. ESP/ SP , EBP/ BP , , .

4.2

, ESP/ SP ( ), . , ESP/ SP SS, . ( ESP/ SP) ( ), ( ).

, 4.14.

4.14

PUSH SRC (SP) (SP) 2 ((SP + 1):SP) (SRC)
POP DST (DST) ((SP + 1):SP) (SP) (SP) + 2

PUSH SP 2, (SP+1):SP .

POP ( (SP+1):SP) , DST, SP 2.

- SRC - DST , CS.





:


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


:

:

, ,
==> ...

1664 - | 1655 -


© 2015-2024 lektsii.org - -

: 0.023 .