2025年匯編語言編程實踐指南_第1頁
2025年匯編語言編程實踐指南_第2頁
2025年匯編語言編程實踐指南_第3頁
2025年匯編語言編程實踐指南_第4頁
2025年匯編語言編程實踐指南_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

專業(yè):匯編語言是計算機專業(yè)的一門重要的專業(yè)基礎(chǔ)課,重要簡介匯編語言程序設(shè)計的基本原理和措施。匯編語言是一門理論性和實踐性較強的課程,輔助課堂教學的試驗有助于協(xié)助學生理解匯編語言的基本原理,鍛煉學生的動手能力,提高學生的綜合應(yīng)用二.課程內(nèi)容例1:-D100例1:-E100414243444847464508F1:01007642:42此命令是將原100號內(nèi)存內(nèi)容76修改為42,用D命令可察看。指令的功能。三.課程規(guī)定五.措施環(huán)節(jié)????????(c)2009MicrosoftCorporation????????????????AX=0000BX=0000CX=0000DX=0000DS=13A4ES=13A4SS=13A4_CS=13A4IP=0100NVUPEIPLNZNAPONC13A4:01000000ADD[BX+SI],ALe0zGc5aaaaaacncUsersNHCMMistraror>debugUsersNHCMMistraror>debugDS=13A4ES=13A4SS=13A4CS=13A4DS=13A4ES=13A4SS=1AX=0010BX=0000CX=0002DX=0000SP=FFEEDS=13A4ES=13A4SS=13A4CS=13A4IP=0109NVUPEIPLNZACPONC13A4:01090000ADD[BX+SI],AL????????<c)2089MicrosoftCorporation????????????????F:WsersADMINI~1>_六.學習規(guī)定答:用debug+文獻名八.小結(jié)一.課程目的1.深入熟悉DEBUG命令;3.熟悉數(shù)據(jù)傳送指令、算術(shù)運算指令、邏輯指令、數(shù)據(jù)串傳送程序和數(shù)據(jù)串傳送指令MOVS、STOS及反復(fù)前輟REP;1.內(nèi)存操作數(shù)及多種尋址方式使用;2.求累加和程序;3.多字節(jié)加法程序;4.數(shù)據(jù)串搬家程序;5.段寄存器概念及字符串傳送指令練習。三.課程規(guī)定1.仔細閱讀有關(guān)DEBUG命令的內(nèi)容,對有關(guān)命令,規(guī)定事先準備好使用的例子;2.閱讀數(shù)據(jù)傳送指令、算術(shù)運算指令、邏輯指令、數(shù)據(jù)串傳送程序和數(shù)據(jù)串傳送指令MOVS、STOS及反復(fù)前輟REP的內(nèi)容;四.環(huán)境DOS操作系統(tǒng)或Windows操作系統(tǒng);MASM.EXE,LINK.EXE,DEBUGCOM或宏匯編集成環(huán)境。五.措施環(huán)節(jié)1.內(nèi)存操作數(shù)及多種尋址方式使用MOVWORDPTR[BX+SI+2],2846(1)用A命令鍵入上述程序,并用T命令逐條運行。(2)每運行一條有關(guān)內(nèi)存操作數(shù)的指令,要用D命令檢查并記錄有關(guān)內(nèi)存單元的內(nèi)容并注明是什注意D命令顯示成果中右邊的ASCII字13A4:0109movAX=1234BX=0000CX=0000DX=0000SP=FFEEBP=0000_SIDS=13A4ES=13A4SS=13A4NVUPEIPLNZNAP13A4:010C13A4:010CB239DS=13A4ES=13A4SS=13A4CS=13A4IP=010ENVUPEIPLNZNAPONC13A4:0103A3001013A4:0103A30010NODS=13A4ES=13A4SS=aX=1234BX=1002CX=0000DXDS=13A4ES=13A4SS=13A4CS=13A4IP=0109NVUPEIPLNZNAaX=1234BX=1002CX=0000DX=0000SP=FFEEBP=0000_SI=0000.DIDS=13A4ES=13A4SS=13A4CS=13AAX=1234BX=1003CX=0000DX=0039SP=FFEEBP=0000_SI=0000DS=13A4ES=13A4SS=13A4CS=13A4IP=0111寄存器相對尋址:AX=1234BX=1003CX=0000DX=0038SP=FFEEBP=0000_SI=DS=13A4ES=13A4SS=13A4CS=13A4INVUPEIPLNZNAPONCAX=1234BX=1003CX=0000DX=0038DS=13A4ES=13A4SS=13A4CS=13A4IP=011BNVUPEIPLNAX=1234BX=1003CX=0000DX=0038SP=FFEEB2.求累加和程序:程序:MOVBX,1000環(huán)節(jié):(1)用A命令將程序鍵入到100H開始的內(nèi)存中,在鍵入時記下標號LOP和J的實際地址,在鍵入LOOP指令時LOP用實際地址值替代;(3)用R命令將BX:CX改為程序長度值(即最終一條指令背面的地址減去開始地址;(4)用命令W100將此程序存到AA命名的磁盤文獻中;(5)用命令Q退出DEBUG;(6)用命令DEBUGAA再次調(diào)入DEBUG和文獻AA,可用U命令檢查調(diào)入程序;若調(diào)入DEBUG時忘了加AA文獻名,可用N命令和L命令將文獻調(diào)入;E:\Users\ADMINI~1>debE:\Users\ADMINI~1>deb(7)用E命令在內(nèi)存地址1000H處鍵入16個數(shù)字;(8)用命令G=100JJ用實際地址替代),使程序運行并停在斷點J上,檢查AX,BX的值與否符合你的估計值;AX=0000BX=1001CX=0010DX=00(9)用T命令運行一步,觀測程序方向(IP值)和CX值與否與你的估計同樣,若不一樣樣,檢查程序與否有錯;AX=0000BX=1001CX=000FDAX=0000BX=1001CX=000FDDS=13A4ES=13A4SS=13A4CS=13A4IP=0108NVUPEIPLNZNAPONC(10)反復(fù)G、J與T,再檢查AX與否對的;(11)用G命令使程序運行到結(jié)束,檢查AX值與否對的。3.多字節(jié)加法程序(1)用命令鍵入此程序(2)用E命令在1000H開始處鍵入一種8字節(jié)被加數(shù),在H開始處鍵入一種8字節(jié)加數(shù),均為低字節(jié)5.段寄存器概念及字符串傳送指令練習ES,AX(2)用A命令DB偽指令在1000:0000處鍵入字符串TBM_PCCOMPUTER',并用D命檢查之(3)用D命令檢查0F00:1000處內(nèi)容,看與否同樣。為何?相似,由于1000:0000和0F00:1000是同一種地址。(4)用G命令運行此程序,檢查目的地址1500:0000處內(nèi)容。并記下DS與ES值。(5)修改此程序,使ES與DS為同一值,以減少一條指令,而源物理地址和目的物理地址(是多少?)仍和本來同樣。修改后程序:AX=1000BX=0000CX=000CDX=0000SP=FFEEBP=0000_SI=0003DI=0003AX=1000BX=0000CX=000CDX=0000SP=FFEEBP=0000_SI=0003DI=0003六.學習規(guī)定1.各項試驗記錄;2.規(guī)定你修改的程序的清單(修改后)和調(diào)試記錄;3.自編程序原稿及調(diào)試后修正稿,寫出原稿錯在那里。SBO9:0114MouSBO9:0114MouOBO9:011?movwordptr[答:不行ORO9:011C2.用G命令運行多字節(jié)加法程序,并用D命令檢查其成果(寄存在哪里?),與否對的?D-=..t#=.3.將多字節(jié)加法程序中的INT20H指令改為INT3,有何區(qū)別?若這條指令不加,行不行?試一OBO9:0114MouDI.1000OBO9:0114MouDI.1000OBO9:011AMousI,OBO9:011EMOUALOBO9:0131MoUAL[SI]4.數(shù)據(jù)串搬家程序中的目的地址改為1002H,再運行此程序,看能不能把1000H開始的字符串搬OBO9:0109MOUAX.[SI]1.掌握無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令;2.掌握運用DOS功能調(diào)用INT21H的2號和9號功能進行屏幕顯示的措施;3.掌握直接向視頻RAM送ASCII碼進行屏幕顯示的措施;二.課程內(nèi)容1.字符、字符串的屏幕顯示;2.直接向VRAM送ASCII碼顯示字符;3.用字符搜索法確定字符串長度;4.16進制數(shù)化ASCII碼的一般措施(顯示內(nèi)存內(nèi)容)。2.閱讀運用DOS功能調(diào)用INT21H的2號和9號功能進行屏幕顯示的內(nèi)容;3.閱讀試驗指導(dǎo)書中的字符串屏幕顯示程序、字符屏幕顯示程序、直接向VRAM送ASCII碼顯示字符程序、用字符搜索法確定字符串長度程序、16進制數(shù)化ASCII碼的一般措施的程序段,調(diào)試上述程序。四.環(huán)境DOS操作系統(tǒng)或Windows操作系統(tǒng);MASM.EXE,LINK.EXE,DEBUG.COM或宏匯編集成環(huán)境。五.措施環(huán)節(jié)(1)用A命令在100H處鍵入下列程序:(2)用A命令在110H處鍵入下列字符串的ASCI碼:qqC:\DOCUME~1\ADMINI~1>debugaaC:\DOCUME~1\ADMINI~1>debugaa rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000_SI=0000DS=13A4ES=13A4SS=13A4CS=13A4IP=0100NVUPEIPLNZNAPONCXORXORBX,BXCX,100DBO9:0109cx,OBO9:0111pushOBO9:0112moucx(3)用G命令運行此程序,仔細觀測每一種ASCII碼顯示成果,并和字符表及上一道程序運行狀況進行對照,其控制字符區(qū)(07-0DH)顯示成果和INT21H2號功能調(diào)用有何不一樣?4.用字符搜索法確定字符串長度(1)用A命令在100H開始的內(nèi)存處鍵入下列程序START:MOVLOP:CMPAL,[BX](2)用G命令運行此程序,并檢查CL的記錄長度與否與你自己記錄的實際長度與否同樣?答:同樣。13A4:0102db'This13A4:0120db'thelengthofstring!$’AX=0024BX=0135CX=0033DX=DS=13A4ES=13A4SS=13A5.用字符搜索法確定字符串長度d4nnd4nntC污言言片方昂歸污言言片方昂歸Writing1000(4)在DOS命令狀態(tài)下直接運行CC.COM命令文獻,應(yīng)在屏幕上顯示出內(nèi)存從0000H開始的16個字節(jié)的內(nèi)容,若有錯誤,用DEBUG檢查之。C:\DOCUME~1\ADMINI~1>DEBUGC:\DOCUME~1\ADMINI~1>DEBUG11六.學習規(guī)定1、各項試驗記錄及觀測體會。2、自編程序草稿及調(diào)試成果。七.思索題運用INT21H顯示和直接向VRAM送ASCII碼顯示措施在顯示成果上有什么不一樣?1、INT21H只能在目前位置顯示默認屬性(即顏色)的字符,在VRAM中可修改任何一種位置的字符和屬性。2、INT21H更靠近顧客,使用簡樸。修改VRAM更靠近硬件,需記住對應(yīng)于屏幕某位置的物理地址才能使用。本設(shè)計比較難,但理解了字符串轉(zhuǎn)移的基本措施。學會了條件轉(zhuǎn)移、無條件轉(zhuǎn)移指令的使用。對匯編語言的指令有了深入的理解。但進行屏幕顯示的沒有成功,闡明自己的能力有待提高。對DOS的顯示功能不純熟。4匯編語言程序上機過程一.課程目的1.掌握常用的編輯工具軟件(如WORD、EDIT)、MASM和LINK的使用;2.偽指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;3.運用的INT21H的1號功能實現(xiàn)鍵盤輸入的措施;三.課程規(guī)定1.仔細閱讀有關(guān)偽指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的內(nèi)容;2.理解運用的INT21H的1號功能實現(xiàn)鍵盤輸入的措施,理解四.環(huán)境PC微機DOS操作系統(tǒng)或Windows操作系統(tǒng)MASM。EXE,LINK。EXE,DEBUG。COM或宏匯編集成環(huán)境"ThisisasampleprogramofkeyboarOdh,Oah,'Pleasestrike21h;顯示"Thisisasamplepal,1bh;1bh字符ESC的Ajejcjb)jaal,61h;61h字符a的ASCIInd;不不小于(CF=1有借位)轉(zhuǎn)向ND原樣顯示al,11011111b;轉(zhuǎn)化為大寫字母subal,20hjmp1.用用文字編輯工具(記事本或EDIT輯工具修改源程序后重新匯編,直至通過。在屏幕上顯示二個相似的字符,但小寫字母被改成大寫。按ESC鍵可返回DOS。若未出現(xiàn)預(yù)期成果,六.學習規(guī)定匯編,連接及調(diào)試時產(chǎn)生的錯誤,其原因及處理措施。七.思索題答:無法顯示出字符。2.把INT21H4CH號功能改為INT20H,行不行?答:不行。通過本次設(shè)計理解匯編語言程序的匯編、運行環(huán)境。懂得了匯編語言的調(diào)試、執(zhí)行的基本措施。但還不純熟,還沒有掌握。對軟件還不熟悉。EXE文獻的生成過程不順利。同步,我也更深一步理解了匯編語言指令的設(shè)計、調(diào)試等。5分支程序一.課程目的1.掌握分支程序的設(shè)計措施;2.掌握運用DEBUG修改參數(shù)、檢查成果的措施;3.熟悉匯編語言源程序的編輯、匯編、連接及調(diào)試過程。二.課程內(nèi)容1.編寫一種程序,顯示AL寄存器中的兩位十六進制數(shù)START:MOYAL,0E3H;3E是要輸出的兩位十六進制數(shù)11100011SHRDL,CL;循環(huán)右移四位后AL變?yōu)?0001110MOYAH,4CHPressEnterkeyto2.編寫一種程序,鑒別鍵盤上輸入的字符;若是1-9字符,則顯示之;若為A-Z或a-z字符,均顯示“c”;若是回車字符<CR>(其ASCII碼為0DH),則結(jié)束程序,若為其他字符則不顯示,繼續(xù)等待新的字符輸入。jEend_dec22/pc-四.環(huán)境PC微機五.措施環(huán)節(jié)(1)用DEBUG調(diào)試運行,學會修改AL內(nèi)容的措施;(3)在MS-DOS下運行這兩個.EXE文獻。六.學習規(guī)定七.思索題編寫顯示AX中四位十六進制數(shù)程序,畫出程assumecs:code,ds:dat;字母轉(zhuǎn)換;將輸入的字符合成為4位十六進制數(shù);算法:左移4位,加上新輸入的數(shù);輸出msg2;轉(zhuǎn)換為十進制,并將各位入棧reinput:movax,data;求重新輸入PressEnterkeytocontinue..-(2)顯示鍵入字符程

溫馨提示

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

評論

0/150

提交評論