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聲明的...