長春理工大學(xué)
匯編語言
實驗 報告
實驗題目:
用 用 G DEBUG 程序調(diào)試程序功能段
實驗時間:
2016
年
4
月
6
日
實驗地點:
東三教 912
班
級:
1405111
學(xué)
號:
140511114
姓
名:
王國偉
一. .
實驗?zāi)康?/p>
1. 繼續(xù)學(xué)習(xí)使用 DEBUG 程序的各種命令。
2. 利用 DEBUG 學(xué)習(xí)了解計算機取指令、執(zhí)行指令的工作過程。
3. 掌握 8086/8088 基本指令的使用方法和功能。
二. .
實驗準(zhǔn)備
1. G DEBUG 命令
1) G 命令
格式:G[=起始地址] [斷點地址]
功能:從起始地址開始執(zhí)行到斷點地址,如不設(shè)斷點地址,則程序一直執(zhí)行到終止指令才停止
2) P P 命令
功能:執(zhí)行匯編程序,單步跟蹤
與 與 T T 命令不同的是:
P 命令不會跟蹤進入子程序或軟中斷。其使用方式與 T T 相同
3) N N 命令
功能:指定文件名。為讀/寫文件做準(zhǔn)備
4) W W 命令
功能:向磁盤寫內(nèi)容
5) L L 命令
功能:從磁盤將文件或扇區(qū)內(nèi)容讀入內(nèi)存
注意:使用該命令前,必須用 N N 命令設(shè)定文件名
三. .
實驗任務(wù)
1. 按照下列給定步驟完成求累加和程序: :
程序 :
MOV BX,1000
MOV CX,10
MOV AL,0
LOP: ADD AL,[BX]
INC BX
J: LOOP LOP
INT3
步驟: :
1) 用 A 命令將程序鍵入到 100H 開始的內(nèi)存中,在鍵入時記下標(biāo)號LOP 和 J 的實際地址,在鍵入 LOOP 指令時 LOP 用實際地址值代替。
LOP:0B50:0108 J:0B50:010B
2) 用命令 N AA 將此程序命名為文件 AA(文件名可任取)。
3) 用 R 命令將 BX:CX 改為程序長度值(即最后一條指令后面的地址減去開始地址) ,用 R 命令把 BX 設(shè)為:0000H,CX 設(shè)為文件長度。
4) 用命令 W 100 將此程序存到 AA 命名的磁盤文件中。
5)用命令 Q 退出 DEBUG。
6)用命令 DEBUG AA 再次調(diào)入 DEBUG 和文件 AA,可用 U 命令檢查調(diào)入程序。
若調(diào)入 DEBUG 時忘了加 AA 文件名,可用 N 命令和 L 命令將文件調(diào)入。
7) 用 E 命令在內(nèi)存地址 1000H 處鍵入 16 個數(shù)字
8)用命令 G=100 J(J 用實際地址代替),使程序運行并停在斷點 J上,檢查
AX,BX 的值是否符合你的預(yù)計值。
9)用 T 命令運行一步,觀察程序方向(IP 值)和 CX 值是否與你的估計一樣, 若不一樣,檢查程序是否有錯。
10)重復(fù) G J 與 T,再檢查 AX 是否正確。
(J 為斷點地址)
11)用 G 命令使程序運行到結(jié)束,檢查 AX 值是否正確 2. 用命令 A A 匯編下列指令,判斷指令正誤并說明原因。
i. LEA DI,[AX]
錯誤,因為 lea 指令傳送的必須為變量名,標(biāo)號或地址表達式
ii. MOV DS,2010
錯誤,不能將立即數(shù)放入數(shù)據(jù)段中
iii. PUSH AL
錯誤,push 一次壓入 16 位數(shù)據(jù),al 只有八位
iv. OUT 900,AL
錯誤,因為當(dāng)端口地址大于 FFH 的時候應(yīng)該將端口地址送到dx 中,al 只能
操作八位數(shù)
v. MOV [BX],0
錯誤,因為沒有標(biāo)明是字節(jié)傳送還是字傳送
3. 利用 T T ,P P ,G G 命令,執(zhí)行下列指令段,注意它們的不同之處
MOV DI,300
MOV SI,400
MOV CX,3
CLD
REP MOVSB
INT 3
如果用 G 命令直接中斷,并且顯示寄存器標(biāo)志和下一條要執(zhí)行的命令。
T 是執(zhí)行一個指令,通常采用跟蹤一條指令,但用戶也可以用指令條數(shù)設(shè)定一次跟蹤多條指令,每執(zhí)行一條指令之后,顯示所有寄存器的內(nèi)容和標(biāo)志狀態(tài)以及下一條指令在內(nèi)存中的保存情況。
P 其實也是執(zhí)行一條指令,但區(qū)別是在執(zhí)行 INT 的時候會把這個 INT 整個的執(zhí)行完畢,而不是跳轉(zhuǎn)到這個中斷程序去跟蹤執(zhí)行使用 P 命令執(zhí)行程序,該程序不間斷運行,直到循環(huán)、重復(fù)字符串指令、軟件中斷或者完成了指定地址的子例程為止,或者直到執(zhí)行了指定數(shù)量的機器指令為止。若被執(zhí)行的指令不是循環(huán)、重復(fù)的字符串指令、軟件中斷或子程序,則P 命令與 T(跟蹤)命令的作用相同。
4. 程序: :
MOV
DI,1000
MOV CX,8
MOV SI,2000
CLC
LOP:
MOV AL,[SI]
ADC [DI],AL
INC SI
INC DI
LOOP LOP
INT
20
步驟: :
1) 用 A 命令鍵入此程序
2) 用 E 命令在 1000H 開始處鍵入一個 8 字節(jié)被加數(shù),在 2000H開始處鍵入一個 8 字節(jié)加數(shù),均為低字節(jié)在前面。
3) 用 G 命令運行此程序,并用 D 命令檢查其結(jié)果(存放在哪里?),是否正確?
4)將 INT 20H 指令改為 INT 3,有何區(qū)別?若這條指令不加,行不行?試
試。
INT 20H 程序終止
INT3 為斷點
5)請說明這個程序完成的功能是什么?
將0b50:1000與0b50:2000對應(yīng)的地址內(nèi)的數(shù)相加并存入[di]
四.實驗小結(jié)
在寫入程序時,應(yīng)當(dāng)先讀懂程序,大致上了解一下該程序段所執(zhí)行的功能或者流程,以便后面進行查看時判斷程序的正誤.讀程序的過程中就需要熟練的運用尋址方式來讀懂程序,最先開始就因為尋址方式而讀不懂程序.
學(xué)會了 G 命令的使用,同時了解了 T.G.P 命令它們之間的不同.
了解到了 INT 的部分指令的功能,如 INT20H INT3 等等.
推薦訪問: 實驗 報告同志們:今天這個大會,是市委全面落實黨要管黨、從嚴治黨要求的一項重大舉措,也是對縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認真履行領(lǐng)班子、帶隊伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細則為落腳點,落實全面從嚴治黨主體
根據(jù)會議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報告如下:一、履職工作特色和亮點1 突出政治建設(shè),著力在思想認識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服
2022年以來,在**黨委的正確領(lǐng)導(dǎo)下,堅持以習(xí)近平新時代中國特色社會主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創(chuàng)建
各位領(lǐng)導(dǎo),同志們:根據(jù)會議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強化政治引領(lǐng)。一是不斷強化理論武裝。堅持通過黨組會、中心組學(xué)習(xí)會和“三會一課”,第一時間、第一議題學(xué)
2022年度抓基層黨建工作述職報告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展
2022年,是我在數(shù)計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領(lǐng)導(dǎo)下,與數(shù)計系領(lǐng)導(dǎo)班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現(xiàn)將本人一年來,作為統(tǒng)戰(zhàn)部長履行職責(zé)、廉潔自律等方面情況報告如下:一、著眼增強政治素質(zhì),不斷深化理論學(xué)習(xí)堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅決擁護“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進取,認真履職盡責(zé),圓滿完成各項工作任務(wù)。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關(guān)于開展抓基層黨建述職評議會議的有關(guān)要求,經(jīng)請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究