練習使用多個段來保存數據/代碼/棧

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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容