Compare commits

...

4 commits

Author SHA1 Message Date
e480dd3bcd link da aula 0 2025-05-28 10:06:01 -03:00
10b1d62301 documentação do nasm 2025-05-28 10:04:29 -03:00
8800a012ea conteúdo da aula 0 2025-05-28 10:03:55 -03:00
805d3dbbff exemplos da aula 0 2025-05-28 10:03:19 -03:00
5 changed files with 1400 additions and 1 deletions

View file

@ -50,7 +50,7 @@ própria, sob os termos da licença [[https://bolha.dev/blau_araujo/pbn/src/bran
| Data | Tópico |
|-------+--------------------------------------------|
| 30/06 | 0. Sobre o curso |
| 30/06 | 0. [[curso/aula-00.org][Introdução à linguagem Assembly (NASM)]] |
| 02/07 | 1. [[curso/aula-01.org][Arquitetura de computadores]] |
| 04/07 | 2. [[curso/aula-02.org][Linguagens de montagem e a compilação]] |
| 07/07 | 3. [[curso/aula-03.org][O formato binário ELF64]] |

1352
curso/aula-00.org Normal file

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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

BIN
docs/nasmdoc-2.16.02.pdf Normal file

Binary file not shown.