Soluções do desafio da aula 10 #18
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Escreva nos comentários o código da sua implementação.
Eu criei uma subrotina para fazer a impressão dos argumentos e usei echo_str nela.
Estou usando rcx como índice para iterar pelos argumentos, e como a syscall write manipula rcx no retorno da chamada, faço um push/pop de rcx antes e depois da impressão.
O deslocamento do lea é de 16, pq na chamada da subrotina rsp retrocede na pilha.
Minha versão ficou bem parecida com os códigos disponibilizados, mas mudei alguns registradores no processo de reescrever do zero pra fixar o aprendizado.
Na
_start
usei or10
como contador, pois orcx
era alterado em outras sub-rotinas. Criar o contador usandopush
ainda me dá nó na cabeça pelo fato que isso altera orsp
, então por enquanto ficou assim :)Teste na linha de comando:
@leandrossantos @morsoni @NRZCode, obrigado pelas suas soluções! Estudem suas abordagens, por favor, para ajudar a turma na aula.