版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實驗一:編寫程序,比較兩個字符串STRING1和STRING2所含的字符是否相同,若字符相同則顯示“Match”,否則顯示“No Match”參考程序:DATA SEGMENTSTRING1 DB 'HAPPY ASM'LEN EQU $-STRING1STRING2 DB 'HAPPY ASM'MESSAGE1 DB 'MATCH',0DH,0AH,'$'MESSAGE2 DB 'NO MATCH',0DH,0AH,'$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,D
2、S:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,STRING1LEA DI,STRING2MOV CX,LENCOMPARE:MOV AL,SIMOV BL,DICMP AL,BLJNE DISMATCHINC SIINC DILOOP COMPAREMATCH:LEA DX,MESSAGE1JMP DISPDISMATCH:LEA DX,MESSAGE2DISP: MOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START實驗二:編寫程序,從鍵盤輸入一串字符,以$或回車結(jié)束,將其中的
3、小寫字母轉(zhuǎn)變?yōu)榇髮懽帜?,其余字符不做轉(zhuǎn)換,原樣輸出,結(jié)果顯示在屏幕上。參考程序:DATA SEGMENTBUF DB 50 DB ? DB 50 DUP(?)INPUTSTRING DB 'PLEASE INPUT A STRING:','$'OUTPUTSTRING DB 'OUTPUTSTRING IS:','$'ENTERSTRING DB 0DH,0AH,'$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA D
4、X,INPUTSTRINGMOV AH,09HINT 21HLEA DX,BUFMOV AH,0AHINT 21HLEA DX,ENTERSTRINGMOV AH,09HINT 21H LEA BX,BUFADD BX,2NEXT1:MOV AL,BXINC BXCOMPARE:CMP AL,24H JZ DISP CMP AL,61H JB NEXT1 CMP AL,7AH JA NEXT1 SUB AL,20H MOV BX-1,AL JMP NEXT1DISP:LEA DX,OUTPUTSTRING MOV AH,09H INT 21H LEA DX,BUF+2 MOV AH,09H I
5、NT 21H MOV AH,4CH INT 21HCODE ENDSEND START實驗三:利用子程序方法編寫程序,設(shè)有10個無符號數(shù)的字節(jié)序列,查找該序列中的最大值和最小值,并把結(jié)果顯示在屏幕上。參考程序1:(針對一位10進制數(shù))STACK SEGMENT STACKDW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENTBUF DB 00H,01H,02H,03H,04HDB 05H,06H,07H,08H,09HCOUNT EQU $-BUFENTERSTRING DB 0DH,0AH,'$'MAXSTRING DB '
6、;THE MAXIMUN NUMBER IS:','$'MINSTRING DB 'THE MINIMUN NUMBER IS:','$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SP,TOPMOV SI,OFFSET BUFMOV CX,COUNTCALL BRANCHPUSH AXLEA DX,MAXSTRINGMOV AH,09HINT 21HPOP AXMOV DL,A
7、HADD DL,30HPUSH AXMOV AH,02HINT 21HLEA DX,ENTERSTRINGMOV AH,09HINT 21HLEA DX,MINSTRINGMOV AH,09HINT 21HPOP AXMOV DL,ALADD DL,30HMOV AH,02HINT 21HMOV AH,4CHINT 21HBRANCHPROC NEARJCXZ NEXT4PUSH SIPUSH CXPUSH BXMOV BH,SIMOV BL,BHCLDNEXT1:LODSBCMP AL,BHJBE NEXT2MOV BH,ALJMP NEXT3NEXT2:CMP AL,BLJAE NEXT3
8、MOV BL,ALNEXT3:LOOP NEXT1MOV AX,BXPOP BXPOP CXPOP SINEXT4:RETBRANCHENDPCODE ENDS END START參考程序二:(針對兩位十六進制數(shù)或無符號數(shù))STACK SEGMENT STACKDW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENTBUF DB 0FFH,55H,33H,44H,54HDB 45H,46H,47H,48H,1AHCOUNT EQU $-BUFENTERSTRING DB 0DH,0AH,'$'MAXSTRING DB 'THE
9、 MAXIMUN NUMBER IS:','$'MINSTRING DB 'THE MINIMUN NUMBER IS:','$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SP,TOPMOV SI,OFFSET BUFMOV CX,COUNTCALL BRANCHMOV DX,AXPUSH DXLEA DX,MAXSTRINGMOV AH,09HINT 21HPOP DXMOV
10、 AL,DHPUSH DXCALL DISPGAO4POP DXMOV AL,DHPUSH DXCALL DISPDI4LEA DX,ENTERSTRINGMOV AH,09HINT 21HLEA DX,MINSTRINGMOV AH,09HINT 21HPOP DXMOV AL,DLPUSH DXCALL DISPGAO4POP DXMOV AL,DLCALL DISPDI4MOV AH,4CHINT 21HBRANCHPROC NEARJCXZ NEXT4PUSH SIPUSH CXPUSH BXMOV BH,SIMOV BL,BHCLDNEXT1:LODSBCMP AL,BHJBE NE
11、XT2MOV BH,ALJMP NEXT3NEXT2:CMP AL,BLJAE NEXT3MOV BL,ALNEXT3:LOOP NEXT1MOV AX,BXPOP BXPOP CXPOP SINEXT4:RETBRANCHENDPDISPDI4PROC NERR ;低四位AND AL,0FHMOV DL,ALCMP DL,9JLE NUM1ADD DL,7NUM1:ADD DL,30HMOV AH,02HINT 21HRETDISPDI4 ENDPDISPGAO4PROC NERR ;高四位SAR AL,4AND AL,0FHMOV DL,ALCMP DL,9JLE NUM2ADD DL,7
12、NUM2:ADD DL,30HMOV AH,02HINT 21HRETDISPGAO4 ENDPCODE ENDS END START實驗四:8255交通燈參考程序:MY8255_A EQU 288H ;8255的A口地址MY8255_B EQU 289H ;8255的B口地址MY8255_C EQU 28AH ;8255的C口地址MY8255_MODE EQU 28BH ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT LA DB ? ;定義數(shù)據(jù)變量LB DB ?DATA ENDSCODE SEGME
13、NT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;定義8255工作方式 MOV AL,80H ;工作方式0,A口和B口為輸出 OUT DX,ALL1: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),1組綠燈亮,2組紅燈亮 MOV AL,24H OUT DX,AL CALL DALLY1 MOV CX,05HL2: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),1組黃燈亮,2組紅燈亮 MOV AL,44H OUT DX,AL CALL DALLY2 MOV DX,MY8255_A ;寫A
14、口發(fā)出的數(shù)據(jù),1組黃燈滅,2組紅燈亮 MOV AL,04H OUT DX,AL CALL DALLY2 LOOP L2L3: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),1組綠燈亮,2組紅燈亮 MOV AL,81H OUT DX,AL CALL DALLY1 MOV CX,05HL4: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),1組黃燈亮,2組紅燈亮 MOV AL,82H OUT DX,AL CALL DALLY2 MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù),1組黃燈滅,2組紅燈亮 MOV AL,80H OUT DX,AL CALL DALLY2 LOOP L4L5:
15、 MOV AH,01H ;判斷是否有按鍵按下,調(diào)用功能號1 INT 16H ;ROM BIOS 功能調(diào)用 JZ L1 ;無按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H ;結(jié)束程序退出; INT 21H ;DOS 系統(tǒng)功能調(diào)用DALLY1 PROC NEAR ;軟件延時子程序,東西方向紅燈亮,南北方向綠燈亮 PUSH CX PUSH DI MOV CX,3FFHY1: MOV DI,9000HX1: DEC DI JNZ X1 LOOP Y1 POP DI POP CX RETDALLY1 ENDPDALLY2 PROC NEAR ;軟件延時子程序,黃燈閃爍(即亮與滅)的時間
16、間隔, PUSH CX PUSH DI MOV CX,3FHY2: MOV DI,9000HX2: DEC DI JNZ X2 LOOP Y2 POP DI POP CX RETDALLY2 ENDPCODE ENDS END START參考程序2:流水燈MY8255_A EQU 288H ;8255的A口地址MY8255_B EQU 289H ;8255的B口地址MY8255_C EQU 28AH ;8255的C口地址MY8255_MODE EQU 28BH ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGM
17、ENT LA DB ? ;定義數(shù)據(jù)變量DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;定義8255工作方式 MOV AL,80H ;工作方式0,A口和B口為輸出 OUT DX,AL MOV CX,0FFFFH MOV BL,80HL1: MOV DX,MY8255_A ;寫A口發(fā)出的數(shù)據(jù) MOV AL,BL OUT DX,AL CALL DALLY1 ROR BL,1 LOOP L1QUIT: MOV AX,4C00H ;結(jié)束程序退出 INT 21H ;DO
18、S 系統(tǒng)功能調(diào)用DALLY1 PROC NEAR ;軟件延時子程序,東西方向紅燈亮,南北方向綠燈亮 PUSH CX PUSH DI MOV CX,3FHY1: MOV DI,9000HX1: DEC DI JNZ X1 LOOP Y1 POP DI POP CX RETDALLY1 ENDPCODE ENDS END START實驗五:8254一赫茲方波輸出參考程序:MY8254_COUNT0 EQU 280H ;8254計數(shù)器0端口地址MY8254_COUNT1 EQU 281H ;8254計數(shù)器1端口地址MY8254_COUNT2 EQU 282H ;8254計數(shù)器2端口地址MY8254_
19、MODE EQU 283H ;8254控制寄存器端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,37H ;計數(shù)器0,方式3 OUT DX,AL MOV DX,MY8254_COUNT0 ;裝入計數(shù)初值 MOV AL,00 ;1000分頻 OUT DX,AL MOV AL,10 OUT DX,AL MOV DX,MY8254_MODE ;初始化8254工作方式 MOV AL,77H ;計數(shù)器1,方式3 OUT D
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年一線城市二手房買賣合同模板(三篇)
- 2025年度凈化水設(shè)備租賃與水質(zhì)改善服務(wù)合同
- 2025年度城市軌道交通勘察設(shè)計施工勞務(wù)分包合同(綠色出行)
- 2025年度農(nóng)業(yè)貸款合同模板下載
- 2025年度國有企業(yè)混合所有制改革股權(quán)轉(zhuǎn)讓合同樣本-@-1
- 2025年光伏農(nóng)業(yè)一體化項目施工合同范本
- 2025年度光伏發(fā)電項目儲能系統(tǒng)集成合同
- 2025年度建筑景觀設(shè)計施工一體化合同
- 2025年度綠色建筑項目節(jié)能改造合同
- 2025年度影視制作借款居間服務(wù)合同
- JT-T-1004.1-2015城市軌道交通行車調(diào)度員技能和素質(zhì)要求第1部分:地鐵輕軌和單軌
- (高清版)WST 408-2024 定量檢驗程序分析性能驗證指南
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- DB11∕T 2035-2022 供暖民用建筑室溫?zé)o線采集系統(tǒng)技術(shù)要求
- 《復(fù)旦大學(xué)》課件
- 針灸與按摩綜合療法
- 煤礦井下安全避險六大系統(tǒng)建設(shè)完善基本規(guī)范
- Photoshop 2022從入門到精通
- T-GDWJ 013-2022 廣東省健康醫(yī)療數(shù)據(jù)安全分類分級管理技術(shù)規(guī)范
- 校本課程生活中的化學(xué)
- DB43-T 2775-2023 花櫚木播種育苗技術(shù)規(guī)程
評論
0/150
提交評論