組合語言實驗二

2022-03-21 03:51:15 字數 521 閱讀 5509

用機器指令和彙編指令程式設計

實驗任務:

(一)使用 debug,將下面的程式段寫入記憶體,逐條執行,根據指令執行後實際運**況填空。

在中途輸入指令的時候,錯把 add 指令輸成了 mov 指令。

並且有乙個有趣的地方是,我這段指令中是有 mov sp,0100 這個指令的,但是在執行的時候這條指令並沒有顯示的執行出來,但是 sp 中的值是改變了的。

(二)仔細觀察下圖的實驗過程,然後分析:為什麼 2000:0 ~ 2000:f 中的內容會發生改變?

從指令的角度看,並沒有對 2000:0000 這篇區域做任何修改,但是這塊區域的記憶體資料為什麼變了呢?

組合語言實驗二

預備知識 debug的使用 前面實驗中講了debug一些命令的用法,這裡再補充一些關於debug的知識。1 關於d命令 現在我們知道段位址是存放在暫存器中的,在d命令後面直接給出段位址,是debug提供的一種直觀的操作方式。d命令是由debug執行的,debug在執行d 1000 0這樣的命令時會先...

組合語言實驗二

datas segment 此處輸入資料段 datas ends stacks segment 此處輸入堆疊段 stacks ends codes segment assume cs codes,ds datas,ss stacks start mov ax,datas mov ds,ax 實驗二 ...

組合語言 實驗二

在進行實驗之前,有個小知識點 中斷機制 debug的t命令在執行修改暫存器ss的指令時,下一條指令也緊接著被執行。實驗任務 1 敲下如下 填空與實驗結果一致。實驗任務 2 1.我們發現 2000 0 2000 f 的單元值是有變化的 那麼是什麼原因呢?2.前3行的功能是 將段暫存器ss的值設定為段位...