匯編語言實驗報告搭建開發(fā)環(huán)境_第1頁
匯編語言實驗報告搭建開發(fā)環(huán)境_第2頁
匯編語言實驗報告搭建開發(fā)環(huán)境_第3頁
匯編語言實驗報告搭建開發(fā)環(huán)境_第4頁
匯編語言實驗報告搭建開發(fā)環(huán)境_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編語言實驗報告得分: 班級*姓名*學(xué)號*實驗名稱搭建開發(fā)環(huán)境實驗室號*實驗?zāi)康拇罱▍R編語言的開發(fā)環(huán)境,熟悉匯編程序開發(fā)的基本步驟,掌握基本的調(diào)試操作。實驗要求基于VISUAL STUDIO 平臺,結(jié)合MASM32的匯編器,構(gòu)建IA-32匯編語言的開發(fā)環(huán)境。實驗內(nèi)容1) VC6平臺下的匯編語言開發(fā)環(huán)境搭建(使用MASM32的匯編器+VC6)配置IDE環(huán)境: 在VC的tools/option/Directories頁面中添加Irvine32.inc等所在的目錄到include files中; 添加Irvine32.lib等所在的目錄到library files. 將masm32中的ml.exe和

2、ml.err拷貝到VC的Microsoft Visual StudioVC98Bin目錄中創(chuàng)建與配置project: 新建VC的win32 console類型空工程 創(chuàng)建一個asm后綴的文件,并把匯編代碼(教材第85頁addsub3.asm)輸入該文件中,然后將該asm文件添加到Source Files 選中asm文件,在project settings/Custom Build頁面中命令行加:ml /c /coff /Fo$(TargetDir)$(InputName).obj $(InputPath) 輸出中加上:$(TargetDir)$(InputName).obj “Project

3、setting”頁面的”link”選項卡中“object/library module ”中加入irvine32.lib2) 匯編與鏈接不帶輸出的加減法程序(即教材第85頁addsubTest.asm);3) 在程序最后加入調(diào)用DumpRegs過程的語句,以輸出各寄存器的值。4) 以單步執(zhí)行的方式調(diào)試該程序,查看每步結(jié)果,并解釋每步結(jié)果,并寫成注釋。(特別注意對標(biāo)志位的影響)5) (可選)嘗試修改程序。6) (可選)單步跟蹤課件中節(jié)的程序“ptr應(yīng)用示例”,結(jié)合VC6的內(nèi)存查看功能(通過菜單viewàdebug windowsàMemory調(diào)出內(nèi)存查看窗口)理解每步的執(zhí)行結(jié)

4、果。(注意課件中只是大部分代碼,請補全頭文件以及程序退出宏。)一、配置IDE環(huán)境:1、 添加Irvine32.lib等所在的目錄到library files;2、 添加添加Irvine32.inc等所在的目錄到include files中;3. 將masm32中的ml.exe和ml.err拷貝到VC的Microsoft Visual StudioVC98Bin目錄中二、創(chuàng)建與配置project:2.編輯教材85頁不帶輸出的程序代碼如下:.386.model flat,stdcall.stack 4096ExitProcess PROTO, dwExitC

5、ode:DWORDDumpRegs PROTO.dataRval  SDWORD ?Xval  SDWORD 26Yval  SDWORD 30Zval  SDWORD 40.codemain PROCmov  ax,1000h  inc  axdec  axmov  eax,Xvalneg  eaxmov  ebx,

6、Zvaladd  eax,ebxmov  Rval,eaxmov  cx,1sub  cx,1mov  ax,0FFFFhinc  axmov  cx,0sub  cx,1mov  ax,7FFFhadd  ax,2mov  al,0FFhadd  al,1mov  al,+127add  al,1mov &

7、#160;al,-128sub  al,1call DumpRegsINVOKE ExitProcess,0main ENDPEND main結(jié)果:3. 輸出各寄存器的值。DumpRegs PROTO程序最后加入調(diào)用DumpRegs過程的語句call DumpRegs 輸出結(jié)果如下:4.單步執(zhí)行的方式調(diào)試該程序,查看每步結(jié)果,并解釋每步結(jié)果,并寫成注釋。(特別注意對標(biāo)志位的影響)1、按F10進行調(diào)試、alt+F5調(diào)出寄存器的變化信息框。程序及標(biāo)志位解讀如下:.386.model flat,stdcall.stack 4096ExitP

8、rocess PROTO, dwExitCode:DWORDDumpRegs PROTO.dataRval SDWORD ?Xval SDWORD 26Yval SDWORD 30Zval SDWORD 40.codemain PROCmov ax,1000h /ax 4096 ;bx 57344;inc ax /ax 4097;bx 57344(實現(xiàn)自增)dec ax/ax 4096;bx 57344(實現(xiàn)自減)mov eax,Xval /把Xval復(fù)制給eaxneg eax /ax 26;bx 57344(取反 令ax=-26)mov ebx,Zvalv /ax 65510 ;bx 40

9、;cx(把Zval的40賦給ebx)add eax,ebx / ax 14 ;bx 40 (求和eax=ebx+eax=14)mov Rval,eax/把eax復(fù)制給Rvalmov cx,1 /ax=14;bx=40;cx=1sub cx,1mov ax,0FFFFhinc ax/ax 65535;bx=10;cx=0;mov cx,0sub cx,1mov ax,7FFFhadd ax,2 /ax 32767 bx=40 cx =65535mov al,0FFh/ax 32769 add al,1 /ax 33023 add al,1 /ax 32768mov al,-128 /ax 32895sub al,1 /ax 32896call DumpRegs /ax 32895INVOKE ExitProces

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論