實驗五 編寫除錯具有多個段的程式
阿新 • • 發佈:2018-11-30
實驗一 將下面的程式編譯,連線,用Debug載入,跟蹤,然後回答問題
執行程式截圖如下:
總結:CPU執行程式,程式返回前,data段中的資料不變
CPU執行程式,程式返回前,cs=076C,ss=076B,ds=076A
設程式載入後,code段的段地址為X,則data段的段地址為X-2,stack段的段地址為X-1.
實驗二
總結:1.data段中的資料依然不變
2.cs=076C,ss=076B,ds=076A
3.code段的段地址為X,data段的段地址為X-2,stack段的段地址為X-1
4.name segment
.....
name ends
如果段中的資料佔N個位元組,程式載入後,該段實際佔有的空間為(N/16+1)*16.
實驗三
總結:
1.data段中的資料不變
2.cs=076A,ss=076E,ds=076D
3.code 段的段地址為X,data段的段地址為X+3,stack段的段地址為X-4
實驗四 (1)和(2)不能,(3)可以正確執行,原因為前者是資料段載入進入記憶體中,後者是程式碼段載入入記憶體中,程式可以正確執行。
實驗五
經過除錯,資料相加前,邏輯段c的8個位元組:00 00 00 00 00 00 00 00
執行完加運算之後,邏輯段c的8個位元組:02 04 06 08 0A 0C 0E 10
實驗六
總結:
組合語言還是多敲敲多執行,才能熟能生巧,不然會很暈。
課上的內容應該及時鞏固複習,不然容易造成遺忘。