[汇编] 比较2个字符串是否相等

简介:


 

复制代码
 1 ; multi-segment executable file template.
 2 
 3 data segment
 4     STRING DB 'SPACE EXPLORERS INC'
 5     PRLINE DB 'SPACE EXPLORERS INCE'
 6     LAST   DB ' '  
 7     same   DB 'MATCH$'
 8     nsame  DB 'NO MATCH$'
 9 ends
10 
11 stack segment
12     dw   128  dup(0)
13 ends
14 
15 code segment
16 start:
17 ; set segment registers:
18     mov ax, data
19     mov ds, ax
20     mov es, ax
21 
22     ; add your code here 
23     mov cx,PRLINE-STRING        ;先判断长度,长度不相等直接不匹配
24     cmp cx,LAST-PRLINE
25     jnz NEQUAL
26      
27     lea si,STRING               ;长度相等则逐个匹配
28     mov di,offset PRLINE
29     cld
30     rep cmpsb
31     jz  EQUAL
32     jnz NEQUAL
33     
34     EQUAL:                      ;输出结果
35     lea dx,same 
36     jmp NEXT 
37     NEQUAL:
38     lea dx,nsame
39     NEXT:
40     mov ah, 9
41     int 21h        ; output string at ds:dx
42     
43     ; wait for any key....    
44     mov ah, 1
45     int 21h
46     
47     mov ax, 4c00h ; exit to operating system.
48     int 21h    
49 ends
50 
51 end start ; set entry point and stop the assembler.
复制代码
相关文章
|
4月前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
【原创】演示判断一个字符串是否为另一字符串的子串的函数的汇编源程序
【原创】演示判断一个字符串是否为另一字符串的子串的函数的汇编源程序
5.3 汇编语言:字符串操作指令
本章将深入研究字符串操作指令,这些指令在汇编语言中具有重要作用,用于处理字符串数据。我们将重点介绍几个关键的字符串操作指令,并详细解释它们的功能和用法。通过清晰的操作示例和代码解析,读者将了解如何使用这些指令进行字符串比较、复制、填充等常见操作。我们还将探讨不同指令之间的区别,并提供实际的示例程序,展示字符串操作指令在实际场景中的应用。通过学习本章,读者将能够拓展汇编技能,为处理字符串数据提供高效而精确的解决方案。
|
C语言 C++
C语言/关于字符和字符串的库函数
C语言/关于字符和字符串的库函数
|
9月前
|
存储 编译器 C++
【汇编】处理字符问题
【汇编】处理字符问题
151 2
【汇编】处理字符问题
|
9月前
|
存储 C语言
C语言字符输出函数
C语言字符输出函数
114 0
|
存储 编译器 C语言
不会转换成本地代码的伪指令及汇编语言的语法
不会转换成本地代码的伪指令及汇编语言的语法
119 0
|
人工智能 编译器 数据处理
|
存储 机器学习/深度学习 小程序
汇编-回顾篇(下)
汇编-回顾篇
135 0
|
存储 安全 Unix
汇编-回顾篇(上)
汇编-回顾篇
136 0