版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 . . 7/7聯(lián)合大學微機原理與嵌入式系統(tǒng)實驗報告學 院:信息學院專 業(yè):計算機科學與技術(shù)課 程:微機原理與嵌入式系統(tǒng) 班 級:計科1203B姓 名:王晴學 號:21 2015年5月27日Debug的使用(基礎(chǔ)與驗證型)實驗?zāi)康呐c任務(wù)目的:掌握匯編語言程序設(shè)計的基本方法和技能;熟練掌握使用全屏幕編輯程序EDIT編輯匯編語言源程序;熟練掌握宏匯編程序MASM的使用;熟練掌握連接程序LINK的使用。任務(wù):1、實驗容匯編語言程序設(shè)計上機過程如圖1.1所示。圖1.1匯編語言程序上機過程(一)用編輯程序EDIT建立匯編語言源程序文件(ASM文件)在Windows 2000或者在Windows XP環(huán)境
2、下鼠標單擊“開始”“運行”,在“運行”中輸入“CMD”進入DOS模式,運行EDIT軟件,例如:D EDIT hello.ASM進入EDIT的程序編輯畫面時,輸入?yún)R編語言源程序(二)用匯編程序MASM將ASM文件匯編成目標程序文件(OBJ文件)當源程序建立以后,仍以hello.asm程序為例,我們用匯編程序MASM對hello.asm源程序文件進行匯編,以便產(chǎn)生機器碼的目標程序文件hello.obj(三) 用連接程序LINK生成可執(zhí)行程序文件(EXE文件)經(jīng)匯編后產(chǎn)生的二進制的目標程序文件(OBJ文件)并不是可執(zhí)行程序文件(EXE文件),必須經(jīng)連接以后,才能成為可執(zhí)行文件。連接程序并不是專為匯編
3、語言程序設(shè)計的。如果一個程序是由若干個模塊組成的,也可通過連接程序LINK把它們連接在一起。這些模塊可以是匯編程序產(chǎn)生的目標文件,也可以是高級語言編譯程序產(chǎn)生的目標文件。(四) 程序的執(zhí)行當我們建立了可執(zhí)行文件hello.EXE后,就可直接在DOS下執(zhí)行該程序: Chello.exe原理1、匯編語言源程序的匯編過程匯編語言源程序的匯編過程是是利用匯編程序(MASM)對已編輯好的源程序文件(.ASM)進行匯編,將源程序文件中以ASCII碼表示的助記符指令逐條翻譯成機器碼指令,并完成源程序中的偽指令所指出的各種操作,最后可以建立3個文件:擴展名為 .OBJ的目標文件、擴展名為 .LST 的列表文件
4、和擴展名為.CRF 的交叉索引文件。目標文件是必須建立的,它包含了程序中所有的機器碼指令和偽指令指出的各種有關(guān)信息,但該文件中的操作數(shù)地址還不是存的絕對地址,只是一個可浮動的相對地址。列表文件(.LST)中包含了源程序的全部信息(包括注釋)和匯編后的目標程序,列表文件可以打印輸出,可供調(diào)試檢查用。交叉索引文件(.CRF)是用來了解源程序中各符號的定義和引用情況的。.LST和.CRF兩個文件不是必須建立的,可有有無,可以通過匯編時的命令加以選擇。在對源程序文件(ASM文件)匯編時,匯編程序?qū)SM文件進行兩遍掃描,若程序文件中有語法錯誤,則結(jié)束匯編,匯編程序?qū)⒅赋鲈闯绦蛑写嬖诘腻e誤,這時應(yīng)返回
5、編輯環(huán)境修改源程序中的錯誤,再經(jīng)過匯編,直到最后得到無錯誤的目標程序,即OBJ文件。因此,匯編程序的主要功能可以概括為以下三點:(1) 檢查源程序中的語法錯誤,并給出錯誤信息;(2) 產(chǎn)生目標程序文件(OBJ文件),并可給出列表文件(.LST文件);(3) 展開宏指令。匯編程序是系統(tǒng)提供的用于匯編的系統(tǒng)軟件,目前常用的匯編程序有Microsoft公司推出的宏匯編程MASM(MACRO ASSEMBLER)和BORLAND公司推出的TASM(TURBO ASSEMBLER)兩種。Microsoft公司推出有宏匯編程序MASM和小匯編程序ASM兩種,二者的區(qū)別在于:MASM有宏處理功能,而ASM沒
6、有宏處理功能,因此,MASM比ASM的功能強大,但MASM需要占據(jù)較大的存空間,當存空間較小時(如64 KB),只能使用ASM。2、目標程序的連接過程匯編后產(chǎn)生的目標程序(OBJ文件)并不是可執(zhí)行程序文件(EXE文件),還不能直接運行,它必須通過連接程序(LINK)連接成一個可執(zhí)行程序后才能運行。連接程序進行連接時,其輸入有兩個部分:一是目標文件(.OBJ),目標文件可以是一個也可以是多個,可以是匯編語言經(jīng)匯編后產(chǎn)生的目標文件,也可以是高級語言(例如C語言)經(jīng)編譯后產(chǎn)生的目標文件;另一是庫文件(.LIB),庫文件是系統(tǒng)中已經(jīng)建立的,主要是為高級語言提供的。連接后輸出兩個文件,一是擴展名為 .E
7、XE的可執(zhí)行文件,另一個是擴展名為 .MAP 的存分配文件,它是連接程序的列表文件,又稱為連接映像(Link Map),它給出每個段在存儲器中的分配情況,該文件可有可無。連接程序給出的“無堆棧段的警告性錯誤”并不影響程序的運行。所以,到此為止,連接過程已經(jīng)結(jié)束,可以在操作系統(tǒng)下執(zhí)行該.EXE程序了。代碼與截圖分析1.程序一代碼HELLO .model small .stack .databvar1 db 100,01100100b,64h,dminint = 5bvar2 db -1,minint,minint+5 db ?,2 dup(20h)wvar1 dw 2010h,4*4wvar2
8、dw ?dvar dd 12347777h,87651111h,?abc db a,b,c,?maxint equ 0ahstring db ABCDEFGHIJcrlfs db 13,10,$array1 dw maxint dup(0)array db 2 dup(2,3,2 dup(4) .codestart: mov ax,data mov ds,ax mov dl,bvar1 dec bvar2+1mov abc3,dl mov ax,word ptr dvar0 mov dx,word ptr dvar2 add ax,word ptr dvar4 adc dx,word ptr
9、dvar6 mov word ptr dvar8,ax mov word ptr dvar6,dx mov cx,maxint mov bx,0again: add stringbx,3 inc bx loop again lea dx,abc mov ah,09h int 21h mov ax,4c00h int 21h end start 2.程序二代碼WORLD .model small .stack .datakeynum = 255keybuf db keynum db 0 db keynum dup(0) .codestart: mov ax,data mov ds,ax mov
10、dx,offset keybuf mov ah,0ah int 21h mov dl,0ah mov ah,2 int 21h mov bx,offset keybuf+1 mov cl,bx mov ch,0again: inc bx mov dl,bx cmp dl,a disp cmp dl,z ja disp sub dl,20hdisp: mov ah,2 int 21h loop again mov ax,4c00h int 21h end start3.程序三代碼ADD .model small .stack .datakeynum = 255keybuf db keynum d
11、b 0 db keynum dup(0) .codestart: mov ax,data mov ds,ax mov dx,offset keybuf mov ah,0ah int 21h mov dl,0ah mov ah,2 int 21h mov bx,offset keybuf+1 mov cl,bx mov ch,0again: inc bx mov dl,bx cmp dl,A disp cmp dl,Z ja disp ADD dl,20hdisp: mov ah,2 int 21h loop again mov ax,4c00h int 21h end start3.程序一結(jié)果4.程序二結(jié)果5.程序三結(jié)果四、思考與練習以與測評標準(1)匯編過程中 MASM hello和 MASM hello.ASM的結(jié)果是否一致。答:一致連接過程中 LINK hello和LINK hello.OBJ的結(jié)果是否一致。答:一致(3) 使用Word如何錄入?yún)R編語言源程序。答:復(fù)制到記事本即可。五、實驗總結(jié)通過這次實驗我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力施工給排水維修安全協(xié)議
- 工業(yè)液體存儲罐租賃協(xié)議
- 木材加工辦公室租賃合同
- 機械設(shè)備付款承諾書模板
- 旅游景區(qū)草坪維護合同
- 農(nóng)村采摘園租賃合同
- 漁業(yè)捕撈大車租賃合同
- 體育賽事直播服務(wù)投標管理辦法
- 醫(yī)院建設(shè)樁基機械施工合同
- 新疆二手房交易合同范本
- 中國 美國 日本水洗標志對比
- 新產(chǎn)品試制流程管理辦法
- 通用橫版企業(yè)報價單模板
- 潛油泵及潛油泵加油機講義
- 物業(yè)服務(wù)公司各崗位規(guī)范用語
- 醫(yī)患溝通內(nèi)容要求記錄模板(入院、入院三日、術(shù)前、術(shù)后、出院)
- 航海學天文定位第四篇第6章天文定位
- 淺談深度教學中小學數(shù)學U型學習模式
- 物理電學暗箱專題30道
- 裝修公司員工勞動合同
- 江西上饒鉛山汽車駕駛科目三考試線路
評論
0/150
提交評論