From 805d3dbbff5cf7b88718b6dbb56eb411d1c0830a Mon Sep 17 00:00:00 2001 From: Blau Araujo Date: Wed, 28 May 2025 10:03:19 -0300 Subject: [PATCH] exemplos da aula 0 --- curso/exemplos/00/salve-att.s | 24 ++++++++++++++++++++++++ curso/exemplos/00/salve-intel.asm | 23 +++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 curso/exemplos/00/salve-att.s create mode 100644 curso/exemplos/00/salve-intel.asm diff --git a/curso/exemplos/00/salve-att.s b/curso/exemplos/00/salve-att.s new file mode 100644 index 0000000..e78a205 --- /dev/null +++ b/curso/exemplos/00/salve-att.s @@ -0,0 +1,24 @@ +# salve-att.s +# Montar com: as salve-att.s -o salve-att.o +# Linkar com: ld salve-att.o -o salve-att + + .section .data +msg: + .ascii "Salve, simpatia!\n" +len = . - msg + + .section .text + .global _start + +_start: + # write(1, msg, len) + mov $1, %rax # syscall: write + mov $1, %rdi # stdout + lea msg(%rip), %rsi # endereço da mensagem + mov $len, %rdx # tamanho da mensagem + syscall + + # exit(0) + mov $60, %rax # syscall: exit + xor %rdi, %rdi # status 0 + syscall diff --git a/curso/exemplos/00/salve-intel.asm b/curso/exemplos/00/salve-intel.asm new file mode 100644 index 0000000..0c79b0e --- /dev/null +++ b/curso/exemplos/00/salve-intel.asm @@ -0,0 +1,23 @@ +; salve-intel.asm +; Montar com: nasm -f elf64 salve-intel.asm +; Linkar com: ld salve-intel.o -o salve-intel + +section .data + msg db "Salve, simpatia!", 10 ; 10 = '\n' + len equ $ - msg + +section .text + global _start + +_start: + ; write(1, msg, len) + mov rax, 1 ; syscall número 1: write + mov rdi, 1 ; stdout + mov rsi, msg ; endereço da mensagem + mov rdx, len ; tamanho da mensagem + syscall + + ; exit(0) + mov rax, 60 ; syscall número 60: exit + xor rdi, rdi ; status 0 + syscall