1

Pour créer un handle en ASM, avant d'appeler la fonction qui le fait faut passer la taille du handle en paramètre...
mais, voulant créer une "liste" de 256 cases d'un octet chacune (numérotées de 0 à 255 quoi), je sais pas si je dois dire que la taille est 255 ou 256!
deuzio : au début du handle y'a sa taille qui est inscrite... (en word ou long?) est-ce qu'elle sera inscrite sur les premières "cases" du handle ou est-ce qu'elle est avant? parce que sinon faudra faire ajouter 2 ou 4 octets à la taille (puisque je sais pas si la taille est en long ou en word).
voilà c'est tout... à l'arrivée, une surprise après le bac avec un petit montage relié à la calc permettant de... allez un indice : pas perdre de thunes ;-)

2

1)256
2)long word, taille non inscrite...
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

3

dis un indice sur le montage...

4

?
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

5

C'est 256.

Il y a effectivement le nombre de word dans le word qui précède le bloc. Mais il n'indique pas la taille exacte : il s'agit plutôt d'une information utilisée par tios pour gérer la liste des handles. Ce n'est pas très conforme d'utiliser cette info.

Si tu passes le paramètre 256, tu auras bien 256 octets de libres. Précise 258 si tu veux sauvegarder la taille exacte du bloc.

6

>2)long word, taille non inscrite...
Non, c'est bien un word, plus précisément sur 15 bits car le bit de poid fort est utilisé pour préciser si le bloc est locké ou non.

7

En fait tu peux dire 255, et ca sera agrandi a ce qu'il faut.
Et puis la taille du handle alloue sera a l'adresse -2 par rapport au debut, au format decrit par JM
Histoire de pas etre d'accord avec tout le monde.

8

bon ben merci ;-)

indice(s) :
émulation...
eeprom...
carte téléphonique...

9

mais ça fait chier pour la taille, je pensais mettre 255 enfin bon ça change pas grand chose.
mais ça veut dire qu'un handle de taille 0 aura aucun octet dedans, et de taille 1 aura 1 octet dedans...
je pensais qu'en fait avec une taille de 0 ça créerait le handle à une certaine adresse, on aurait pas pu incrémenter cette adresse de 1 si on voulait pas sortir du handle, mais que du coup à l'adresse pile du handle y'avait quand même un octet libre...
et du coup avec une taille de 1 ça autoriserait deux octets : celui à l'adresse du handle et celui à l'adresse du handle + 1!

enfin bon si vous êtes bien sûrs de ce que vous dites je le ferai, et de toute façon ça poserait pas de problème si je créais un handle plus gros que ce que je voulais!

10

nan t'a fait ça ??????

11

y'a ça dans ZGuide :

Pour trouver l'adresse (type double mot ) d'un bloc il faut utiliser la
formule suivante :
adresse = tios::Heap + handle * 4
Si le résultat vaut zéro alors l'handle actuel ne correspond pas à un bloc
mémoire.
Sinon vous avez maintenant le pointeur du bloc mémoire voulu, le premier
double mot correspond à la taille du bloc mémoire.

ça dit bien qu'au début du handle y'a un double mot : la taille
mais cette taille alors, elle s'écrit AVANT le handle proprement dit, c'est
à dire en plus des 256 octets ou est-ce que ça prend les 4 premiers octets
du handle, et du coup y'en a plus que 252 de libre?
et dans ce cas on peut l'effacer cette taille ou alors faut en plus ajouter
4 à l'adresse du handle pour pouvoir enfin écrire dessus?

12

Les fonction d'allocation memoire s'arrangent pour te donner la taille que tu as demandé, a l'adresse indiquée

Les 2 octets codant pour la taille sont donc avant l'adresse retourné par HeapDeref ou malloc. (en fait, quand tu demande 256 octet, ca en occupe 258, mais ca te donne l'adresse des 256.

Et si tu demande un taille impaire (255), ca en alloue un de plus (parceque leproc aime pas bien les adresse impaire, et que JM a expilqué que la taille est codé sur 15 octets, donc pour avoir des handles de 65000, il faut en fait supprimer le bit de poid faible, donc la parité).

13

euh, il a dit le bit de poids fort, non?
De toute façon la taille indiquée avant le bloc est comptée en mots, donc forcément la taille est un nombre d'octets paire.

14

Et hop, on ressort le + vieux topic bang
NBox6 - The DynaStat Nolrd Six
If U're silly dont think, it'll kill you !
Just go with the wind, you'll be better.
But be aware, don't cross road or holes.

15

put1 depuis qu'il a l'adsl il a plus ke ça a foutre de remonter les topics le NSPIRIT gringringringringrin
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina