汇编语言:第六章 编写多个段的程序

多个段相对单个段结构清晰易于调用

将数据段数据逆序放在原位置

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

posted @ 2015-07-10 14:35  superzhao  阅读(296)  评论(0编辑  收藏  举报