匯編語言實驗報告搭建開發環境_第1頁
匯編語言實驗報告搭建開發環境_第2頁
匯編語言實驗報告搭建開發環境_第3頁
匯編語言實驗報告搭建開發環境_第4頁
匯編語言實驗報告搭建開發環境_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、ml.err拷貝到VC的Microsoft Visual StudioVC98Bin目錄中創建與配置project: 新建VC的win32 console類型空工程 創建一個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) 在程序最后加入調用DumpRegs過程的語句,以輸出各寄存器的值。4) 以單步執行的方式調試該程序,查看每步結果,并解釋每步結果,并寫成注釋。(特別注意對標志位的影響)5) (可選)嘗試修改程序。6) (可選)單步跟蹤課件中節的程序“ptr應用示例”,結合VC6的內存查看功能(通過菜單viewàdebug windowsàMemory調出內存查看窗口)理解每步的執行結

4、果。(注意課件中只是大部分代碼,請補全頭文件以及程序退出宏。)一、配置IDE環境:1、 添加Irvine32.lib等所在的目錄到library files;2、 添加添加Irvine32.inc等所在的目錄到include files中;3. 將masm32中的ml.exe和ml.err拷貝到VC的Microsoft Visual StudioVC98Bin目錄中二、創建與配置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結果:3. 輸出各寄存器的值。DumpRegs PROTO程序最后加入調用DumpRegs過程的語句call DumpRegs 輸出結果如下:4.單步執行的方式調試該程序,查看每步結果,并解釋每步結果,并寫成注釋。(特別注意對標志位的影響)1、按F10進行調試、alt+F5調出寄存器的變化信息框。程序及標志位解讀如下:.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(實現自增)dec ax/ax 4096;bx 57344(實現自減)mov eax,Xval /把Xval復制給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復制給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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論