[汇编] 比较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.
复制代码
相关文章
【原创】演示判断一个字符串是否为另一字符串的子串的函数的汇编源程序
【原创】演示判断一个字符串是否为另一字符串的子串的函数的汇编源程序
|
6月前
|
存储 自然语言处理 C语言
SDUTACM小C语言--词法分析程序
SDUTACM小C语言--词法分析程序
|
6月前
|
存储 编译器 C++
【汇编】处理字符问题
【汇编】处理字符问题
115 2
【汇编】处理字符问题
|
存储
5.3 汇编语言:字符串操作指令
本章将深入研究字符串操作指令,这些指令在汇编语言中具有重要作用,用于处理字符串数据。我们将重点介绍几个关键的字符串操作指令,并详细解释它们的功能和用法。通过清晰的操作示例和代码解析,读者将了解如何使用这些指令进行字符串比较、复制、填充等常见操作。我们还将探讨不同指令之间的区别,并提供实际的示例程序,展示字符串操作指令在实际场景中的应用。通过学习本章,读者将能够拓展汇编技能,为处理字符串数据提供高效而精确的解决方案。
211 0
|
6月前
|
存储 C语言
C语言字符输出函数
C语言字符输出函数
65 0
|
监控 编译器 C语言
【C语言】字符串+注释
本文简单的介绍了C语言的字符串的基本概念及和注释,可以为小白打下坚实的C语言基础,加油,成为更好的自己。
|
存储 编译器 C语言
不会转换成本地代码的伪指令及汇编语言的语法
不会转换成本地代码的伪指令及汇编语言的语法
103 0
|
C语言
C语言输出字符串
C语言标准函数库中 printf 函数和 puts 函数都可以输出字符串,但各有优点和缺点。我们综合两者的优点,设计一个函数来输出字符串。说明:str 为字符串的起始地址。函数将输出 str 所指示的字符串,不自动换行。函数值为输出字符的数目。
197 0
|
区块链 C语言 网络协议
|
Android开发 Python
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
225 0