arsenik11 a écrit :
Bonjours, j'ai débuté l'ASM TASM (=> 16 bits ) il y a 2 jours. Lorsque j'essais d'affecter une valeur à une variable, il y a toujours de s messages d'erreur.
1) Comment déclarer un variable non initialisée ( je crois que c'est : bidon db ?, 10, 13, '$' pour afficher des lettre mais je ne suis pas sur ) pour afficher des lettres ?
des chiffre ?
|
déclarer une variable non initialisée se résume à réserver suffisamment d'espace mémoire
dd ? => réserve un dword (32 bits)
db ? => réserve un octet (8 bits)
dw ? => réserve un word (16 bits)
c'est bien
mov variable,1
cette opération écrit la valeur "1" dans l'adresse mémoire pointée par "variable". ceci est toutefois à éviter, il vaut mieux écrire dans un registre que dans la mémoire chaque fois que c'est possible, c'est bien plus performant.
sinon, fais aussi gaffe à la taille de tes variables (évite d'écrire un dword à un endroit où tu as reservé un octet), et au stockage dans la mémoire (little/big endian)
arsenik11 a écrit :
3) Enfin comment afficher cette variable à l'ecran ( grace à l'interuption 21h si possible ... )
|
avec la fonction 9h de l'interruption 21h. par contre, il faut faire gaffe car cette fonction écrit la valeur ASCII, et non la valeur numérique. tu dois donc effectuer une conversion (très simple à faire, je te laisse chercher)
Message édité par Harkonnen le 25-02-2005 à 22:27:47
---------------
J'ai un string dans l'array (Paris Hilton)