我将两个单词存储在名为first和second的变量中。如何比较每个字符串的字符以查看哪个更大?
section .data
greet: db "Type a word: "
greetL: equ $-greet
section .bss
first: resb 20
second: resb 20
section .text
global _start
_start:
nop
mov eax, 4
mov ebx, 1
mov ecx, greet
mov edx, greetL
int 80H
mov eax, 3
mov ebx, 0
mov ecx, first
mov edx, 20
int 80H
然后我只是做同样的事情来得到第二个字
答案 0 :(得分:0)
我不知道,cmp
我想......
xor ecx, ecx ; index
top
mov al, [first + ecx]
cmp [second + ecx], al
jb first_is_bigger
ja second_is_bigger
cmp al, LF ; LF equ 10
je they_are_equal
inc ecx
jmp top
xor ecx, ecx ; index
top
mov al, [first + ecx]
cmp [second + ecx], al
jb first_is_bigger
ja second_is_bigger
cmp al, LF ; LF equ 10
je they_are_equal
inc ecx
jmp top
那是未经测试的。我最近一直有很多脑胀气 - 最好检查一下。如果讨厌的用户输入超过20个字符,你可能会陷入深深的泥水......