天天看點

彙編語言實驗1

實驗任務2

彙編語言實驗1

   實驗結果:1)-d指令用來檢視某一區域的記憶體使用情況,段基址為ffff,乘以16之後就是ffff0,再加上偏移位址就是最後檢視的位址

  

彙編語言實驗1

   2)先檢視生産日期記憶體區域

     

彙編語言實驗1

    嘗試進行修改

    

彙編語言實驗1

     再次檢視,修改無效,說明這塊區域隻能讀,不能寫

彙編語言實驗1

實驗任務3

彙編語言實驗1

 1)-e b800:0 03 04 03 04 03 04 03 04 03 04  

彙編語言實驗1

2)-f  b800:0f00 0f9f 03 04 對某一段記憶體進行批量修改

彙編語言實驗1
彙編語言實驗1

3) 嘗試進行對記憶體進行修改  

彙編語言實驗1

實驗任務4

彙編語言實驗1

  當執行完mov sp,30之後,ss:sp指向棧底0020:0030,每執行一次push,sp就減2。

  每執行完一次pop,sp就+2。

答案1:棧頂的邏輯位址為0020:0030,因為此時棧為空,這時棧頂和棧底重合,實體位址為00230

答案2:每次push放入的是字形資料,20位于棧底,是以放入的是1020,再放入3040

彙編語言實驗1

答案3:沒有變化

   

彙編語言實驗1

 答案4:

彙編語言實驗1

實驗任務5 

 答案1:當執行完mov ss,ax之後sp的值也改變了,說明這兩條指令并不會分步執行,而是會一起執行

 答案2:t指令使cpu中斷,但是編譯器要知道下面指令的位址,于是在棧中存放了下一條指令的位址。

實驗任務6

彙編語言實驗1
彙編語言實驗1
彙編語言實驗1
彙編語言實驗1
彙編語言實驗1

實驗任務7

答案1: 第一空填cs,要把程式段的入口放在ds段基址寄存器中後面就能根據偏移位址複制

    第二空填cx,是程式的長度

沒有操作數的指令,指令長度為1個位元組

操作數隻涉及寄存器的的指令,指令長度為2個位元組,如:mov bx,ax

操作數涉及記憶體位址的指令,指令長度為3個位元組,如:mov ax,ds:[bx+si+idata]

操作數涉及立即數的指令,指令長度為:寄存器類型+1。 8位寄存器,寄存器類型=1,如:mov al,8;指令長度為2個位元組。 16位寄存器,寄存器類型=2,如:mov ax,8;指令長度為3個位元組

CS為代碼起始段位址

彙編語言實驗1

繼續閱讀