汇编字符串比较归类.pdfVIP

  • 7
  • 0
  • 约4.77千字
  • 约 4页
  • 2021-11-11 发布于福建
  • 举报
从键盘分别输入两个字符串 (不必等长),然后进行比较, 若两个字符串有相同的字符, 则显示 “MATCH” ,若字符都不相同则显示 “NO MATCH”。 CRLF MACRO MOV AH,2 MOV DL,0DH INT 21H MOV AH,2 MOV DL,0AH INT 21H ENDM S_SHOW MACRO STRING MOV AH,9 MOV DX,OFFSET STRING INT 21H ENDM S_IN MACRO BUFF MOV AH,10 MOV DX,OFFSET BUFF INT 21H ENDM DATA SEGMENT MESS1 DB MATCH,0DH,0AH,$ MESS2 DB NO MATCH,0DH,0AH,$ MESS3 DB INPUT STRING1:,0DH,0AH,$ MESS4 DB INPUT STRING2:,0DH,0AH,$ STR1 DB 100,?,100 DUP(0) STR2 DB 100,?,100 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX S_SHOW MESS3 S_IN STR1 CRLF S_SHOW MESS4 S_IN STR2 CRLF MOV CL,STR1+1 MOV SI,OFFSET STR1+2 AGAIN: MOV AL,[SI] MOV CH, STR2+1 MOV DI,OFFSET STR2+2 NEXT: CMP AL,[DI] JE MA TCH INC DI DEC CH JNZ NEXT INC SI DEC CL JNZ AGAIN S_SHOW MESS2 JMP EXIT MATCH: S_SHOW MESS1 EXIT: MOV AH,01H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 从键盘上输入 4 位十六进制数,将其转换为 16 位二进制数并在显示器上显示出来。要 求输入的数字字符串以回车键结束。如果输入的数字超过 4 个,则以最后输入的 4 个为准。 若按下的键不是十六进制数字字符,则显示出错信息。 C_SHOW MACRO CHAR MOV AH,2 MOV DL,CHAR INT 21H ENDM S_SHOW MACRO STRING MOV AH,9 MOV DX,OFFSET STRING INT 21H ENDM S_IN MACRO BUFF MOV AH,10

文档评论(0)

1亿VIP精品文档

相关文档