ASM

liste des instructions

jmp   : jump à un label

 

mov   : déplace une valeur dans un registre

 

cmp   : compare 2 éléments

 

je       : jump quand 2 opérand A & B sont égaux

 

pop    : récupère ce qu'il y a dans la stack

 

inc      : incrémente

 

sub     : soustrait

strlen

.globl strlen
.intel_syntax noprefix

strlen:
        push rbp
        mov rbp, rsp
        mov rcx, 0

loop:
        cmp byte ptr [rdi + rcx], 0
        je leave
        inc rcx
        jmp loop

leave:
        mov rax, rcx
        pop rbp
        ret

rbp / rsp : ancienne et nouvelles adresses de la stack

rdi : registre qui contient le 1er parametre

Made with Slides.com