Я пытаюсь сравнить две строки в простой ассемблерной программе, но по какой-то причине она никогда не переходит на заданный пункт назначения, но переход при равенстве работает нормально, если я поставлю 5 в eax и ebx
, которые я используюNASM как компилятор
SECTION .bss
SECTION .data
EatMsg: db "Eat at Joe's",10
EatLen: equ $-EatMsg
Input: times 100 db 0
ok: db "ok"
oklen: equ $-ok
TastyMsg: db "Its tazty",10
TastyLen: equ $-TastyMsg
SECTION .text
global _start
_start:
nop
mov eax,4
mov ebx,1
mov ecx,EatMsg
mov edx,EatLen
int 80H
mov eax,3
mov ebx,0
mov ecx,Input
mov edx,100
int 80H
mov eax,Input
mov ebx,ok
cmp eax,ebx
je tasty
mov eax,1
mov ebx,0
int 80H
tasty:
mov eax,4
mov ebx,1
mov ecx,TastyMsg
mov edx,TastyLen
int 80H
mov eax,1
mov ebx,0
int 80H