1.任務一
(1)cpu執行程式,程式返回前,data段中的資料如上圖所示,保持不變;
(2)cpu執行程式,程式返回前,cs=0772h,ss=0771h,ds=0770h;
(3)設程式載入後,code段的位址為x,則data段的段位址為x-2h,stack段的段位址為x-1h;
2.任務二
(1)cpu執行程式,程式返回前,data段中的資料為0123h和0456h,保持不變;
(2)cpu執行程式,程式返回前,cs=0772h,ss=0771h,ds=0770h;
(3)設程式載入後,code段的段位址為x,則data段的段位址為x-2h,stack段的段位址為x-1h;
(4)對於如下定義的段:
name segment
name ends
如果段中的資料佔n個位元組,則程式載入後,該段實際占有的空間為?
3.任務三
(1)cpu執行程式,程式返回前,data段中的資料為0123h和0456h;
(2)cpu執行程式,程式返回前,cs=0770h,ss=0774h,ds=0773h;
(3)設程式載入後,code段的段位址為x,則data段的段位址為x+3h,stack段的段位址為x+4h;
4.任務四
如果將(1)(2)(3)的最後一條偽指令「end start」改為"end」(也就是說,不指名程式的入口),則哪個程式依然可以執行?
不可以正確執行
不可以正確執行
(3)可以正確執行;
5.任務五
6.任務六
push操作之後,變為倒序;
7.實驗總結與分析
對於任務四的結果不是很理解,只是全部操作一遍之後發現(1)(2)都不可以正確操作,求大神解答;
資料,**和棧可以放入不同的段進行操作,也是有了一點了解;
彙編實驗五
實驗內容 描述編寫code段 將a段和b段中的資料依次相加,將結果儲存在c段中 assume cs code 編寫code段 將a段和b段中的資料一次相加,將結果儲存在c段中 a segment db 1,2,3,4,5,6,7,8 a ends b segment db 1,2,3,4,5,6,7...
彙編實驗五
1.用d命令檢視後發現data段中的資料不變。2.cpu執行程式,程式返回前,cs 076c,ss 076b,ds 076a。3.設程式載入後,code段的段位址為x,則data段的段位址為x 2,stack段的段位址為x 1。1.用d命令檢視後發現data段中的資料不變。2.cpu執行程式,程式返...
王爽彙編實驗 五)
將下面的程式編譯 連線,用debug載入 跟蹤,然後回答問題。assume cs code,ds data,ss stack data segment dw 0123h,0456h,0789h,0abch,0def,0fedh,0cbah,0987h data ends stack segment ...