汇编语言 用push指令将a段中的前8个字形数据,逆序存储到b段中
生活随笔
收集整理的這篇文章主要介紹了
汇编语言 用push指令将a段中的前8个字形数据,逆序存储到b段中
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
用push指令將a段中的前8個字形數據,逆序存儲到b段中
執行過程
push之前
a段數據
(b段數據)棧空間↓ 不要問我為什么不全是0,我并不知道,只是找出了一些規律。詳見我的前一篇博客
“明明定義了棧仍然no stack segment 以及棧空間數據被篡改問題”
https://blog.csdn.net/sinat_42483341/article/details/88665331
循環push之后
成功將a段中的前8個字形數據,逆序存儲到b段中,程序結束
代碼
;用push指令將a段中的前8個字形數據,逆序存儲到b段中 ;1個字占4個16進制位,占2個存儲空間 ;8個字占16個存儲空間,因此,棧底指針指向18(十六進制10)? assume cs:code,ds:a,ss:ba segmentdw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh a endsb segment stackdw 0,0,0,0,0,0,0,0 b endscode segment start:;讓數據段寄存器ds指向a的地址mov ax,a ;運行后,a的地址是076a:0000mov ds,ax;讓棧段寄存器ss指向b的地址,sp指向棧底-2mov ax,b ;運行后,b的地址是076cmov ss,axmov sp,10h ;sp指向十進制的18;循環push8次mov cx,8hmov bx,0h s: mov ax,ds:[bx] ;讓ax臨時存放a中數據push ax ;將ax中數據push進棧b中add bx,2 ;偏移+=2loop smov ax,4c00hint 21h code ends end start總結
以上是生活随笔為你收集整理的汇编语言 用push指令将a段中的前8个字形数据,逆序存储到b段中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言 将a段和b段中的数据依次相加,
- 下一篇: 汇编语言 利用ASCII以及AND OR