1、MATCH! MISMAT DB 0DH,0AH,NO MATCH! LEN1 DB 20 STRING1 DB 20 DUP(?) LEN2 DB 20 STRING2 DB 20 DUP(?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FAR MOV AX,DATA MOV DS,AX MOV ES,AX MOV AH,09H MOV DX,OFFSET INPUT1 INT 21H MOV AL,LEN1 MOV BX,OFFSET STRING1 MOV BX,AL MOV AH,0AH MOV DX,OFF
2、SET STRING1 CALL CRLF MOV DX,OFFSET INPUT2 MOV AL,LEN2 MOV BX,OFFSET STRING2 MOV DX,OFFSET STRING2 CLD LEA SI,STRING1 LEA DI,STRING2 MOV CX,5 REPE CMPSB JNE NOMAT MOV AH,9 MOV DX,OFFSET MAT INT 21H JMP EXITNOMAT:MOV AH,9 LEA DX,MISMATEXIT: MOV AH,4CHCRLF PROC NEAR MOV DL,0DH MOV AH,2 MOV DL,0AHRETCR
3、LF ENDP MAIN ENDPCODE ENDSEND MAIN流程图: .任务2(具体题目要求)将键盘输入的小写字母转换为大写字母的设计为了解小写字母和大写字母在计算机内的表示方法,并学习如何进行转换。编写程序,接收键盘字符,并将其中的小写字母转变为大写字母,然后显示在屏幕上。CRLF MACRO MOV AH,02HENDMINPUT1 DB 100 DB 0 DB 100 DUP(MES1 DB Please Input a String:MES2 DB The Output Is:START:TISHI: MOV DX,OFFSET MES1INPUT: CRLF MOV CX,0
4、0H MOV CL,INPUT1+1 LEA SI,INPUT1+2 NEXT: CMP BYTE PTR SI,a JB CONTz JA CONT SUB BYTE PTR SI,20HCONT: INC SI LOOP NEXTTISHI1:MOV AH,09H MOV DX,OFFSET MES2OUTPUT:LEA DX,INPUT1+2 END START任务3(具体题目要求)键盘输入数据并显示的设计为掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。编写程序,将键盘接收到的四位十六进制数据转换为等值的二进制数,再显示在终端上。 CRLF MACRO MES
5、1 DB Please Input The number: MES2 DB The Result Are:MOV AX,DATA MOV DX, OFFSET MES1 MOV BX,0 MOV CX,4 mov Ah,07H CMP AL,48 JB INPUT CMP AL,57 JNA TRANS CMP AL,97 JB INPUT CMP AL,102 jA INPUT JMP ENGTRANS : MOV DL,AL SUB AL,30H JMP FBIENG: SUB AL,57H FBI: CBW XCHG AX,BX MOV DX,16 MUL DX ADD BX,AX LO
6、OP INPUTDISP: LEA DX,MES2 MOV CX,16BINARY :TEST BX,8000H JNZ XONE MOV DL,0 JMP NEXTXONE:l SHL BX,1 LOOP BINARY MAIN ENDP END START任务4(具体题目要求)为掌握字符和数据的显示方法。编写程序,先显示信息:INPUT STRING,THE END FLAG IS $,再接收字符。如为0-9,则计数器加1,并显示数据;如为非数字,则直接显示,但不计数。CRLF MACRO MES DB INPUT STRING,THE END FLAG IS$!The Data Nunm
7、ber Count Is: NUM DB 0 LEA DX,MES MOV Ah,01H CMP AL, JZ DISP CMP AL,48 JB NEXT CMP AL,57 JA NEXT INC NUM JMP INPUT LEA DX,MES1 MOV AL,NUM MOV BL,AL MOV CL,4 ROL AL,CL AND AL,0FH ADD AL,30H CMP AL,39H JBE K1 ADD AL,7K1: MOV DL,AL AND BL,0FH ADD BL,30H CMP BL,39H JBE K2 ADD BL,7K2: MOV DL,BL H任务5(具体题目
8、要求)INPUT STRING,THE END FLAG IS$,再接收字符。如为0-9,则计数器加一,并显示数据;Please Input A Number,Press C To Exit:,The Input Is Not A Number,Please Input Again: MOV DX, OFFSET MES L3: MOV AH,01H C JE EXIT CMP AL,30H JB L2 JA L2 AND AL,0FH CMP AL,0 JE EXITL1: MOV DL,07H CALL DELAY DEC BL JNZ L1 JMP L3L2: MOV DX, OFFSET MES1 DELAY PROC NEAR MOV DX ,02FFFH MOV AX,0FFFFH DEC AX NOP JNZ K1 DEC dx JNZ K2 RET DELAY ENDP三、小结
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1