




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)二 熟悉匯編程序建立及其調(diào)試方法姓名: 劉瑩瑩 學(xué)號(hào):130241041、 實(shí)驗(yàn)?zāi)康?1、熟悉匯編語(yǔ)言源程序的框架結(jié)構(gòu),學(xué)會(huì)編制匯程序。2、熟悉匯編語(yǔ)言上機(jī)操作的過(guò)程,學(xué)會(huì)匯編程序調(diào)試方法。 2、 實(shí)驗(yàn)內(nèi)容 1、 學(xué)習(xí)編寫匯編語(yǔ)言源程序的方法,了解數(shù)據(jù)存放格式。 2、 閱讀給出的程序,找出程序中的錯(cuò)誤。 3、 通過(guò)調(diào)試給出的匯編語(yǔ)言源程序,了解并掌握匯編語(yǔ)言程序的建立、匯編、鏈接、調(diào)試、修改和運(yùn)行等全過(guò)程。 3、 實(shí)驗(yàn)預(yù)習(xí) 1、 閱讀實(shí)驗(yàn)指導(dǎo)第一章的內(nèi)容,了解匯編語(yǔ)言程序建立、匯編、鏈接、調(diào)試的全過(guò)程。 2、 下面的匯編語(yǔ)言源程序有錯(cuò)誤的,試給程序加注釋。通過(guò)調(diào)試手段找出
2、程序中的錯(cuò)誤并修改之。寫出程序的功能,畫出程序流程圖。(1)程序修改前:STACKSG: SEGMENT PARA STACK STACK ;不能有冒號(hào) DB 256 DUP(?) STACKSG ENDSDATASG: SEGMENT PARA DATA ;不能有冒號(hào)BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG: SEGMENT ;不能有冒號(hào) ASSUME SS:STACKSG , CS:CODESG AS
3、SUME DS:DATASG ORG 100HBEGIN MOV DS, DATASG ;BEGIN: 應(yīng)改為 MOV AX , DATASG MOV DS, AX LEA SI ,BLOCK MOV CX, COUNT DEC CX MOV AX , SICHKMAX ADD SI,2 ;應(yīng)加冒號(hào)CHKMAX: CMP SI , AX JLE NEXT MOV AX , SI DEC CX ;刪除 NEXT: LOOP CHKMAX MOV MAX ,AX MOV AH, 4CH INT 21HCODESG ENDS END BEGIN(2)程序修改后:STACKSG SEGMENT PAR
4、A STACK STACK DB 256 DUP(?) STACKSG ENDSDATASG SEGMENT PARA DATABLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000COUNT EQU 20MAX DW ?DATASG ENDSCODESG SEGMENT ASSUME SS:STACKSG , CS:CODESG ASSUME DS:DATASG ORG 100HBEGIN MOV AX , DATASG MOV DS, AX LEA SI ,BLOCK MOV CX, C
5、OUNT DEC CX MOV AX , SICHKMAX: ADD SI,2 CMP SI , AX JLE NEXT MOV AX , SI NEXT: LOOP CHKMAX MOV MAX ,AX MOV AH, 4CH INT 21HCODESG ENDS END BEGIN(3)程序注釋:STACKSG SEGMENT PARA STACK 'STACK' DB 256 DUP(?)STACKSG ENDS ;定義堆棧段DATASG SEGMENT PARA 'DATA' ;數(shù)據(jù)段定義BLOCK DW 0,-5,8,256,-128,96,100,3
6、,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 ;定義變量BLOCK包含20個(gè)字COUNT EQU 20 ;COUNT=20MAX DW ? ;定義字變量MAX并不賦值DATASG ENDSCODESG SEGMENT ;代碼段定義 ASSUME SS:STACKSG , CS:CODESG ;說(shuō)明STACKSG是堆棧段 ASSUME DS:DATASG ;CODESG是代碼段, DATASG是數(shù)據(jù)段 ORG 100HBEGIN: MOV AX, DATASG MOV DS, AX ;DS指向DATASG LEA SI ,BLOCK ;取BLOCK
7、的有效地址給SI MOV CX, COUNT ;CX=20 DEC CX ;CX=CX-1 MOV AX , SI ;將DS:SI里的值送到AXCHKMAX : ADD SI, 2 ;SI=SI+2 CMP SI , AX ;比較DS:SI與AX值的大小 JLE NEXT ;如果DS:SI的值小于AX里的值,則跳轉(zhuǎn)到NEXT MOV AX , SI ;將DS:SI的值送到AXNEXT: LOOP CHKMAX ;循環(huán)CHKMAX MOV MAX ,AX ;將AX的值送到變量MAX MOV AH, 4CH ;結(jié)束 INT 21HCODESG ENDS END BEGIN(4)程序的流程圖:開(kāi)始從
8、內(nèi)存取數(shù)SI=SI+2SI>AX ? YAX=SI NCX1CX=0? N Y保存最大值結(jié)束(5)程序的功能:找出20個(gè)數(shù)中的最大值并保存。4、 實(shí)驗(yàn)步驟 1、建立匯編語(yǔ)言源程序,對(duì)建立的匯編語(yǔ)言源程序進(jìn)行編譯、鏈接。 2、運(yùn)行DEBUG調(diào)試程序,裝入被調(diào)試程序,用U命令查看調(diào)入的程序,記錄代碼段基值和數(shù)據(jù)段基值,用R命令查看并記錄下當(dāng)前寄存器內(nèi)容。代碼段段基值:164F 數(shù)據(jù)段段基值:162CAX=0000 BX=0000 CX=0536 DX=0000 SP=0100 BP=0000SI=0000 DI=0000 DS=162C ES=162C SS=163C CS=164F IP=
9、0100 3、用D命令查看并記錄下內(nèi)存中數(shù)據(jù)存放格式。 (注:在教室沒(méi)有做完,回來(lái)用自己電腦做的,所以段基值不一樣) 4、用T命令單步運(yùn)行程序,觀察各條指令執(zhí)行結(jié)果,以及對(duì)寄存器、標(biāo)志位、內(nèi)存單元的影響,若找出程序中的錯(cuò)誤,用Q命令退出DEBUG環(huán)境,修改匯編語(yǔ)言源程序,重復(fù)上述步驟,直至整個(gè)程序無(wú)誤。 5、若將LEA SI,BLOCK語(yǔ)句改為L(zhǎng)EA SI,BLOCK+2*COUNT-2,并將ADD SI,2改為SUB SI,2,重新運(yùn)行程序,觀察運(yùn)行結(jié)果: 1)建立匯編語(yǔ)言源程序,對(duì)建立的匯編語(yǔ)言源程序進(jìn)行編譯、鏈接。 2)運(yùn)行DEBUG調(diào)試程序,裝入被調(diào)試程序,用U命令查看調(diào)入的程序,記錄
10、代碼段基值和數(shù)據(jù)段基值,用R命令查看并記錄下當(dāng)前寄存器內(nèi)容。代碼段段基值:164F 數(shù)據(jù)段段基值:162CAX=0000 BX=0000 CX=0536 DX=0000 SP=0100 BP=0000SI=0000 DI=0000 DS=162C ES=162C SS=163C CS=164F IP=0100 3)用D命令查看并記錄下內(nèi)存中數(shù)據(jù)存放格式 4)用T命令單步運(yùn)行程序,觀察各條指令執(zhí)行結(jié)果,以及對(duì)寄存器、標(biāo)志位、內(nèi)存單元的影響。 和之前的結(jié)果一樣。 6、若重新給出一組數(shù)據(jù),可用E命令輸入新數(shù)據(jù)后運(yùn)行程序,觀察并記錄運(yùn)行結(jié)果。(注:在教室沒(méi)有做完,回來(lái)用自己電腦做的,所以段基值不一樣)
11、 7、若要求找出數(shù)據(jù)區(qū)中最小數(shù),程序?qū)⑷绾涡薷?,試上機(jī)調(diào)試。 (將JLE NEXT改為JGE NEXT)DATA SEGMENT PARA 'DATA' BLOCK DW 0,-5,8,256,-128,96,100,3,45,6,512 DW 23,56,420,75,0,-1024,-67,39,-2000 COUNT EQU 20 MAX DW ?DATA ENDSSTACK SEGMENT PARA STACK 'STACK' DB 256 DUP(?) STACK ENDSCODE SEGMENT ASSUME SS:STACK,CS:CODE ASS
12、UME DS:DATA ORG 100HBEGIN: MOV BX,DATA MOV DS,BX LEA SI,BLOCK MOV CX,COUNT DEC CX MOV AX,SICHKMAX: ADD SI,2 CMP SI,AX JGE NEXT MOV AX,SI DEC CXNEXT: LOOP CHKMAX MOV MAX,AX MOV AH,4CH INT 21HCODE ENDS END BEGIN 實(shí)驗(yàn)結(jié)果如下:(注:在教室沒(méi)有做完,回來(lái)用自己電腦做的,所以段基值不一樣)五、實(shí)驗(yàn)習(xí)題與思考1.在裝入被調(diào)試程序后,如何知道分配給該用戶程序的數(shù)據(jù)段在內(nèi)存中的位置?答:在DEBUG環(huán)境中用R命令進(jìn)行檢驗(yàn)。2.數(shù)據(jù)區(qū)以什么形式存放用符號(hào)數(shù)的?答:以補(bǔ)碼形式存放有符號(hào)數(shù)。3.修改前、后程序在執(zhí)行時(shí)有何區(qū)別(提示:觀察數(shù)據(jù)指針的變化)答:修改前SI遞增(順序比較
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保存劑與穩(wěn)定劑在藝術(shù)品中的應(yīng)用考核試卷
- 印刷設(shè)備維護(hù)工具維護(hù)計(jì)劃制定考核試卷
- 公共設(shè)施安全設(shè)施維護(hù)考核試卷
- 印刷技術(shù)在圖書裝幀中的特殊印刷工藝應(yīng)用考核試卷
- 兔飼養(yǎng)與森林資源合理利用考核試卷
- 智能環(huán)保監(jiān)測(cè)技術(shù)考核試卷
- 品牌價(jià)值評(píng)估在出版業(yè)的運(yùn)用考核試卷
- 古籍收藏與歷史研究考核試卷
- 部編六年級(jí)語(yǔ)文上冊(cè)全冊(cè)試卷(含答案)
- 2025年中國(guó)IP電話計(jì)費(fèi)軟件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 呼和浩特市國(guó)企招聘考試試題及答案2025
- 金融計(jì)量學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋山東管理學(xué)院
- 機(jī)械制圖-形成性任務(wù)2-國(guó)開(kāi)(ZJ)-參考資料
- 糖葫蘆課件教學(xué)課件
- 華南理工大學(xué)《機(jī)器學(xué)習(xí)》2023-2024學(xué)年期末試卷
- 氣胸完整版本
- 十七個(gè)崗位安全操作規(guī)程手冊(cè)
- 大學(xué)世界現(xiàn)代史世界當(dāng)代史名詞解釋主觀題復(fù)習(xí)資料
- 貴州省貴陽(yáng)市云巖區(qū)2023-2024學(xué)年四年級(jí)下學(xué)期期末語(yǔ)文試題
- QCT1177-2022汽車空調(diào)用冷凝器
- 2024年單獨(dú)考試招生嬰幼兒托育與管理專業(yè)考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論