北京信息科技大學《匯編語言程序設(shè)計》實驗一-完整報告【完整版】_第1頁
北京信息科技大學《匯編語言程序設(shè)計》實驗一-完整報告【完整版】_第2頁
北京信息科技大學《匯編語言程序設(shè)計》實驗一-完整報告【完整版】_第3頁
北京信息科技大學《匯編語言程序設(shè)計》實驗一-完整報告【完整版】_第4頁
北京信息科技大學《匯編語言程序設(shè)計》實驗一-完整報告【完整版】_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

北京信息科技大學《匯編語言程序設(shè)計》實驗一完整報告【完整版】(文檔可以直接使用,也可根據(jù)實際需要修訂后使用,可編輯放心下載)

北京信息科技大學《匯編語言程序設(shè)計》實驗一完整報告【完整版】(文檔可以直接使用,也可根據(jù)實際需要修訂后使用,可編輯放心下載)實驗報告課程名稱匯編語言程序設(shè)計實驗工程實驗一、匯編語言編程根底實驗儀器微機系統(tǒng)、匯編調(diào)試環(huán)境系別 計算機科學與技術(shù)專業(yè) 計算機科學與技術(shù)班級/學號 學生姓名 實驗日期 成績 指導教師 胡信裕 實驗一匯編語言編程根底實驗目的熟練掌握匯編語言程序格式熟悉匯編語言源程序的編輯和匯編、目標模塊的連接以及可執(zhí)行程序的調(diào)試熟悉80x86CPU的根本指令系統(tǒng)熟悉并掌握x86匯編語言根本結(jié)構(gòu)程序設(shè)計與調(diào)試實驗要求Windows操作系統(tǒng)并具有命令提示符操作界面的計算機,且系統(tǒng)內(nèi)安裝有匯編語言編程環(huán)境。在開始本實驗之前,復習教科書的相關(guān)內(nèi)容,并預先寫出相應的源程序。通過DEBUG上機調(diào)試,注意觀察,并記錄下現(xiàn)象。實驗內(nèi)容〔一〕MASM和DEBUG應用使用任何一個文本編輯器編輯下面給出的源文件〔例如EDIT,記事本,PWB等〕,在編輯過程中注意及時保存文件,建議新建文件后即予以保存,保存文件時務必加上.Asm。本實驗可使用兩種格式的源程序:采用完整段定義格式的源程序:Data segmentX1db?,1,23HX2db$-x1,'a','b','cdef'X3dw10,100,1000,10000X4db2DUP(3DUP(1,2,3))Data endsCodesegmentMainprocfar Assumeds:data,cs:codeStart:Movax,data ;*1Movds,ax ;*2 Moval,x1 ;*3 Movbl,x2 ;*4Movcx,x3 ;*5Movdx,x3+4 ;*6Movax,4c00h ;*7Int21h ;*8Mainendp Code ends Endmain 采用簡化段定義格式編寫上述源程序,匯編、連接、調(diào)試:.modelsmall.stack100h.dataX1db?,1,23HX2db$-x1,'a','b','cdef'X3dw10,100,1000,10000X4db2DUP(3DUP(1,2,3)).codeMainprocMovax,@dataMovds,axMoval,x1Movbl,x2Movcx,x3Movdx,x3+4Movax,4c00hInt21hMainendp Endmain注釋:db偽指令用于分配一個字節(jié)單元的存儲空間,dw偽指令用于分配一個字單元的存儲空間。操作步驟如下:〔1〕執(zhí)行masm.exe對源程序進行匯編,生成.obj文件和.lst文件?!?〕執(zhí)行連接Link生成.exe文件?!?〕利用debug調(diào)試程序:〔4〕分別用T命令和g命令執(zhí)行程序?!舅伎碱}】:記錄程序處于初始執(zhí)行程序狀態(tài)時〔尚未執(zhí)行時〕存放器的值和單步執(zhí)行過程中存放器的值,哪些存放器的值發(fā)生了變化?變化的原因是什么?尚未執(zhí)行時:存放器變化:AX,CX,DX原因是:執(zhí)行了MOV指令存放器IP的變化有什么意義?IP存放器的內(nèi)容為下一條將要執(zhí)行的指令的偏移地址用T命令跟蹤執(zhí)行程序直到“INT21H〞指令,內(nèi)存單元X2和X4的邏輯地址是什么?存放器CX和內(nèi)存單元X4最終的值是什么?X2和X4的邏輯地址:CX:7286X4:〔4〕為什么需要程序中的前兩條指令movax,@data和movds,ax,它們的作用是什么?如果缺少這兩條指令程序?qū)绾???〕使用簡化結(jié)構(gòu)的點命令描述,上述程序還可作如何修改?【答復題】:畫出數(shù)據(jù)段每個單元數(shù)據(jù)內(nèi)容寫出程序運行后AX、BX、CX、DX的值〔二〕熟悉80x86指令用DEBUG程序或集成開發(fā)環(huán)境調(diào)試運行下面的匯編語言程序例子,并記錄執(zhí)行情況〔填空〕。操作步驟一般是:匯編→②設(shè)置參數(shù)→③單步或連續(xù)執(zhí)行→④觀察和記錄運行結(jié)果。數(shù)據(jù)傳送指令練習MOV指令的功能是_它可以在存放器和存放器之間,或在存放器和存儲器之間傳送字或字節(jié)數(shù)據(jù),也可以將一個立即數(shù)傳送到存放器或存儲單元中。在表中寫出每條指令的預期結(jié)果。編號指令序列預期執(zhí)行結(jié)果執(zhí)行結(jié)果1PUSHBP;BP=1234H,SP=0000HBP=,SP=BP=,SP=2MOVBP,SPBP=,SP=BP=,SP=3POPDXDX=,SP=DX=,SP=4PUSHES;ES=2000HES=,SP=ES=,SP=5POPDIDI=,SP=DI=,SP=6LESBX,[BP+2]BX=,BP=加法指令練習加法指令ADD/ADC的區(qū)別是_有無借位標志___,執(zhí)行加法指令影響的標志位有_CF、ZF、OF、SF、AF、PF_________________________。編號指令序列執(zhí)行結(jié)果1Moval,0f6hAl=__0f6h_________2Addal,07Al=__fdh___Of=_0___sf=_0__zf=___0_____af=_0__pf=__0____cf=__0____3Movwordptr[200h],465bh目的操作數(shù)有效地址=_200h_____物理地址=_____執(zhí)行后目的操作數(shù)值是_____465bh__________.4Movbx,1fehBx=__1feh_______5Addal,blAl=_2f3h____bl=___1feh_______Of=_0___sf=_0__zf=__0______af=__0_pf=__0____cf=_0_____6Adcwordptr_bx+2],0e0e0h目的操作數(shù)有效地址=_200h_____物理地址=_____執(zhí)行后目的操作數(shù)值是___0e0e0h____________.減法指令練習減法指令SUB/SBB的區(qū)別是____有無借位標志_____________________編號指令序列執(zhí)行結(jié)果1Moval,05chAl=__05ch_________2subal,09Al=_053h____Of=__0__sf=_0__zf=___0_____af=_0__pf=__1____cf=__0____3Movwordptr[200h],4652h目的操作數(shù)有效地址=_200h_____物理地址=_____執(zhí)行后目的操作數(shù)值是___4652h____________.4Movbx,1fehBx=__1feh_______5subal,blAl=_____bl=__________Of=____sf=___zf=________af=___pf=______cf=______6sbbwordptr[bx+2],0f0f目的操作數(shù)有效地址=__200h____物理地址=_____執(zhí)行后目的操作數(shù)值是__0f0f0h_____________.邏輯運算指令練習移位指令的功能是:SHL:__邏輯左移_______SHR:___邏輯右移___________SAL:__算術(shù)左移_________SAR:___算術(shù)右移___________ROL:__循環(huán)左移_________SAR:___算術(shù)右移__________ROL:__循環(huán)左移________ROR:___循環(huán)右移___________RCL:_帶進位循環(huán)左移____RCR:__帶進位循環(huán)右移______編號指令序列執(zhí)行結(jié)果1MovAX,0ABCDHax=_0ABCDH_2MovCL,4cl=_04H___3ANDAL,0FHAl=_ODH_cf=___0____4ADDAL,30HAl=3DH_cf=___0____5SHLAH,CLAH=B0H__cf=___0____6ANDAH,CLAH=__A0H__cf=___0____〔三〕匯編程序設(shè)計與調(diào)試使用本實驗提供的框架結(jié)構(gòu)創(chuàng)立一個匯編語言源程序,然后匯編,連接,生成.exe文件。在編輯過程中注意及時保存文件,建議新建文件后即予以保存,保存文件時務必加上.asm。本實驗提供兩種格式的源程序:采用完整段定義格式的源程序:Data segment;defineyourdatahereData endsstacksegmentparestack dw100hdup(0)stackendscode segment‘code’main procfar assumeds:data,cs:code,ss:stackstart:movax,datamovds,ax;……;defineyourcodehere;……movax,4c00hint21hmainendp endmain采用簡化段定義格式的源程序:.modelsmall.386.stack100h.data;defineyourdatahere.codemain procmovax,@datamovds,ax;……;defineyourcodehere;……mova

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論