段定义伪指令
功能:定义一个段,segment指明段的开始,ends指明段的结束。
语法:
段名字 segment
.
.
.
段名字
代码(code)段
数据(data)段
栈(stack)段
注意:
a 段名字不能重复,在代码中,段名字代表此段的段地址
b 数据段,栈段的寄存器需要我们自己通过汇编指令的执行完成设置值。
实例:
assume cs:code,ds:data,ss:stack
data segment
dw 1122H,3344H,5566H
ends data
stack segment
dw 0011H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0H,0011H
ends stack
code segment
start:
;数据段
mov ax,data
mov ds,ax
mov bx,0000H
;栈段
mov ax,stack
mov ss,ax
mov sp,0016H
mov cx,3
A:
push [bx]
add bx,2
loop A
mov ax,4c00H
int 21H
code ends
end start