【匯編語言】(王爽著第三版)實驗二


實驗二

實驗任務(一)

實驗前要求我們將書本P74的程序段按理論分析,將結果進行填空。之后用Debug,將該程序段寫入內存,逐條執行之后,

根據指令執行后的實際運行的結果填空如下。

 

mov ax,0021

 

mov  ax , ffff

   mov  ds , ax

   mov  ax , 2200

   mov  ss , ax

   mov  sp , 0100

   mov  ax , [0]                       ;ax=3130

   add  ax , [2]                        ;ax=6462

   mov  bx , [4]                       ;bx=3534

   add  bx , [6]                        ;bx=6C6A

   push  ax                             ;sp=00FEH  ;修改的內存單元的地址是2200:00FE內容為6462

   push  bx                             ;sp=00FCH  ;修改的內存單元的地址是2200:00FC內容為6C6A

   pop  ax                               ;sp=00FEH  ;ax=6C6A

   pop  bx                               ;sp=0100H  ;bx=6462

   push  [4]                             ;sp=00FE    ;修改的內存單元的地址是2200:00FE內容為3534

   push  [6]                             ;sp=00FC    ;修改的內存單元的地址是2200:00FC內容為3736

在使用a指令調試前,先使用e命令將內存單元0021:0~0021:7連續8個字節數據修改為30H,31H,32H,33H,34H,35H,36H,37H,最后用D命令查看是否正確。

接着我們再使用a指令去調試每一步的指令

 

 

 

 

 

 

 

 

實驗任務(二)

 使用 a命令輸入 7 行指令,使用 e 命令修改 2000:0~2000:f 的值,及修改后查看的部分

 

單步執行調試,並且每步調試后都用d命令查看2000:0~2000:f的值:

 

從中我們發現前三行的指令的功能為:把0~2000:f這段空間當做棧段,初始化棧頂

mov sp,0010H   :設置棧頂的偏移地址,棧為空,sp=0010H

棧頂為2000:0010,棧底為2000:000E

小結

在完成實驗的過程中,由於操作不熟練經常出現失誤,例如多敲回車。。(輸完一行總是情不自禁敲一個回車)每周如果只花課堂上一節課的時間去學習匯編,好像是真的不可能學好的。課外還需要自己學習。這一章實驗依舊花了很久時間,自己思考的也不夠,繼續努力吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM