.


:




:

































 

 

 

 


x86

10

, , , .

i8086 14 , :

       
AH AL AX   CS   SP
BH BL BX   DS   BP
CH CL CX   ES   IP
DH DL DX   SS   FLAGS
SI            
DI            

 

:

AX(AH, AL), BX(BH, BL), CX(CH, CL), DX(DH, DL) . ;

SP, BP , , , , , , SP.

SI, DI .

CS, DS, ES, SS , .

IP () .

FLAGS , ( 2.1).

2.1
D
I /
T ( )
S (0 , 1 )
Z (0 , 1 )
A
P (0 , 1 )
C

, , () Random Access Memory (RAM). , ( ). i8086 ( 20) 220 (1). 32 4 .

, (2 ), .

, i8086, . , , , .

, , . (16+4=20), . . (4 ): <>:<>.

, 4 ( ) . 16 (). , 216(64 ).

CS:IP(<>:<>) .

DS ES, , , BX, SI, DI. SS BP.

. , . , . .

< > segment

< > ends

[

< > segment

< > ends ]

end < >

end < > , . end .

< > , .

, .

, , :

 
M1: Add AX, BX ;

 

, , 31 , . .

, .

1. :

 

[<>] d <> <>[,<>, <>,...]

<> - , ;

d (define) ;

<> - , :

 

b ,
w ( ),
d ,
q ,
t ;

 

<> - .

:

0 9;

0 9 F f H h, 0;

0 7, Q q;

0 1, B b;

, ;

? .

,

data1 db 123, 0a2h, 75q, 110011b, 'a', '',?,?

dup (duplicate):

< > dup(<>)

< > - , ;

<> - .

,

data2 db 23 dup(1, 2, 'x')

23 3=69 1, 2, 'x', 1, 2, 'x', .

2. :

assume < >: < nothing >[, < >: < nothing >, ]

, , , , . assume . , , . nothing , . assume , , .

,

assume cs:code, ds:data1, es:nothing

code data1 , .

1. - .

- <>,

< > - , , , DX, SI, DI, BP, SP, AL, BL, L, DL, AH, BH, CH, DH.

:

mov ,SI; SI .

2. - () .

- < >.

:

mov AX, 093Ah; 093Ah .

3. - .

- < >+/-< >.

:

mov AX, WW; WW

mov BX, WW+2; WW 2 .

4. - .

- [< >],

< > - . . SI, DI.

:

mov [ BX ], CL; CL , .

5. - .

- < >[< >] [< >]< >,

< > - SI DI , - .

:

mov , WW[SI]; , SI WW.

6. - - .

- [< . >][< . >] < >[<. >][< . >] [<. >][< . >]< ,

< . > - SI DI, < . > - .

:

mov [BX+ SI+ 2], CL; CL , , SI 2.



<== | ==>
2: |
:


: 2016-12-28; !; : 793 |


:

:

, .
==> ...

1631 - | 1418 -


© 2015-2024 lektsii.org - -

: 0.023 .