1
: Intel. .
1.
1.1. 8086
14 16- , . , : 8 , 4 , , .1.
(, , , D) (SI, DI, BP, SP). , , AL AH.
1
English | ||
AX | Accumulator | (AH, AL), , (- ) . |
BX | Base | (BH, BL), . |
CX | Counter | - (CH, CL), . |
DX | Data | (DH, DL), / , . |
SI | Source Index | (SI)/(DI), . |
DI | Destination Index | |
BP | Base Pointer | |
SP | Stack Pointer | |
CS | Code Segment | , . |
SS | Stack Segment | . |
DS | Data Segment | . |
ES | Extension Segment | . |
FLAGS | . | |
IP | Instruction Pointer | , . |
. , 16 . : (CS) ; (DS) , ; (SS) , LIFO ( , ). (ES), .
1.2.
. , .
:
: ( );
̳, .
132 , 31 , ; . . ̳ : , ( ), :? @ _ $. .
|
|
, : DB , DW , DD . :
DB
, . : (14, 4H, 1000112b), ('') , . , . .
: , ( ) (). , : TASM, TLINK, TD Borland MASM, LINK, CV Microsoft.
- ASM. . ᒺ ( OBJ), , LST. ᒺ COM EXE.
2.
1. : ( RV91), ASM, : BC, VC, ASM_Help
2. VC Volkov Commander, VC.COM. ϳ BC, TASM.EXE, TLINK.EXE TD.EXE.
3. shift+F4 (name) asm, :
assume cs: code, ds: data
data segment
mes db "Hello, world!$"
fun db 4ch
data ends
code segment
start:
mov ax, data
mov ds, ax
mov ah, 9
mov dx, offset mes
int 21h
mov ah, fun
int 21h
code ends
end start
4. . Volkov Commander (, ) , :
tasm name,,
,, . : name.obj name.lst , , . , .
. ᒺ , :
Tlink name.obj
.obj . name.exe,. , Hello, world!
|
|
5. .
6. td name Turbo-debugger, .
3.
3.1.
, . , assume, - . : cs: code code , ds: data data . :
1 assume cs: code, ds: data
3 0000 data segment
4 0000 48 65 6C 6C 6F 2C 20+ mes db "Hello, world!$"
5 77 6F 72 6C 64 21 24
6 000E 4C fun db 4ch
7 000F data ends
9 0000 code segment
10 0000 start:
11 0000 B8 0000s mov ax, data
12 0003 8E D8 mov ds, ax
13 0005 B4 09 mov ah, 9
14 0007 BA 0000r mov dx, offset mes
15 000A CD 21 int 21h
16 000C 8A 26 000Er mov ah, fun
17 0010 CD 21 int 21h
18 0012 code ends
19 end start
4 : , , , , .
:
1 assume , . .
3 ( segment) data
4 mes, , ( db), "" , . 14 ( ) ASCII .
6 fun, 4 h
7 data ( ends)
9 segment
10 start: .
11,12 , DS . mov ax, data ax () data. mov ds, ax ax ds. ds . .
13,14,15 :
mov ah, 9; ah ( ) 9
mov dx, offset mes; offset mes , mov dx.
int 21h; int ( 21h). 21h, DOS, , ah. ah, 9, , (dx), $.
16 ah fun, ah 4CH.
17 21 , 4CH .
18 ends
19 end . .
3.2. Turbo-debugger
Turbo-debugger:
1. .
2.
|
|
3. .
4. , .
TD .1
:
1
2
3
4 ,
5 ,
.1 ³ Turbo-debugger |
4.
1. ˳
2. ³ D
3.
5.
1. asm obj?
2. ?
3. ?
4. , ?
5. 䳿 ?
6. ?
7. Turbo-debugger?