.


:




:

































 

 

 

 





 

, , : - (BCD -), - (ASCII -). , . AL. , , , , , , , . , .

ADD ADC. , :

, 9;

16.

AF CF , AL, .

 

D (Decimal Adjust for Addition) BCD-, .

, AL. :

- AF = 1 AL , 9, AL 06;

- CF = 1 AL , 9, AL 60;

- , .

ϳ D CF .

 

AAA (Ascii Adjust for Addition) BCD -, . AL. :

- AL AF = 0, AL;

- AL 9 AF = 1, 06 AL 1 A;

- AL;

- CF , AF.

 

SUB SBB. AF CF , AL, .

DAS (Decimal Adjust for Subtraction) . :

- AF = 1 AL , 9, AL 06;

- CF = 1 AL , 9, AL 60.

 

AAS (Ascii Adjust after Subtraction) BCD-, . :

- AL AF = 0, AL;

- AL AF = 1, 06 AL;

- AL;

- CF CF.

 

AAM (Ascii Adjust after Multiply) BCD - , 63 (99 D), BCD -.

AL (0 ) , AL. SF, ZF, PF AL, OF AF CF .

 

AAD (Ascii Adjust before Division) BCD - , 63 (99 D), . :

- 10 D AL;

- .

DIV.

 

:

 

BSWAP (Byte SWAP) .

 

BSWAP src.

 

src () 32- . ( ). . . 9.11.

 

 
 

 

 


9.11 BSWAP

 

XADD (eXchange and ADD) .

 

XADD dst,src.

 

dst () 8-, 16- 32- . src () .

:

dst () src ();

dst () src ();

dst (). .

 

CMP (CoMPare operands) .

 

CMP dst,src.

 

dst () , src () , . , src () .

dst () src (). , , .

 

, , :

CMPS (CoMPare String) ;

CMPSB (CoMPare String Byte) ;

CMPSW (CoMPare String Word) ;

CMPSD (CoMPare String Double word operands) .

 

CMPS dst,src.

 

CMPSB, CMPSW, CMPSD .

ֳ - , , DS:SI -, ES:DI. , .

dst () src (). , , .

ϳ SI DI DF. DF 0 ( CLD), SI DI , DF 1 ( STD), SI DI . / 1, , 2, , 4, .

REP, , 0.

 


CMPXCHG (CoMPare and eXCHanGe) .

 

CMPXCHG dst,src.

 

dst () , src () , .

, ZF = 1, ZF = 0 , .

 

SETcc (byte SET on condition) .

 

SETcc src.

 

8- .

01 , , 00 , .

, .

 

, , :

SCAS (SCAn String) ;

SCASB (SCAn String Byte) ;

SCASW (SCAn String Word) ;

SCASD (SCAn String Double word) ;

 

SCAS dst.

 

CMPSB, CMPSW, CMPSD .

dst (), ES:DI, AL (), AX (), EAX ( ). , , .

ϳ DI DF. DF 0 ( CLD), DI , DF 1 ( STD), . / 1, , 2, , 4, .

REP, 0.

 

, . , , .

-86:

AND (logical AND) ().

OR (logical OR) ().

XOR (logical eXclusive OR) .

TEST (TEST operand) . .

NOT (NOT operand) .

:

 

AND dst,src.

OR dst,src.

XOR dst,src.

TEST dst,src.

NOT src.

 

8-, 16-, 32- . src () ( NOT).

AND, OR, XOR, TEST :

OF CF ;

SF, ZF, PF , ;

AF .

 

. , , , , , , 0. , , .

:

SHL (Shift logical Left) ;

SAL (Shift Arithmetic operand Left) ;

SHR (Shift logical Right) ;

SAR (Shift Arithmetic operand Right) ;

RCL (Rotate operand through Carry flag Left) ;

RCR (Rotate operand through Carry flag Right) ;

ROL (Rotate operand Left) ;

ROR (Rotate operand Right) .

. 9.3.

: opr ( , ); cnt ( 1 - CL).

 

9.3

SHL opr,cnt SAL opr,cnt SHR opr,cnt SAR opr,cnt RCL opr,cnt RCR opr,cnt ROL opr,cnt ROR opr,cnt  
 
 

 


opr

 

:

1 ? ?

2 SUB SBB? .

3 DEC CX?

4 MUL src () dst ()?

5 DIV src () dst ()?

6 CWD?

7 ? ?

8 ?

9 :

MOV AX,AFH

SHL AX,1

10 :

MOV AX,AFH

ROR AX,1

11 :

MOV AX,AFH

RCL AX,1

 

:

1 - ?

2 - ?

3 ?

4 2?

 





:


: 2015-10-19; !; : 763 |


:

:

, ; , .
==> ...

2119 - | 1881 -


© 2015-2024 lektsii.org - -

: 0.062 .