匯編語言小程序例子_第1頁
匯編語言小程序例子_第2頁
匯編語言小程序例子_第3頁
匯編語言小程序例子_第4頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1. 編寫統(tǒng)計(jì) AX中 1、 0 個(gè)數(shù)的源程序。 1 的個(gè)數(shù)存入 CH,0 的個(gè)數(shù)存入 CL。CODE SEGMENTASSUME CS:CODESTART: MOV CX, 0MOV DX,17AA1:SUB DX, 1JZ AA3SHL AX, 1JNC AA2INC CHJMP AA1AA2:INC CLJMP AA1AA3:MOV AH,4CHINT 21HCODE ENDSEND START2. 編寫比較兩個(gè)字符串 STRING1和 STRING2所含字符是否完全相同的源程序,若相同則顯示“ MATCH”,若不相同則顯示“ NO MATCH”。程序:DATA SEGMENTR1 DB

2、 'MATCH',0AH,0DHR2 DB 'NO MATCH',0AH,0DHSTRING1 DB 'XXXXX'N1 EQU $-STRING1STRING2 DB 'YYYYY'N2 EQU $-STRING2DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,N1CMP AX,N2JNZ AA1ADD AX,1LEA SI,STRING1LEA DI,STRING2AA2:MOV BL,SIMOV BH,DIINC SII

3、NC DISUB AX,1JZ AA3CMP BL,BHJZ AA2JMP AA1AA3:LEA BX,R1MOV CX,7AA4:MOV DL,BXINC BXMOV AH,2INT 21HLOOP AA4JMP EAA1:LEA BX,R2MOV CX,10AA5:MOV DL,BXINC BXMOV AH,2INT 21HLOOP AA5E: MOV AH,4CH INT 21HCODEENDSEND START3.從鍵盤讀入一個(gè)四位的十六進(jìn)制數(shù),CRT顯示等值的二進(jìn)制數(shù).由于每個(gè)十六進(jìn)制數(shù)位對應(yīng)4 個(gè)二進(jìn)制,所以每讀入一個(gè)十六進(jìn)制位后,即可將其對應(yīng)的4 個(gè)二進(jìn)制位依次輸出。由于數(shù)字 的

4、ASC碼為 30H 39H,字母 a f 與A F的 ASC碼為 61H 66H 與 41H 46H ,因此,如果輸入的字母為數(shù)字,則其低位即為對應(yīng)的二進(jìn)制位;如果輸入的字符為字母或,則需要減,然后通過移位將低位依次輸出。匯編程序如下:DATA SEGMENTMSG1DB'Hex:','$'MSG2DB0DH,0AH,'Binary:','$'COUNT EQU 4BUF DB 4 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS,

5、 AXLEA DX, MSG1MOV AH, 9INT 21HMOV CX, COUNTMOV SI,0INPUT:;通過四次循環(huán)從鍵盤讀入四位十六進(jìn)制數(shù)MOV AH, 1INT 21HMOV BUFSI, ALDEC CXINCSICMP CX, 0JNZ INPUTNEXT3: LEA DX, MSG2MOV AH, 9INT 21HMOV CX, COUNTMOV SI, 0NEXT2: MOV BL, BUFSICMPBL , '9'JBEOK; 讀入的字符轉(zhuǎn)向OK:SUBBL,7; 讀入字符 >=9減 7OK:PUSHCXMOV CL ,4SHL BL, CL;

6、邏輯左移4 位, 低 4 位 à高 4 位MOV CX, 4; 4次循環(huán)將當(dāng)前處理字符的4 位二進(jìn)制輸出NEXT1: MOVDL, '0'SHLBL, 1JNCSKIPINCDLSKIP: MOVAH, 2INT 21HLOOPNEXT1POP CX;INCSILOOPNEXT2 ; 4次循環(huán)將4 位十六進(jìn)制數(shù) , 每位轉(zhuǎn)換為對應(yīng)的4 位二進(jìn)制EXIT: MOV AH,4CHINT21HCODEENDSEND START4. 設(shè)從 STRING開始存放一個(gè)以 $為結(jié)束標(biāo)志的字符串,試編寫把字符串中的字符進(jìn)行分類的源程序,數(shù)字字符送入 NUM開始的內(nèi)存中,大寫字母送入

7、BCHAR開始的內(nèi)存區(qū)中,小寫字母存入 LCHAR開始的內(nèi)存中,其他字符存入 OTHER開始的內(nèi)存區(qū)中。DATA SEGMENTSTRING DB 'abc123ABC','$'N EQU $-STRINGNUM DB N DUP(?)BCHAR DB N DUP(?)LCHAR DB N DUP(?)OTHER DB N DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,STRINGDEC BXLEA SP,BCHARLEA CX,LCHARLEA

8、 DX,OTHERLEA SI,NUMAA1:INC BX5.MOV AL,BX如 , 當(dāng)DX=2A49H時(shí) , 程序執(zhí)行完后,MEM中的4 個(gè)字節(jié)內(nèi)容為39H、 34H、 41H、和32H。答:DATASEGMENTSOURCE DW2A49HMEMDB 4 DUP(?)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA;START:MOVAX,DATAMOVDS,AX;MOVDX,SOURCELEABX,MEM;set the loopMOVCX,4;the loop bodyLB:MOVAX,DXANDAX,000FHCMPAL,10JCAD;ADDAL,7;AD:ADDAL,30HMOVBX,ALINCBX;SHRDX,1SHRDX,1SHRDX,1SHRDX,1LOOPLB;the loop end, return to dosMOVAH,4CHINT21HCODEENDSENDSTART6.下面程序段是實(shí)現(xiàn)從鍵盤輸入 10 個(gè) 1 位 1

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論