1. 程式人生 > >匯編語言程序設計實驗報告二

匯編語言程序設計實驗報告二

color 總結 二次 image -a 分享圖片 空間 目的 用法

實驗目的:

1.熟練掌握使用debug工具編寫和調試匯編命令的方法;

2.理解並掌握內存中多字節數據的存放;

3.理解並掌握【棧】內存空間的特性和使用;

4.理解並掌握8086匯編指令 mov,add,sub,push,pop的用法。

實驗步驟:

p74(1)

下圖為書上實驗沒修改數據之前所得到的結果,有錯誤還希望大家指正!!!

技術分享圖片

根據實驗二的要求,在使用-a進行調試之前,使用-e命令修改內存單元,如下圖所示

註:因為之前修改完之後不小心cls清了一下屏,所以0021:0~0021:7的默認值就不為0

技術分享圖片

接下來就按照樹上的語句利用-a進行調試

技術分享圖片

接下來利用-t反匯編命令查看修改結果

直接展示最後修改後的結果

技術分享圖片

p74(2)

技術分享圖片

第一次反匯編後

技術分享圖片

第二次反匯編後

技術分享圖片

回答: mov sp,10應該是在mov ss,ax之後執行,也就是說在執行完mov ss,ax這條命令之後,mov sp,10也緊接著被執行了。一般來說在使用-t進行反匯編時,會執行完一條命令後自動停止執行下一條命令,但是-t mov ss,ax並沒有做到這一點。

實驗總結:

1.棧的概念:SS:SP(SS:段寄存器 SP:寄存器)任意時刻,SS:SP指向棧頂元素;

2.關於棧的數據存放:數據存入時以小端法存入,通過修改sp指令來修改數據存放的位置;

3.push和pop操作:push是將數據存入棧 pop是將棧中的數據彈出。

匯編語言程序設計實驗報告二