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]$