练习使用多个段来保存数据/代码/栈

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容