将数据、代码、栈放入不同的栈(8086)
生活随笔
收集整理的這篇文章主要介紹了
将数据、代码、栈放入不同的栈(8086)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先上程序:
assume cs:code,ds:data,ss:stackdata segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data endsstack segmentdw 0,0,0,0,0,0,0,0,0,0 stack endscode segmentstart: mov ax,stackmov ss,axmov sp,20hmov ax,datamov ds,axmov bx,0mov cx,8s: push [bx]add bx,2loop smov ax,4c00hint 21h code endsend start定義多個段:
定義多個段,就要使用segment…ends,注意的是,要用不同的段名,像上面面的程序,定義了3個段,code,data,stack就是段名
段地址:
code,data,stack就是段地址,比如我們要訪問data段的數據:
將段地址data傳送到ds段寄存器中,我們就可以訪問了
注意:
assume是偽指令,是由編譯器執行的,cpu并沒有將cs指向code,ds指向data,ss指向stack
總結
以上是生活随笔為你收集整理的将数据、代码、栈放入不同的栈(8086)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《从过旧宫诗》是谁的作品?
- 下一篇: 汇编程序中,字符数据和ASCII的对应关