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 + -
显示快捷键?