汇编语言中将数据、代码、栈放入不同的段
生活随笔
收集整理的這篇文章主要介紹了
汇编语言中将数据、代码、栈放入不同的段
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數據、代碼、棧放入不同的段
在學習匯編語言,將數據、代碼、棧放入不同的段。參考王爽老師的《匯編語言》第四版,對P133的匯編代碼,進行了個人理解標注。僅供參考,存在錯誤之處,請大家斧正。
參考物理邏輯圖片:
assume cs:b, ds:a, ss:c; // 代碼段cs、數據段ds、棧段ssa segment dw 0123h,0456h,0789h,abcdh,0defh,0fedh,0cbah,0987h // 共8個字節(jié)
a endsc segmentdw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // 共16個字節(jié)
c endsb segment
d : mov ax,c // 初始棧段,C段當作棧空間mov ss,ax // ss:sp指向C:20mov sp,20hmov ax,a // 初始數據段a mov ds,ax // ds指向a段mov bx,0 // 該小段代碼為數據入棧mov cx,8 // ds:bx 指向a段第一個單元s:push [bx] // (0-15單元)依次入棧 add bx,2loop s mov bx,0 // 該小段代碼為數據出棧mov cx,8s0:pop [bx]add bx,2loop s0mov ax,4c00h // 程序結束的標志int 21h
b ends
end d
總結
以上是生活随笔為你收集整理的汇编语言中将数据、代码、栈放入不同的段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode couldn‘t find
- 下一篇: 汇编语言关于8086CPU多种寻址方式总