




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、匯編語言實驗報告得分: 班級*姓名*學號*實驗名稱搭建開發(fā)環(huán)境實驗室號*實驗目的搭建匯編語言的開發(fā)環(huán)境,熟悉匯編程序開發(fā)的基本步驟,掌握基本的調(diào)試操作。實驗要求基于VISUAL STUDIO 平臺,結合MASM32的匯編器,構建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)試該程序,查看每步結果,并解釋每步結果,并寫成注釋。(特別注意對標志位的影響)5) (可選)嘗試修改程序。6) (可選)單步跟蹤課件中節(jié)的程序“ptr應用示例”,結合VC6的內(nèi)存查看功能(通過菜單viewàdebug windowsàMemory調(diào)出內(nèi)存查看窗口)理解每步的執(zhí)行結
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結果:3. 輸出各寄存器的值。DumpRegs PROTO程序最后加入調(diào)用DumpRegs過程的語句call DumpRegs 輸出結果如下:4.單步執(zhí)行的方式調(diào)試該程序,查看每步結果,并解釋每步結果,并寫成注釋。(特別注意對標志位的影響)1、按F10進行調(diào)試、alt+F5調(dià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復制給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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品格教育勇敢活動方案
- 周末草莓活動方案
- 國外創(chuàng)業(yè)活動方案
- 回收玻璃活動方案
- 圖書研討活動方案
- 國際中學生科技活動方案
- 團隊公園徒步活動方案
- 咖啡興趣活動方案
- 國慶棋類活動方案
- 圍墻改造工程方案(3篇)
- GB/T 20160-2006旋轉電機絕緣電阻測試
- GB 14443-2007涂裝作業(yè)安全規(guī)程涂層烘干室安全技術規(guī)定
- 藏寶圖-7-10歲-少兒美術課件
- 解一元一次方程移項說課稿課件
- 小學45年級必背古詩課件
- 北京市西城區(qū)2020-2021學年三年級語文下學期期末試卷新人教版
- 廢氣治理設施運行管理規(guī)程
- 廣告公司客戶回訪表
- 內(nèi)力組合計算表(自動版)
- 《心理健康與職業(yè)生涯》期末考試題庫含答案
- FANUC機器人培訓教程(完成版)(PPT134頁)
評論
0/150
提交評論