I'm just trying to compare 2 values and I think the syntax is correct but it doesn't work, same goes with integer.
%include "asm_io.inc"
segment .data
    msg_fail        db  "wrong", 0
    msg_success     db  "right", 0
    value1          db  "A", 0
    value2          db  "z", 0
segment .bss
    
segment .text
    global  asm_main
asm_main:
    
    enter   0,0
    pusha
    mov eax, [value1]
    
    cmp eax, [value2]
    je next
next:
    mov eax, msg_fail
    call print_string
    
    
    popa
    mov     eax, 0
    leave
    ret
I expect that the program does nothing, since A and z are not equal but it always prints the message. I'm starting to get desperate
 
    