15题.asm

来自「这个程序的主要功能是判断两个字符是否相等」· 汇编 代码 · 共 47 行

ASM
47
字号
clrf macro 
  mov dl,0ah
  mov ah,2
  int 21h
  mov dl,0dh
  mov ah,2
  int 21h
endm
data segment
 buff1 db 20,0,20 dup(?)
 buff2 db 20,0,20 dup(?)  
 buff3 db 'match$'
 buff4 db 'no match$'
data ends
code segment
   assume cs:code,ds:data,es:data
begin:
   mov ax,data
   mov ds,ax
   mov es,ax
   lea dx,buff1
   mov ah,0ah
   int 21h  ;输入第一个字符串
   clrf
   lea dx,buff2
   mov ah,0ah
    int 21h  ;输入第二个字符串
    clrf
   lea si,buff1
   add si,2
   lea di, buff2
   add di,2
   mov cx,[si-1]  
   cld      ;赋初值
   repz cmpsb   ; 两个字符串比较
   jz streq
   lea dx,buff4 ; 若不相等显示no match
jmp disp
streq: 
   lea dx,buff3   ; 若相等显示 match
disp:   mov ah,9
   int 21h
   mov ah,4ch ;  回到dos
   int 21h
 code ends
    end begin

⌨️ 快捷键说明

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