一、在代码段中使用数据:
assume cs:codesg
codesg segment
dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
mov bx,0
mov ax,0
mov cx,8
s:add ax,cs:[bx]
add bx,2
loop s
mov ax,4c00H
int 21H
codesg ends
end
dw:定义字型数据
在这里,我们使用dw定义了8个字形数据,数据之间以逗号分隔,它们所占的内存空间大小为16个字节
二、在代码段中使用栈:
assume cs:code,ds:data,ss:stack
;==========数据段==============
data segment
dw 0123H,0456H,0789H,0abcH,0defH,0ccbaH,0987H
data ends
;==========代码段==============
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
;=============================
code segment
start:mov ax,stack
mov ss,ax
mov sp,16 ;设置栈顶ss:sp指向stack:16
mov ax,data
mov ds,ax ;ds指向data段
mov bx,0 ;ds:bx指向data段中第一个单元
mov cx,8
s:push [bx]
add bx,2
loop s ;以上将data段中的0~16单元中的8个字型数据依次入栈
mov bx,0
mov bx,8
s0:pop [bx]
add bx,2
loop s0 ;以上使8个字型数据依次出栈并送到data段的0~16单元中
mov ax,4c00H
int 21H
code ends
end start