Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1153 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  [TASM] Help Noob

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[TASM] Help Noob

n°993826
arsenik11
Posté le 25-02-2005 à 19:54:52  profilanswer
 

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 ?
 
2) Comment affecter un chiffre à une variable ?
( genre mov mavar, 1 )
 
3) Enfin comment afficher cette variable à l'ecran ( grace à l'interuption 21h si possible ... )
 
Merci d'avance !  
PS : Ce forum est génial, j'y ai plus appris en 5 min que 2h sur d'autre genre CS, ils sont super mais pas pour l'ASM ( encore moin le 16 bits )

mood
Publicité
Posté le 25-02-2005 à 19:54:52  profilanswer
 

n°993947
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 25-02-2005 à 22:26:31  profilanswer
 

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)
 

arsenik11 a écrit :


2) Comment affecter un chiffre à une variable ?
( genre mov mavar, 1 )


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)
n°993996
arsenik11
Posté le 25-02-2005 à 23:29:31  profilanswer
 

Pour la conversion, j'ai trouvé c'est super simple ( X + 48 ).
Mais mon code m'affiche plein de caractère de m**de avec des BEEP ...
 
Voici mon code :
 
; Directives d'assemblage
; ------------------------------
.386
code segment use16
assume cs:code, ds:code, ss:code
 
org 100h
; -------------------------------
 
debut:
 
push dx
 
mov dx, 48
 
mov ah, 09h
mov dx, offset nb
int 21h
 
pop dx
 
; Fermeture du programme
; ------------------------------
ret
 
; Déclaration de la variable
nb dw ?
 
code ends
end debut
; -------------------------------
 
Merci pour ces préieuses infos.
++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  [TASM] Help Noob

 

Sujets relatifs
Help add new => update[HELP] Connexion a une base de donnees access sous VB.NET
[c#][Noob] Un peu de tout sur les FormHelp !!
Help, ajouter une news.erreur et bug d'un chat java (misscara) help!!
Erreur MySQL Illegal mix of collations, Help me please !!help php liste déroulante via mysql
Help Me ![javascript & php] marche pas help !!!
Plus de sujets relatifs à : [TASM] Help Noob


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR