Salut à tous,
Je suis archi-nouveau en assembleur, et je suis un tutoriel de ce site, concernant le GNU as. ( https://asm.developpez.com/cours/gas/ )
Mais lors de ma lecture, j'ai buté sur un point (c'est le cas de la dire).
Voici le code "Hello world!" :
Et voici la ligne qui me pose problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 .data msg : .asciz "Hello, World !\n" len = . - msg .bss .text .global _start _start : movl $msg,%ecx movl $len,%edx movl $1,%ebx movl $4,%eax int $0x80 # appel système exit : movl $0,%ebx movl $1,%eax int $0x80
Voilà ce que je lis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part len = . - msg
"taille chaîne caractères est égale à l'adresse suivant son dernier caractère moins la chaîne de caractère."
Je sais que c'est erroné, mais comment le lire ? Comme ça ?
"taille chaîne caractères est égale à l'adresse suivant son dernier caractère moins l'adresse du premier octet de la chaîne."
En gros, si mon message commence à l'adresse 4 et finit à l'adresse 8, je fais taille = 9 - 4 ?
Partager