section .data
positive_msg db "Positive!", 10, 0 ; Message for positive number, newline, null-terminated
negative_msg db "Not positive!", 10, 0 ; Message for negative number, newline, null-terminated
section .text
global _start
_start:
; Example: Check if the number -5 is positive
mov rax, -5 ; Load the number to check into rax
cmp rax, 0 ; Compare rax with 0
jg positive_case ; Jump to positive_case if rax is greater than 0 (positive)
; Negative or zero case
; Print "Not positive!"
mov rax, 1 ; System call number for write
mov rdi, 1 ; File descriptor 1 (stdout)
mov rsi, negative_msg ; Address of the negative message
mov rdx, 14 ; Length of the negative message (including newline and null)
syscall
positive_case:
; Print "Positive!"
mov rax, 1 ; System call number for write
mov rdi, 1 ; File descriptor 1 (stdout)
mov rsi, positive_msg ; Address of the positive message
mov rdx, 10 ; Length of the positive message (including newline and null)
syscall
; Exit the program
mov rax
, 60 ; System call number
for exit xor rdi, rdi ; Exit code 0
syscall
c2VjdGlvbiAuZGF0YQogICAgcG9zaXRpdmVfbXNnIGRiICJQb3NpdGl2ZSEiLCAxMCwgMCAgOyBNZXNzYWdlIGZvciBwb3NpdGl2ZSBudW1iZXIsIG5ld2xpbmUsIG51bGwtdGVybWluYXRlZAogICAgbmVnYXRpdmVfbXNnIGRiICJOb3QgcG9zaXRpdmUhIiwgMTAsIDAgOyBNZXNzYWdlIGZvciBuZWdhdGl2ZSBudW1iZXIsIG5ld2xpbmUsIG51bGwtdGVybWluYXRlZAoKc2VjdGlvbiAudGV4dAogICAgZ2xvYmFsIF9zdGFydAoKX3N0YXJ0OgogICAgOyBFeGFtcGxlOiBDaGVjayBpZiB0aGUgbnVtYmVyIC01IGlzIHBvc2l0aXZlCiAgICBtb3YgcmF4LCAtNSAgOyBMb2FkIHRoZSBudW1iZXIgdG8gY2hlY2sgaW50byByYXgKICAgIAogICAgY21wIHJheCwgMCAgIDsgQ29tcGFyZSByYXggd2l0aCAwCiAgICBqZyBwb3NpdGl2ZV9jYXNlIDsgSnVtcCB0byBwb3NpdGl2ZV9jYXNlIGlmIHJheCBpcyBncmVhdGVyIHRoYW4gMCAocG9zaXRpdmUpCgogICAgOyBOZWdhdGl2ZSBvciB6ZXJvIGNhc2UKICAgIDsgUHJpbnQgIk5vdCBwb3NpdGl2ZSEiCiAgICBtb3YgcmF4LCAxICAgICAgICAgICAgICAgIDsgU3lzdGVtIGNhbGwgbnVtYmVyIGZvciB3cml0ZQogICAgbW92IHJkaSwgMSAgICAgICAgICAgICAgICA7IEZpbGUgZGVzY3JpcHRvciAxIChzdGRvdXQpCiAgICBtb3YgcnNpLCBuZWdhdGl2ZV9tc2cgICA7IEFkZHJlc3Mgb2YgdGhlIG5lZ2F0aXZlIG1lc3NhZ2UKICAgIG1vdiByZHgsIDE0ICAgICAgICAgICAgICA7IExlbmd0aCBvZiB0aGUgbmVnYXRpdmUgbWVzc2FnZSAoaW5jbHVkaW5nIG5ld2xpbmUgYW5kIG51bGwpCiAgICBzeXNjYWxsCiAgICBqbXAgZXhpdAoKcG9zaXRpdmVfY2FzZToKICAgIDsgUHJpbnQgIlBvc2l0aXZlISIKICAgIG1vdiByYXgsIDEgICAgICAgICAgICAgICAgOyBTeXN0ZW0gY2FsbCBudW1iZXIgZm9yIHdyaXRlCiAgICBtb3YgcmRpLCAxICAgICAgICAgICAgICAgIDsgRmlsZSBkZXNjcmlwdG9yIDEgKHN0ZG91dCkKICAgIG1vdiByc2ksIHBvc2l0aXZlX21zZyAgIDsgQWRkcmVzcyBvZiB0aGUgcG9zaXRpdmUgbWVzc2FnZQogICAgbW92IHJkeCwgMTAgICAgICAgICAgICAgIDsgTGVuZ3RoIG9mIHRoZSBwb3NpdGl2ZSBtZXNzYWdlIChpbmNsdWRpbmcgbmV3bGluZSBhbmQgbnVsbCkKICAgIHN5c2NhbGwKCmV4aXQ6CiAgICA7IEV4aXQgdGhlIHByb2dyYW0KICAgIG1vdiByYXgsIDYwICAgICAgIDsgU3lzdGVtIGNhbGwgbnVtYmVyIGZvciBleGl0CiAgICB4b3IgcmRpLCByZGkgICAgOyBFeGl0IGNvZGUgMAogICAgc3lzY2FsbAo=