Principe d'Opcode
Présentation du concept d'opcode, instruction élémentaire comprise par le processeur, et illustration de son usage à travers un exemple concret en assembleur x86-64.
Code source en C
Code assembleur correspondant
int add_and_subtract(int A, int B, int C) {
return (A + B) - C;
}; Définition de la fonction add_and_subtract
; En entrée, les arguments A, B et C sont respectivement dans les registres rdi, rsi, et rdx
; Le résultat sera renvoyé dans le registre rax
add_and_subtract:
; On commence par additionner A et B
mov rax, rdi ; On place A dans rax
add rax, rsi ; On additionne B à rax. A ce stade, rax = A + B
; On soustrait ensuite C
sub rax, rdx ; On soustrait C de rax. A ce stade, rax = (A + B) - C
; On a terminé, on retourne à l'appelant. Le résultat est dans rax
retMis à jour