微機原理與接口技術(shù)指導(dǎo)書-電子科技大學(xué)_第1頁
微機原理與接口技術(shù)指導(dǎo)書-電子科技大學(xué)_第2頁
微機原理與接口技術(shù)指導(dǎo)書-電子科技大學(xué)_第3頁
微機原理與接口技術(shù)指導(dǎo)書-電子科技大學(xué)_第4頁
微機原理與接口技術(shù)指導(dǎo)書-電子科技大學(xué)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

匯編語言試驗指導(dǎo)書電子科技大學(xué)計算機學(xué)院2023年八月18目 錄\l“_TOC_250000“試驗一匯編源程序的上機調(diào)試操作根底訓(xùn)練 2附錄

數(shù)制、碼制和子程序的編程與調(diào)試 6分支程序與循環(huán)程序設(shè)計 10串操作指令及其應(yīng)用程序的設(shè)計與調(diào)試運行 12試驗報告 15試驗一匯編源程序的上機調(diào)試操作根底訓(xùn)練一.試驗?zāi)康模篋EBUG的根本命令及其功能學(xué)習數(shù)據(jù)傳送和算術(shù)運算指令的用法PC機上編輯、匯編、連接、調(diào)試和運行匯編語言程序的過程。二.試驗內(nèi)容:一〕DEBUGDEBUG編語言程序員供給了格外有效的調(diào)試手段。、DEBUGDOSC>DEBUG[d:][path][1][2]其中文件名是被調(diào)試文件的名稱,它須是執(zhí)行文件〔EXE,兩個參數(shù)是運行被調(diào)試文件時所需要的命令參數(shù),在DEBUGDEBUG在啟動DEBUG時,假設(shè)輸入了文件名,則DEBUG程序把指定文件裝入內(nèi)存。用戶可內(nèi)存的內(nèi)容工作,或者用命名命令和裝入命令把需要的文件裝入內(nèi)存,然后再用DEBUG的命令進展修改、顯示和執(zhí)行。、DEBUG匯編命令A(yù),格式為:-A[地址]存放在從指定地址開頭的存儲器中。1〕-U[地址]U322〕-U該命令對指定范圍的內(nèi)存單元進展反匯編,例如:-U04BA:01000108–U04BA:0100L9此二命令是等效的。運行命令G,格式為:-G[=地址1][2[3。。]]其中地址1規(guī)定了運行起始地址,后面的假設(shè)干地址均為斷點地址。1〕逐條指令追蹤:-T[=地址]該命令從指定地址起執(zhí)行一條指令后停下來,顯示存放器內(nèi)容和狀態(tài)值。2〕多條指令追蹤:-T[=地址][值]該命令從指定地址起執(zhí)行n條命令后停下來,n由[值]確定。顯示內(nèi)存單元內(nèi)容的命令D,格式為:-D[地址]或-D[范圍]1〕用給定的內(nèi)容代替指定范圍的單元內(nèi)容:-E地址 內(nèi)容表例如:-E2023:0100 F3“XYZ”8DF3“X“Y“Z”和8D2023:01000104“X“Y“Z”ASCII2〕逐個單元相繼地修改:-E例如:-E100:18E4:010089.78此命令是將原100號單元的內(nèi)容89改為78。78是程序員鍵入的。檢查和修改存放器內(nèi)容的命令R,它有三種方式:RR標志名標志名溢出Overflow〔是/否〕方向Direction〔減量/增量〕置 位復(fù)OVDN位NVUP中斷Interrupt〔允許/屏蔽〕EIDI符號Sign〔負/正〕NGPLZero〔是/否〕ZRNZ關(guān)心進位AuxiliaryCarry〔是/否〕ACNA奇偶Parity〔偶/奇〕PEPO進位Carry〔是/否〕CYNC2〕顯示和修改某個指定存放器內(nèi)容,格式為:-R存放器名例如打入:-RAX應(yīng)如下:AX FIF4:AXF1F4,此時假設(shè)不對其作修改,可按ENTER入修改后內(nèi)容,如:-RBXBX0369:059F則BX內(nèi)容由0369改為059F-RF系統(tǒng)將給出響應(yīng),如OVDNEINGZRACPECY-任意。如OVDNEINGZRACPECY-PONZDINV命名命令N,格式為:-N文件名CS:5CHLW文件裝入內(nèi)存進展調(diào)試或者存盤。裝入命令L,它有兩種功能:-L 地址驅(qū)動器 扇區(qū)號 扇區(qū)數(shù)2〕裝入指定文件,格式為:-L[地址]L,BXCX寫命令W,有兩種格式:-W 地址驅(qū)動器 扇區(qū)號 扇區(qū)數(shù)2〕把數(shù)據(jù)寫入指定文件中:-W [地址]FCBW,BXCXQ但該命令本身并不把在內(nèi)存中的文件存盤,QW?!捕吵绦虻恼{(diào)試與運行編寫程序計算以下表達式:Z=(5X+2Y-7)/2X、YVARX、VARYVARZ三.試驗要求:果的分析等。四.調(diào)試步驟編輯源程序,建立一個以后綴為.ASM的文件.3步。連接目標程序,產(chǎn)生可執(zhí)行程序。DEBUG程序調(diào)試可執(zhí)行程序,記錄數(shù)據(jù)段的內(nèi)容。VARXVARY541052020試驗二數(shù)制、碼制和子程序的編程與調(diào)試一.試驗?zāi)康模?、嫻熟把握編寫匯編語言原程序的根本方法和根本框架。2DEBUG調(diào)試程序。ASCIIASCIIBCDDOS二.試驗內(nèi)容:4〔它對應(yīng)的二進制數(shù)是補碼表示的帶符號數(shù)BCD碼,并在屏幕上顯示出來。三.編程提示:HEXBUF+24個字節(jié)單元中。HEXBUF+1單元中為輸入的數(shù)據(jù)個數(shù)。2ASCII416BX中;(+或-)BCDBUF單元中;4BX中的二進制數(shù)承受前述算法轉(zhuǎn)換為十進制數(shù)〔BCD碼BCDBUF+15個字節(jié)單元中;55BCDASCII碼參考程序:TITLE CONVERTHEXADECIMALTOBCDDATA SEGMENTPROMPT DB“INPUTHEXADECIMAL(4DIGITS):$”HEXBUF DB5,0,5DUP(0)DISP DB0AH,0DHBCDBUF DB6DUP(0),”$”DATA ENDSSTACK1 SEGMENT PARA STACKDW20HDUP(0)STACK1 ENDSCOSEG SEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1HEXBCD:MOVAX,DATAMOVDS,AX;1~4位十六進制數(shù)LEA DX,PROMPT ;顯示提示信息MOV AH,09HINT 21HLEA DX,HEXBUF ;輸入數(shù)據(jù)MOV AH,0AHINT 21H;ASCII16位二進制數(shù)并存入BX中LEASI,HEXBUF+2;取十六進制數(shù)ASCII碼首址MOVBX,0;暫存二進制數(shù)的存放器清零MOVCH,HEXBUF+1;取輸入數(shù)據(jù)個數(shù)HEX1: MOVCMPAL,[SI]AL,”9”;取一個十六進制數(shù)字符JBE NUMB ;小于等于‘9’是數(shù)字符SUB AL,07H ;是字母符NUMB: AND AL,0FHMOV CL,4SAL BX,CLOR BL,ALINC SIDEC CHJNE ;確定十進制數(shù)的符號MOVBCDBUF,”+”TESTBX,8000HJNSPLUS;是正數(shù)MOVBCDBUF,”-”;是負數(shù)NEGBX;求補后變?yōu)樵a;將二進制數(shù)轉(zhuǎn)換為非組合型BCD碼,從二進制;數(shù)高位起,15次加和乘PLUS:MOVCH,0FH ;“加乘”運算的次數(shù)LOP0:SHLBX,1 ;最高位二進制數(shù)送CFCALL ADDIT ;先加1位二進制數(shù)CALL MULTI ;再乘2DEC CHSHLBX,1 ;加最低位二進制數(shù)CALLADDIT;把非組合型BCD碼轉(zhuǎn)換為ASCII碼形式LEADI,BCDBUF+1MOVCX,5LOP1:OR BYTEPTR[DI],30HINCDI;顯示結(jié)果

