Assembleur x86
Bonjour,
je ne comprend pas cette directive :
L1 db "w","o","r","d",o
Pourquoi se termine-t-elle par o?
definit-elle 4 ou 5 octets?
merci
je ne comprend pas cette directive :
L1 db "w","o","r","d",o
Pourquoi se termine-t-elle par o?
definit-elle 4 ou 5 octets?
merci
Configuration: Windows Vista Firefox 2.0.0.14
1 réponse
-
ModérateurLe 0 (zéro) final correspond au terminateur d'une chaîne de caractère C.
Je suppose que ta ligne est extraite d'un module qui sera asssemblé pouur éventuellement être linké avec un programme en C.
voir par exemple :
https://www.commentcamarche.net/contents/118-langage-c-les-chaines-de-caracteres
Johan-
-
Modérateur@gilles81Salut,
Non ce n'est pas necessaire, d'ailleurs ce sont des langages de nature très différentes.
Mais pour en revenir aux chaines de caractères, il y a plusieurs standards pour définir une fin de chaine de caractère, le 0 est utilisé en C et il est majoritairement adopté un peu partout. -
@gilles81slt
g étudier le langage assembleur dans un module l'anné derniere ce n'été pas mon langage préféré mais bon je sais que le 0 ne correspond pas au caractére de fin de chaine car le caractére de fin de chaine en ASSEMBLEUR EST "$" voila donc soi le 0 est un caracétre comme "w" de votre chaine implique erreur de syntaxe -
Modérateur@bibiyainfoSalut,
Ca c'est encore un autre convention. Ca pose un problème quand tu veux utiliser le caractère dollard par exemple. -
Modérateur@bibiyainfoMouais dans une vieille version du dos PC/M$. int 21h foncttion 09n.
Est-ce de la nostalgie ou du masoschisme? J'ai retrouvé c cela dans les tréfonds de ma mémoire.
http://www.delorie.com/djgpp/doc/rbinter/id/73/25.html
Johan
-