zzzmatch.asm

来自「用汇编程序去判断2个字符串是否match」· 汇编 代码 · 共 68 行

ASM
68
字号
        DATA  SEGMENT
     STRING1  DB        25,0        ;以string1为首地址,先赋值25,0
        STR1  DB        26 DUP(0)   ;str1接着string1
     STRING2  DB        25,0
        STR2  DB        26 DUP(0)
         MAT  DB        'match',13,10,'$'
      NOTMAT  DB        'no match!',13,10,'$'
      INPUT1  DB        13,10,'please enter the string1',13,10,'$'
      INPUT2  DB        13,10,'please enter the string2',13,10,'$'
        DATA  ENDS
 
        CODE  SEGMENT
        MAIN  PROC      FAR
              ASSUME    CS:CODE,DS:DATA,ES:DATA
      START:
              PUSH      DS
              SUB       AX,AX
              PUSH      AX
              MOV       AX,DATA
              MOV       DS,AX
              MOV       ES,AX

              LEA       DX,INPUT1
              MOV       AH,09H
              INT       21H         ;提示输入字符串1

              MOV       AH,0AH
              LEA       DX,STRING1
              INT       21H         ;接收输入的字符串

              LEA       DX,INPUT2
              MOV       AH,09H
              INT       21H         ;提示输入字符串2

              MOV       AH,0AH
              LEA       DX,STRING2
              INT       21H         ;接收输入的字符串


              LEA       SI,STR1
              LEA       DI,STR2
              CLD
              MOV       CX,25       ;输入的内容的偏移地址放入到si和di中

        REPZ  CMPSB
              JZ        MATCH
              LEA       DX,NOTMAT
              JMP       DISMATCH

      MATCH:
              LEA       DX,MAT
              MOV       AH,09
              INT       21H
              RET                   ;匹配


   DISMATCH:
              MOV       AH,09
              INT       21H
              MOV       AH,02H
              MOV       DL,07H
              INT       21H         ;响铃
              RET                   ;不匹配

        MAIN  ENDP
        CODE  ENDS
              END       START

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?