LOOPLOP1LEADX,DISPMOVAH,09HINT21HMOVAH,4CH;程序完畢INT21H;多字節(jié)BCD1位二進制數(shù)子程序ADDIT PROCLEADI,BCDBUF+5;從低位開頭MOVCL,5 ;取字節(jié)數(shù)ADD1: MOVAL,[DI] ;取BCD碼ADCAL,0 ;加二進制數(shù)位(CF)AAA ;十進制數(shù)運算校正MOV[DI],AL ;存BCD碼DECDIDECCLJNEADD1RETADDIT ENDP;多字節(jié)BCD2子程序MULTIPROCLEADI,BCDBUF+5;從低位開頭MOVCL,5CLCMUL1:MOVAL,[DI];BCD碼ADCAL,AL;2AAA;十進制數(shù)運算校正MOV[DI],AL;存BCD碼DECDIDECCLJNEMUL1RETMULTIENDPCOSEGENDSEND HEXBCD四.試驗要求:果的分析等五.試驗報告:1、程序說明。說明程序的功能、構(gòu)造。2、調(diào)試說明。包括上機調(diào)試的狀況、上機調(diào)試步驟、調(diào)試所遇到的問題是如何解決的,并對調(diào)試過程中的問題進展分析,對執(zhí)行結(jié)果進展分析。3、寫出源程序清單和執(zhí)行結(jié)果。試驗三 分支程序與循環(huán)程序設(shè)計一.試驗?zāi)康?、 把握分支程序的構(gòu)造。2、 把握分支程序的設(shè)計與調(diào)試方法。3、 把握循環(huán)程序設(shè)計與調(diào)試方法4、 把握正確安排與使用存放器。二.試驗內(nèi)容55的數(shù)據(jù)RES1、RES2RES3中。BUFFDB-1,20,3,30,-5,15,100,-54,0,4,78,99,-12,32,3,23,-7,24,60,-51三.試驗要求:果的分析等。四.程序框圖開頭開頭初始化:循環(huán)次數(shù)=20從數(shù)據(jù)緩存中取一數(shù)據(jù)該數(shù)大于5?單元RES1計數(shù)加1該數(shù)小于0?單元RES1計數(shù)加1單元RES2計數(shù)加1循環(huán)次數(shù)小于20?完畢五.試驗報告:1、程序說明。說明程序的功能、構(gòu)造。2、調(diào)試說明。包括上機調(diào)試的狀況、上機調(diào)試步驟、調(diào)試所遇到的問題是如何解決的,并對調(diào)試過程中的問題進展分析,對執(zhí)行結(jié)果進展分析。3、畫出程序框圖。5、 寫出源程序清單和執(zhí)行結(jié)果。試驗四 串操作指令及其應(yīng)用程序的設(shè)計與調(diào)試運行一.試驗?zāi)康纳璐僮髦噶畹母靖袷胶褪褂梅椒ā0盐粘S玫拇僮鞒绦虻脑O(shè)計方法。二.試驗內(nèi)容編制一程序,從鍵盤輸入兩個長度不同的字符串,設(shè)字符串長度小于25個字編程要點:指示顯示信息位置;2.在數(shù)據(jù)段中設(shè)置兩個存放輸入字符串的緩沖區(qū);ASCII碼。符串向緩沖區(qū)后面靠齊,再調(diào)用09HDOS功能調(diào)用即可到達顯示的右對齊。三.試驗要求:果的分析等。四.參考程序:Title字符串右對齊顯示DATA SEGMENTNUM EQU 25PROMPT1 DB 0AH,0DH,‘STRING:’,‘$’PROMPT2 DB 0AH,0DH,‘RIGHT-ADJUSTINGOFSTRING:’,OAH,0DH,‘$’STRING1 DB NUM,0,NUMDUP(‘ ‘),0AH,0DH,‘$’STRING2 DB NUM,0,NUMDUP(‘ ‘),0AH,0DH,‘$’DATA ENDSSTACK1 SEGMENTPARASTACKDW 20HDUP(0)STACK1ENDSCOSEGSEGMENTASSUMECS:COSEG,DS:DATA,SS:STACK1,ES:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVCX,2LEABX,STRING1LOP: LEADX,PROMPT1;顯示輸入字符串提示信息MOVAH,09HINT21HMOV DX,BX ;輸入兩個字符串MOV AH,0AHINT 21HLEA LOOP LOP;字符串右對齊處理LEABX,STRING1+2CALL MOVELEA BX,STRING2+2CALL MOVE;輸出右對齊字符串LEA DX,PROMPT2MOV AH,09HINT 21HLEA DX,STRING1+2MOV AH,09HINT21HLEA DX,STRING2+2MOVAH,09HINT21HMOV AH,4CHINT21H;字符串右對齊處理子程序MOVE PROCXOR CH,CHMOV CL,-1[BX] ;字符串傳送字節(jié)數(shù)MOV SI,CXADDSI,BX ;傳送源串末址DEC SIMOVDI,BXADDDI,NUM-1 ;傳送目的末址STDREP MOVSB ;字符串傳送MOV CX,NUMSUB CL,-1[BX] ;剩余字節(jié)數(shù)MOV AL,‘‘REP STOSB ;剩余字節(jié)填空格RET

溫馨提示

  • 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

提交評論