.


:




:

































 

 

 

 


x86.

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?



<== | ==>
, , , . | : (33/64).
:


: 2017-02-11; !; : 322 |


:

:

, .
==> ...

1700 - | 1557 -


© 2015-2024 lektsii.org - -

: 0.023 .