0

我有这个代码:

section .data
   msg1 db "Equal"
   msg1Len equ $ -msg1

   msg2 db "Not equal"
   msg2Len equ $ -msg2

   str1 db "abcde"
   str1Len equ $-str1

   str2 db "abcde"
   str2Len equ $ -str2

section .text
   global _start

_start:
   mov esi,str1
   mov edi,str2
   mov ecx,str2Len+1
   cld
   repe cmpsb
   jecxz equal  ;jumps if equal
            ;if not equal
   mov eax,4
   mov ebx,1
   mov ecx,msg2
   mov edx,msg2Len
   int 80h

   jmp exit

equal:
   mov eax,4
   mov ebx,1
   mov ecx,msg1
   mov edx,msg1Len
   int 80h

exit:
   mov eax,1
   mov ebx,0
   int 80h

我想做的是让它不区分大小写,比如“abcde”仍然等于“Abcde”。但是,它区分大小写。你如何使它不区分大小写?任何帮助将非常感激。

4

1 回答 1

0

一种常见的方法是将两个字符串转换为常见的大小写,例如大写,然后比较它们。如果您不想事先操作字符串,您可以通过将当前检查的字符转换为常见大小写并进行比较来即时操作。查看 ASCII 图表,了解两种字符大小写之间的区别,以便您可以将一种转换为另一种。

于 2013-08-24T05:38:18.060 回答