Arvorezinha em amd64
Viva sirs. Aparentemente o pessoal esqueceu-se desta arch por ja haver uma em x86. Este código é essencialmente igual ao do falso, excepto que as chamadas ao kernel são feitas com a instrução syscall em vez de int 0x80. Eis o código:
SECTION .data
star db '*'
newline db 10
SECTION .text
global _start
_start:
mov r8, 5
lea r9, [r8-4]
mov rdx, r9
mov rdi, r9
mov rax, r9
_loop1:
mov rbx, r9
_loop2:
mov rsi, star
syscall
dec rbx
jnz _loop2
inc r9
mov rsi, newline
syscall
cmp r9, r8
jbe _loop1
mov al, 60
dec rdi
syscall
Resultado:
[dcoder@localhost useless]$ make
yasm -f elf64 arvore_amd64.asm
ld arvore_amd64.o -o arvore_amd64
rm *.o
[dcoder@localhost useless]$ ./arvore_amd64
*
**
***
****
*****
[dcoder@localhost useless]$
Sem comentários a “Arvorezinha em amd64”