Bonjour,
je suis entrain d'apprendre l'assembleur et je refais quelques fonction de la libc en asm.
je souhaite refaire la fonction memset avec le prototype suivant
void *memset(void *s, int c, size_t n);
voila ma fonction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [BITS 64]
section .txt
;; déclaration des symboles
global memset
memset:
xor rax, rax ;i = 0
mov r8b, [rdi]
boucle:
mov rdi , rsi
cmp rax, rdx
jz end
inc rdi
inc rax
jmp boucle
end:
ret |
Je ne comprend pas d'ou vient le probleme. la fonction ne fais rien. le pointeur passé en parametre n'est pas memset du tout
pouvez vous m'aider ? merci d'avance
Partager