🎁Result

logical.asm
sys_write       equ     0x4
sys_read        equ     0x3
sys_exit        equ     0x1
stdin           equ     0x0
stdout          equ     0x1

section .data
        msg1    db      "Enter a number: "
        len1    equ     $-msg1
        msg2    db      "This is even number"
        len2    equ     $-msg2
        msg3    db      "This is odd number"
        len3    equ     $-msg3
section .bss
        number  resd    0x2

section .text
        global  _start
_start:
        ;print string
        mov eax, sys_write
        mov ebx, stdout
        mov ecx, msg1
        mov edx, len1
        int 0x80
        ;input
        mov eax, sys_read
        mov ebx, stdin
        mov ecx, number
        mov edx, 0x1
        int 0x80

        ;process data
        mov eax, [number]
        sub eax, "0"
        and eax, 0x1
        cmp eax, 0x0
        je even_number
        jmp odd_number

        even_number:
        mov eax, sys_write
        mov ebx, stdout
        mov ecx, msg2
        mov edx, len2
        int 0x80
        jmp exit

        odd_number:
        mov eax, sys_write
        mov ebx, stdout
        mov ecx, msg3
        mov edx, len3
        int 0x80
        jmp exit

        exit:
        mov eax, sys_exit
        int 0x80

Last updated