第六章 包含多个段的程序

1、在代码段中使用数据:“dw”定义字型数据,即define word。定义字节型数据db,define byte。dw定义数据处于代码段的最开始,所以偏移地址为0

2、CPU根据机器指令的不同组合会构成不同的代码。

3、在代码段中使用栈:定义8个字型数据也可以说开辟了8个字型空间。

4、将数据、代码、栈放入不同的段:

实验五:

5、mov ax,a

Mov cs,ax

Mov ax,b

Mov ds ax

Mov ax,c

Mov ss,ax

Mov bx,0

Mov cx,8

S:add ss:[bx],ds[bx]

Add ss:[bx],cs[bx]

Add bx,2

Loop s

6、mov ax,a

Mov ds,ax

Mov ax,b

Mov ss,ax

Mov sp,10

Mov bx,0

Mov cx,8

S:push [bx]

Add bx,2

Loop s

View Code
 1 assume cs:code,ds:data,ss:stack
2
3 data segment
4 dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
5 data ends
6
7 stack segment
8 dw 0,0,0,0,0,0,0,0
9 stack ends
10
11 code segment
12
13 start: mov ax,stack
14 mov ss,ax
15 mov sp,16 ;设置栈顶ss:sp指向stack:16
16

17 mov ax,data
18 mov ds,ax ;ds指向data段
19

20 push ds:[0]
21 push ds:[2]
22 pop ds:[2]
23 pop ds:[0]
24
25 mov ax, 4c00h
26 int 21h
27
28 code ends
29 end start ;指明程序的入口在start处


posted @ 2012-03-13 06:51  飞向梦  阅读(216)  评论(0编辑  收藏  举报