1. 程式人生 > >實驗五 編寫除錯具有多個段的程式

實驗五 編寫除錯具有多個段的程式

實驗一  將下面的程式編譯,連線,用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

 

實驗六

 

 

總結:

組合語言還是多敲敲多執行,才能熟能生巧,不然會很暈。

課上的內容應該及時鞏固複習,不然容易造成遺忘。