第六章 包含多个段的程序 知识梳理
1.在代码段中使用数据
dw的含义是定义字型数据(define word)
注意
db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1
dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2
dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4
程序框架
assume cs:code
code segment
...................
.....数据
..................
start
..............
.....代码
..............
code ends
end start
伪指令end描述了程序结束和程序的入口
end start 指明程序的入口地址
在代码段中使用栈
注意设定栈顶元素
assume cs:code
code segment
xxx预留空间用作栈
start .....
人工设置栈顶
........................
mov ax,4c00h
int 21h
code ends
end start
将数据,代码,栈放入不同的段
原因:一个段的容量不能大于64kb
每个段的偏移地址都是从0开始的
assume cs:code,ds:data,ss:stack
data segment
......
data ends
stack segment
,,,,,,
stack ends
code segment
start:
..........设置ds
........设置ss和sp
........
mov ax,4c00h
int 21h
code ends
end start
转载请标明出处