日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编试验五:编写、调试具有多个段的程序

發布時間:2023/12/9 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编试验五:编写、调试具有多个段的程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ds 數據段放入數據正確;

?

兩次push 操作后,ss棧段正確;

由于pop 操作順序,ds數據段并沒有發生改變;

?Source Code:

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 stack endscode segment start:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21Hcode ends end start View Code

?

(2)程序加載后,數據段和棧段加載后,實際占據的空間是以16個字節為單位。程序中只給出了前兩個字,其他空間都是補充0;

Source Code:

assume cs:code , ds:data , ss:stackdata segmentdw 0123H,0456H data endsstack segmentdw 0,0 stack endscode segmentstart:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21H code ends end start View Code

?

(3)

Source Code:

assume cs:code ,ds:data, ss:stackcode segment start:mov ax,stackmov ss,axmov sp,16mov ax,datamov ds,axpush ds:[0]push ds:[2]pop ds:[2]pop ds:[0]mov ax,4c00Hint 21H code endsdata segmentdw 0123H,0456H data endsstack segmentdw 0,0 stack endsend start View Code

相比之前,三個段的順序發生改變,數據沒有改變,但是三個段的入口地址肯定變了;

具體差別:

代碼段標號減小;

?

?

(5) a 段 + b 段 的和,放到 c 段;

(棧段也可以用 段地址+偏移地址訪問)

Source Code:

assume cs:codea segmentdb 1,2,3,4,5,6,7,8a endsb segmentdb 1,2,3,4,5,6,7,8b endsc segmentdb 0,0,0,0,0,0,0,0c endscode segmentstart:mov ax,amov ds,axmov ax,bmov ss,ax ;棧段mov ax,cmov es,axmov bx,0mov cx,8s:mov al,ds:[bx]add al,ss:[bx] ;棧段也段地址+偏移地址訪問mov es:[bx],alinc bxloop smov ax,4c00Hint 21H code ends end start View Code

?

?

(6)將a段的前8個字,逆序放到 b 段中;

入棧的方式,即為逆序;

Source Code:

?

assume cs:codea segmentdw 1,2,3,4,5,6,7,8,9,0aH,0bH,0cH,0dH,0eH,0fH,0ffH a endsb segmentdw 0,0,0,0,0,0,0,0 b endscode segment start:mov ax,amov ds,axmov ax,bmov ss,axmov sp,10Hmov bx,0mov cx,8s:push ds:[bx]add bx,2loop smov ax,4c00Hint 21Hcode ends end start View Code

?

轉載于:https://www.cnblogs.com/TreeDream/p/6920881.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的汇编试验五:编写、调试具有多个段的程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。