多个段相对单个段结构清晰易于调用
将数据段数据逆序放在原位置
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h //定义8个字型数据 16个内存单元
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //定义栈段,8个空字单元
stack ends
code segment
start: mov ax,stack //定义start: 指示编译器程序入口(即 CS指向)
mov ss,ax //栈段段地址放在ss中
mov sp,20H //栈指针移到栈段底部地址
mov ax,data //数据段 段地址放在ds中
mov ds,ax
mov bx,0
mov cx,8
s:push ds:[bx] //循环入栈
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
时间: 2024-09-28 20:59:31