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

  FORUM HardWare.fr
  Programmation
  ASM

  taille de la ram

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

taille de la ram

n°1102043
clbrk
Posté le 30-05-2005 à 19:23:51  profilanswer
 

Bonjour!
 
j'essaye d'afficher la taille de la ram dispo en asm en utilisant: int 12h
.je ne dispose que des interruptions BIOS.la valeur est stockée dans ax or quand
j'essaye de l'afficher, y'a rien sauf des espaces.
ou est le soucis?
printf affiche des caractères
 
 
int 12h
mov bp,ax
mov cx,tmp
mov dh,8h
mov dl,0h
call printf
 
merci!!

mood
Publicité
Posté le 30-05-2005 à 19:23:51  profilanswer
 

n°1102748
db__
spécialiste de l'à peu près
Posté le 31-05-2005 à 12:23:57  profilanswer
 

Bonjour
Normalement, quand on utilise des fonctions de librairie, il faut passer les paramètres par la pile. C'est le cas pour linux et je pense aussi pour dos. Il faut donc déclarer une chaine contenant le format "%d\n" en l'occurence, empiler son adresse puis empiler le nombre (ax)
si le printf ne vient pas d'une librairie mais est défini ailleurs, il faut voir comment transmettre les paramètres à cette fonction.
En règle général, il est très risqué de modifier le registre bp qui sert justement souvent de cadre de pile.
Au vu du bout de code présenté, il semblerait que printf est une fonction issu d'un sous programme
que le nombre doit être entré dans le registre bp, qu'il faille un tampon intermédiaire dont l'adresse est en cx que le nombre doit faire 8 caractères ? quand au 0 dans dl ???
Bref il faut soit plus de code, soit dire d'où vient le printf

n°1103375
clbrk
Posté le 31-05-2005 à 20:05:27  profilanswer
 

en fait j'ai booté sur une disquette,donc je ne dispose pas des interruptions DOS.
c'est pour cette raison que "printf" est un sous programme
que j'ai fait (un appel de int 10h (bios)avec affichage de caractère) pour afficher une chaine de caractères.
en fait je souhaitait avoir plus de précisions sur l'utilisation d'interruptions du BIOS comme int 12h qui normalement doit m'afficher la taille de la ram en ko or ici
comme je le décris, je n'ai que des espaces.tout ce qui est en dessous de int 12h sert à initialiser les valeurs de int 10h pour afficher cx=nbr de caracères,dh et dl pour les lignes/colones.

n°1104006
db__
spécialiste de l'à peu près
Posté le 01-06-2005 à 12:35:50  profilanswer
 

Bonjour
Je n'ai jamais utilisé le int 10h car j'écrivais directement en mev vidéo quand je faisais de l'assembleur dos il y a 15 ans.
Pour afficher un nombre, il est nécessaire de le convertir en chaine de caractères auparavant. Est-ce que l'INT 10h fait ça ? (j'en doute) sinon il va considérer le contenu de AX comme le code ascii de 2 caractères ou 1 caractère plus attribut ce qui n'affichera évidement pas le nombre voulu.
ou alors ax est un pointeur sur la chaine à afficher ou ??
Pour savoir si cela vient du int 12h ou du printf, il suffit de charger dans ax une valeur litéral et de la faire afficher par printf et là on sait qui est le coupable.
Je suis pratiquement certain que c'est le printf.

n°1104539
clbrk
Posté le 01-06-2005 à 19:04:51  profilanswer
 

je teste et je te dis ça mais j'en doute car int 10h est censé afficher des caractères "tout con"....
 
 
bref je teste!
 
PS: je programme pas sous DOS

n°1122135
clbrk
Posté le 16-06-2005 à 15:46:50  profilanswer
 

:D
j'ai tjour pas eu le temp de tester....ça arrive! lol


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

  taille de la ram

 

Sujets relatifs
Taille d'une balise div[C] Comment définir un type de donnée binaire de taille variable ?
Comment optimiser la taille des pages web en fonction de la resolution[DLL] programme pour évaluer la taille des fonctions présentes ?
Proc*C et taille maximum d'un tableauC/Proc*C et taille maximum d'un tableau
Taille/Nom d'un fichierCentrage, taille de DIV.
Une taille fixe en CSSfixer la taille d'un texte area
Plus de sujets relatifs à : taille de la ram


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