匯編實驗報告_第1頁
匯編實驗報告_第2頁
匯編實驗報告_第3頁
匯編實驗報告_第4頁
匯編實驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗報告一實驗題目:有兩個數(shù)(字?jǐn)?shù)據(jù))DATA1和DATA2,把兩數(shù)之和放在DATA3中,兩數(shù)之差放在DATA4中。實驗?zāi)康模菏炀氄莆諈R編語言的程序結(jié)構(gòu),學(xué)會如何使用數(shù)據(jù)定義、符號定義、模塊定義等常用的批示性語句。熟悉匯編語言的工作環(huán)境;學(xué)會使用匯編語言的編輯、匯編、和連接裝配程序的方法;熟悉匯編語言程序的編輯-匯編-連接-運行-調(diào)試的過程熟練掌握用DEBUG來調(diào)試程序,掌握調(diào)試程序的反匯編、讀寫寄存器或存儲單元、運行程序等簡單的調(diào)試命令。熟悉匯編語言指令,學(xué)會使用數(shù)據(jù)傳送,算術(shù)邏輯運算,處理器控制等簡單指令。實驗主要原理:先用數(shù)據(jù)傳送指令將DATA1,DATA2放入AX和BX兩個寄存器中,分別用ADD和SUB兩個指令來計算兩數(shù)之和與兩數(shù)之差,再用數(shù)據(jù)傳送指令將兩數(shù)之和放入DATA3中,將兩數(shù)之差放入DATA4中。最后用ret指令返回DOS程序流程圖:源程序:datareasegmentDATA1dw5;數(shù)據(jù)定義DATA2dw4DATA3dw?DATA4dw?datareaendsprognamsegmentmainprocfarassumecs:prognam,ds:datareastart:pushds;準(zhǔn)備工作 subax,ax pushaxmovax,datareamovds,axmovax,DATA1movbx,DATA2addax,bx;做加法movDATA3,axmovax,DATA1subax,bx;做減法movDATA4,axretmainendpprognamendsendstartDEBUG調(diào)試關(guān)鍵步驟:執(zhí)行movax,DATA1,(AX)=5,傳送成功執(zhí)行addax,bx,AX)=9,加法成功執(zhí)行到最后ret時,查看數(shù)據(jù)段內(nèi)容分別為5,4,9,1說明加法,減法都成功執(zhí)行運行結(jié)果:(DATA3)=9(DATA4)=1實驗報告二實驗題目:數(shù)據(jù)段中有一個字符串DATA1,串長為3,內(nèi)容為‘CDE’,還有另一個字符串為DATA2,長度為4,內(nèi)容為‘ABCD’。要求在附加段中的字符串DATA3中得到‘ABCDCDE’。實驗?zāi)康模菏炀氄莆諈R編語言的程序結(jié)構(gòu),學(xué)會如何使用數(shù)據(jù)定義、符號定義、模塊定義等常用的批示性語句。熟悉匯編語言的工作環(huán)境;學(xué)會使用匯編語言的編輯、匯編、和連接裝配程序的方法;熟悉匯編語言程序的編輯-匯編-連接-運行-調(diào)試的過程熟練掌握用DEBUG來調(diào)試程序,掌握調(diào)試程序的反匯編、讀寫寄存器或存儲單元、運行程序等簡單的調(diào)試命令。熟悉匯編語言指令,學(xué)會使用數(shù)據(jù)傳送,串處理指令,處理器控制等簡單指令。實驗主要原理:取DATA1地址放入SI中,取DATA2地址放入BX中,取DATA3地址放入DI中,通過使用CX與LOOP循環(huán)先把DATA1的內(nèi)容全部放入DATA3中,再使用CX和LOOP循環(huán)將DATA2的內(nèi)容都放入DATA3的后邊。程序流程圖:源代碼:datasegment data1db'CDE' data2db'ABCD'dataendsesdatasegment data3db7dup(?)esdataendscodesegmentassumecs:code,ds:data,es:esdatamainprocfarstart:pushdssubax,axpushaxmovax,datamovds,axmovax,esdatamoves,axmovsi,offsetdata2;源串地址movdi,offsetdata3movcx,4cld;把ABCD送到data3前4個單元repmovsbmovsi,offsetdata1movcx,3;把CDE送到data3后3個單元repmovsbretmainendpcodeendsendstartDEBUG調(diào)試關(guān)鍵步驟:執(zhí)行到movsi,offsetdata2時,(SI)=0003H,源串地址傳送成功到執(zhí)行到ret時,ES段中的串味ABCDCDE,實驗成功實驗結(jié)果:以DATA3為首址的連續(xù)單元成功存放‘ABCDCDE’字符串實驗報告三實驗題目:已知有符號字?jǐn)?shù)組ARRAY有6個元素。試編制統(tǒng)計此數(shù)組相鄰兩元素符號變化次數(shù)的程序?qū)嶒災(zāi)康模? 熟練掌握匯編語言的程序結(jié)構(gòu),學(xué)會如何使用數(shù)據(jù)定義、符號定義、模塊定義等常用的批示性語句。2熟悉匯編語言的工作環(huán)境;學(xué)會使用匯編語言的編輯、匯編、和連接裝配程序的方法;熟悉匯編語言程序的編輯-匯編-連接-運行-調(diào)試的過程3熟練掌握用DEBUG來調(diào)試程序,掌握調(diào)試程序的反匯編、讀寫寄存器或存儲單元、運行程序等簡單的調(diào)試命令。4熟悉匯編語言指令,學(xué)會使用數(shù)據(jù)傳送,邏輯運算指令,循環(huán)指令,處理器控制等簡單指令。實驗主要原理:將各個元素除符號位外全部置0,通過將每相鄰的兩個數(shù)進(jìn)行對比看是否相等,若相等,則對比下一組,否則計數(shù)器加1再對比下一組。直到CX=0。程序流程圖:源程序datasegmentARRAYdw-1,2,2,-3,1,2dataendscodesegmentassumecs:code,ds:datamainprocfarstart:pushdssubax,axpushaxmovax,datamovds,axleasi,ARRAY cld lodsw andax,8000h movbx,ax movcx,5 xordx,dxlop1:lodsw andax,8000h xorbx,ax testbx,bx jzLOG incdx movbx,axLOG: looplop1retmainendpcodeendsendstartDEBUG調(diào)試關(guān)鍵步驟:成功執(zhí)行語句leasi,ARRAY,(SI)=0第一次執(zhí)行到JZLOG語句時,因為第一第二個數(shù)位-1和2符號相反,所以不跳轉(zhuǎn)往下執(zhí)行,DX里的值加1,(DX)=1執(zhí)行完成后,(DX)=3,有三次符號變化,實驗成功實驗結(jié)果:(DX)=3實驗報告四實驗題目:有一個首地址為ARRAY的8字?jǐn)?shù)組,試編制一個程序,刪除數(shù)組中所有為零的項,并將后續(xù)項向前壓縮,最后將數(shù)組的剩余部分補上零。實驗?zāi)康模?熟練掌握匯編語言的程序結(jié)構(gòu),學(xué)會如何使用數(shù)據(jù)定義、符號定義、模塊定義等常用的批示性語句。2熟悉匯編語言的工作環(huán)境;學(xué)會使用匯編語言的編輯、匯編、和連接裝配程序的方法;熟悉匯編語言程序的編輯-匯編-連接-運行-調(diào)試的過程3熟練掌握用DEBUG來調(diào)試程序,掌握調(diào)試程序的反匯編、讀寫寄存器或存儲單元、運行程序等簡單的調(diào)試命令。4熟悉匯編語言指令,學(xué)會使用數(shù)據(jù)傳送,算術(shù)邏輯運算,處理器控制等簡單指令。實驗主要原理: 在數(shù)組里面順序取元素與0做比較,如果相等,則將所有數(shù)組元素向前移動一位,并且將數(shù)組最后一位置為0,再取下個元素比較,直到計數(shù)器為0程序流程圖:源程序:datasegmentARRAYdw2,2,2,4,5,2,0,1dataendscodesegmentmainprocfarassumeds:data,cs:codestart:pushdssubax,axpushaxmovax,datamovds,axmovsi,14;ARRAY最后一個元素的地址movbx,-2movcx,8LOP1:addbx,2cmparray[bx],0jzLOGloopLOP1jmpDONELOG:movdi,bxLOP2:cmpdi,sijaeZEROmovax,ARRAY[di+2]movARRAY[di],axadddi,2jmpLOP2ZERO:movwordptr[SI],0loopLOP1DONE:retmainendpcodeendsendstartDEBUG調(diào)試關(guān)鍵步驟:當(dāng)BX=000C的時候,因為此時,數(shù)組元素為0

溫馨提示

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

評論

0/150

提交評論