assume cs:code,ds:data,ss:stack
; 用多个段来保存 : 数据 , 代码 , 段
; 实现将程序定义的数据逆序存放的效果
; 定义数据段
data segment
dw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,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,0010H
; 初始化数据段
mox ax,data
mov ds,ax
; 设置循环初始条件
mov bx,0
mov cx,8H
mypush:
push ds:[bx]
add bx,2
loop mypush
; 设置循环初始条件
mov bx,0
mov cx,8H
mypop:
pop ds:[bx]
add bx,2
loop mypop
finish:
mov ah,4cH
int 21H
code ends
; 告诉编译器结束对源程序的编译
end start
练习使用多个段来保存数据/代码/栈
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- 栈(stack):又称堆栈,栈是由编译器自动分配释放,存放函数的参数值,局部变量的值等(但不包括static声明的...