實驗五

1、實驗目的框架

1. 理解和掌握將數據、代碼、棧放入不一樣段的程序的編寫和調試 2. 理解具備多個段的彙編源程序對應的目標程序執行時,內存分配方式spa

 

2、實驗準備3d

1. 結合第6章教材和課件,複習第6章內容 2. 複習第3章「棧」的知識調試

 

3、實驗內容code

教材133實驗 5 ps: 1. 實驗5相關提示見本文檔最後一部分「附:實驗5提示&說明」 2. 爲提升實驗效率,我已將實驗 5 的程序框架準備好,能夠從課程公郵→文件中心→ 實驗文件夾,下載實驗5程序框架。blog

 

實驗任務(1)內存

在程序編譯、鏈接完成以後,依次使用R命令,U命令,G命令,D命令進行調試文檔

1.       CPU執行程序,程序返回前,data段中的數據爲:0123H,  0456H,  0789H,  0abcH,  0defH,  0fedH,  0cbaH,  0987H編譯器

2.       CPU執行程序,程序返回前,cs=076Css=076Bds=076Aio

3.       程序加載後,code段的段地址爲X,則data段的段地址爲: X-2stack段的段地址爲: X-1

實驗任務(2)

1.       CPU執行程序,程序返回前,data段中的數據爲:0123H,  0456H

2.       CPU執行程序,程序返回前,cs=076C  ,ss=076B  ,ds=076A 

3.       設程序加載後,code段的段地址爲X ,則data段的段地址爲:X-2stack段的段地址爲:X-1

4.       對於以下定義的段若是段中的數據佔N個字節則程序加載後,該段實際佔有的空間爲: (N/16+1)*16

實驗任務(3)

1.       CPU執行程序,程序返回前,data段中的數據爲:0123h,  0456h

2.       CPU執行程序,程序返回前,cs=076Ass=076Eds=076D

程序加載後,code段的段地址爲X,則data段的段地址爲:X+3stack段的段地址爲:X+4

實驗任務(4)

 實驗(3)能夠正確執行,由於去掉start以後,編譯器便會按順序(從上到下)執行程序。

實驗任務(5)

輸入代碼後,編譯,鏈接成功

 

實現了數據的相加

實驗任務(6)

完成數據的逆序存儲

總結體會

經過使用段,可以更加清晰的解決問題。

相關文章
相關標籤/搜索