'.
'. ' - 220 (1 ). 0, . ' 20- : 00000 FFFFF ( 16- ). 8 (), 1 0. 0 7:
- ', . - . - , - 16 ( 0 15). ( ); . - - ( ), - 32 ; .
, - , - "" :.
' - , . , ', . , .
(16 ), . :
- (AX, BX, CX, DX, BP, SI, DI, SP);
- (CS, DS, SS, ES);
- (IP);
- (Flag s).
:
- A accumulator, ;
- B base, ;
- C counter, ;
- D data, ;
- BP base pointer, ;
- SI source index, ;
- DI destination index, ;
- SP stack pointer, ;
- CS code segment, ;
- DS data segment, ;
- SS stack segment, ;
- ES extra segment, ;
- IP instruction pointer, .
. , . , , AX AX DX ( ), CX . BX BP , SI DI - . SP , .
AX, BX, CX DX , ; , , AH, AL, BH, BL, CH, CL, DH, DL (H - high, ; L - low, ). , , . , AX, AH AL .. .
|
|
, (16 ) .
CS, DS, SS ES , . ֳ .
˳ IP ( ) , ( CS). IP .
. - , " 1 ", , " 0 " . i8086 9 , . , - . . 1.
. , , . , , .
x | x | x | x | OF | DF | IF | TF | SF | ZF | AF | x | PF | x | CF |
1 -
:
- CF (carry flag) - . 1, . 7-, 15-, 31- . , , , . CF , ;
- OF (overflow flag) - . 1, , (7-, 15-, 31-). 1, . ;
- ZF (zero flag) - . 1, 0;
- SF (sign flag) - . 1, 䒺 ;
- PF (parity flag) - . 1, . -;
- AF (auxiliary carry flag) - . Գ - .
:
|
|
- DF (direction flag) - . : DF =0 , DF =1 - ;
- IF (interrupt flag) - . IF =0 , , IF =1 ;
- TF (trap flag) - . TF =1 ( 1), ( ).
, i8086. ij i8086 , . س h , - b.
- , i8086 , .
. , 䒺 .
ֳ , . 0 255 (=28-1), - 0 65535 (=216-1), - 0 4 294 967 295 (=232-1). , .
10010=64h=0110 0100b ()
15010=96h=1001 0110b ()
40410=194h=0000 0001 1001 0100b ()
61233310=957EDh=0000 0000 0000 1001 0101 0111 1110 1101b ( )
' '. ' "" : () 8 , 8 - ( 16- : - , - ). , 30010=012Ch ' :
A | A+1 |
2C |
, AX, :
AH | AL | |
AX | 2C |
. 8 , - 8 .. , 12345678h ' :
A | A+1 | A+2 | A+3 |
() 16 , - 16 , "" .
, ' , ' , . , , .
ֳ , . -128 127, - -32768 32767, - -2147483648 2147483647. : 䒺 , ( ), 䒺 -x 28-x ( ), 216-x ( ) 232-x ( ). , (-10) F6h (256-10), FFF6h FFFFFFF6h. , 1, 䒺, 0 - . , -128. -32768, -2147483648.
|
|
' "" . :
-30010=FED4h
A | A+1 |
D4 | FE |
-1234567810=FF439EB2
A | A+1 | A+2 | A+3 |
B2 | 9E | FF |
. ', - 0 255. IBM- ' ASCII (American Standard Code for Information Interchange).
:
- - , , ;
- - 30h, 39h;
- ;
- , ', , - .. .
. - ', 䒺 , . 쳺 16- (offset) - , () ', . ' ' "" .
쳺 20- '. :, (segment) - 16 ', , - 16- , '. *16+. ' : , - ( ), . , 1234h:5678h :
' - DB ( ), DW ( ) DD ( ).
, - , , ', , , ', ', ' ..
DB, DW DD , . ' . , . , DB, DW DD, . :
|
|
DB , : ( 0 255), ( ); . , (2A - * ASCII):
star DB 02Ah star DB '*' star DB "*", :
star DB '*' adr_star DW star', adr_atar (, ), star. DD:
fadr_star DD star, - .
DB, DW DD , , . :
Param_1 DW? ; , Param_1,;, . '. :
betta DB 200,-5,10h,?,'F', , . MASM <>+<>, , -5 betta+1, 10h - betta+2 .. . DB , :
str DB 'a','b','c', :
str DB 'abc' str DB "abc"(), DUP.
mas DB 5 dup (4) ; mas DB 4,4,4,4,4 ; : arr DW 3 dup (?),-50,2 dup (7) ; arr DW?,?,?,-50,7,7EQU =, . EQU , . EQU #define . , EQU, .
:
A equ 10 B equ 21/3 C equ "abcdef""=" EQU, , . :
alfa=20 alfa=alfa+1$, . :
mas DB "assembler" mas_len= $ -masmas_len mas, 9.