.


:




:

































 

 

 

 





1. .

2. .

3. .

4. 2.4.

5. .

6. , , .

7. (TD) .

8. , .

9. .

10. , .

11. .

12. .

13. .

14. , .

( ) 86. 16 1981 ., 64 128 . INTEL . , , IBM PC AT, - . , , , , . , . , 8086 .

- (-) 2.1. :

) ;

) ( );

) ( ) ;

) ;

) ;

) .

− . − . , , .

:

, ;

- , , ;

. , . CPU (Central Processor Unit);

, ;

, .

(), (), (). ( ) .

( ) , , .

: , , . - .

- , , . :

1) ;

2) ;

3) ( CPU);

4) IP;

5) ;

6) () ;

7) ;

8) ;

9) ;

10) .

, , .

( ) IP , ( ) ( ). , IP .

IP , , IP , .

2.1.

 

. , , .

- 20 , 1 . , .

- .

(), , .

8086

, - .

, .

- , , . 16 . .

, . :

(, , , D);

(SI, DI, BP, SP);

(CS, DS, SS, ES);

(IP);

( ) (EF).

 

( 2.2) , , , .

, ( ) L A DX:AX.

16 AX, BX, CX, DX 8- AL, AH, BL, BH, CL, CH, DL, DH. L H (low-order) (high-order) 16- . .

  15 8 7 0
AX BX CX DX AH AL (accumulator)  
BH BL (base)  
CH CL (counter)  
DH DL (date)  
  2.2−

 

− (16 ), , , , . , − .

(16 ), , , .

(16 ), , , . L - .

DX - (16 ), , .

( 2.3) , . .

 

15 0
SI (source index) (destination index) (base pointer) (stack pointer)
DI
BP
SP
  2.3−

 

SI DI BP BX () .

S . .

BP .

() , . ( stack ) − . 1, 2, 3 ( ), − 3, 2, 1.

() , , .

, SS, ( ) SP. , .

, SP. , SP , , ( + ).

SI, DI, BP, SP , 16- .

INTEL x86 . , 16 65536 .

. 16- ( 2.4). .

15 0
CS (code segment)
DS (data segment)
SS (stack segment)
ES (extra segment)
  2.4 -

 

 

.

 

CS (code segment) .

DS (date segment) .

SS (stack segment) .

ES (extra segment) , .

IP

IP (instruction pointer) 16 . , .

IP , , .

() () CS IP :

= CS × 10 + IP.

CS , IP . CS 16 10 .

, IP , CS . CS . IP 16-, , , 65535 FFFF . , 65536 .

EF

EF (flags pointer) ( 2.5). , - , , 1 ( ) 0 ( ), .

 

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
        OF DF IF TF SF ZF   AF X PF   CF

 

2.5

 

8086 9 . .

. , .

CF (Carry flag) . 1, ( ), 0.

PF (parity flag) . 1, , 1, 0 - ec .

AF (Auxiliary carry flag) . 1, ( ) . - .

ZF (Zero flag) . 1, .

SF (Sign flag) . .

F (overflow flag) . 1, - . , , , , .

TF (Trap flag) . , . 1 , .

IF (Interrupt flag) . 0 , ( INT). .

DF (Direction flag) . . 1, , , , . , . DF = 0, , .

, , . , () . 2, . 1(20), -2(21), - 4(22), -8(23) ..

- 0 1, , .

. 10110101 .

.

.

.

, . 10 A F. , 16, 16 . , 1 (160), 16 (161) .. 2.1 .

, 234 11101010.

, , .

:

1. 0 1,

, 1010110011.

2. 0 7,

G, 126G.

3. 0 9,

D, 129D 129.

4. 0 9

A F, H. , 035. 0 , 35 , .

5. , ,

$.

6. .

.

 

2.1-

 

16 16
          B
          C
          D
          E
          F
           
           
          1D
           
           
    A      

 

 

:

, (-32);

, .

, .

,

2 - | |,

, ;

- .

, :

(-1) = 256 1 = 255 = 11111111b = FFh

(-2) = 256 2 = 254 = 11111110b = FEh

(-3) = 256 3 = 253 = 11111101b = FDh

(-126) = 256 126 = 130 = 10000010b = 82h

(-127) = 256 127 = 129 = 10000001b = 81h

(-128) = 256 128 = 128 = 10000000b = 80h

, .

.

: 4 0000 0100

4 1111 1011

0000 0001

1111 1100

, .

: 105-56 = 49

(+105) 01101001

(-56) 11001000

(+ 49) 00110001 .

 

:

[A Z, a z, ];

[A Z, a z,0 - 9 ];

;

32 ;

;

, .

()

, . . . , , . .

 

()

, , :

;

.

:

[ ] Dn

, .

Dn - :

DB (8 ). .

, Tabb db 23,45;

Hex db 35h,6Fh;

Prt db !$; .

Tabb, Hex, Prt - .

DW ( ).

, tabw dw 123,45; .

DD ( ).

, tabd dd 45567785.

DF .

, tabf df 455677858700.

tabw, tabd, tabf .

DQ .

DT .

DUP .

, 1 DB 9 DUP (06),15,47; 1 (),

DB , 9 06.

, . ,

TABDB DB 45,32,78,09,55,39; . TABDB (45), TABDB +1 (32) ..

EQU = , (). 16- , , , , , . , .

, EQU 1024; 1024.

Tadr EQU DS:[BP] [SP]; Tadr .

Count EQU CX; .

2 = 24; 2 24.

 

( 2.2) (BYTE, WORD, DWORD) (SHORT, NEAER FAR). , , .

, :

TW DW 4564, 67 81,1234

(67) 99.

Mov BYTE PTR TW +3, 99

:

TW DW 4567, 99 81, 1234

 

2.2

PTR SHORT : PTR ; . , - , . - BYTE, WORD, DWORD, QWORD, TBYTE. : JMP SHORT ; NEAR JMP , -128 +127 .

offset $.

offset , , . ,

Mov AX,offset TW

TW.

$ . Ÿ , . , , .

8086. , :

.386 80386;

.686 - 6;

.686p - 6 (Pentium Pro).

 

:

[:] [1,2] [;]

 

, , . , . . :

METKA1: MOV AX,BX;

.

.

(METKA1) . . 31 (:).

(MOV) , .

(AX,BX) , . , . , . . :

,

, , , , . ; .

, . (;).

8086 1 6 , 2.6.

7 1 0 7 6 5 3 2 0

COP D W   MOD REG R/M   DISP 8/16   DATA 8/16

2.6 8086

( ).

W ( W = 0 8-, W=1 16-).

D , . D=0, , D=1, .

REG , . 2.3 REG .

 

2.3 REG

REG W=1 W=0 REG W=1 W=0
  AX AL   SP AH
  CX CL   BP CH
  DX DL   SI DH
  BX BL   DI BH

 

MOD R/M 24 .

( ) DISP8 DISP16. .

R/M MOD, 11, REG .

DATA8 DATA 16 .





:


: 2016-03-26; !; : 1053 |


:

:

, .
==> ...

1675 - | 1595 -


© 2015-2024 lektsii.org - -

: 0.184 .