bonsoir
j'ai une petite questionne a propos de ce exercice
1) quelle est la différence entre une table de données et une liste de données ?
2) pourquoi travaille avec des adresse $00 a $FF et non pas $0100 et $01FF ?
merci d'avance
bonsoir
j'ai une petite questionne a propos de ce exercice
1) quelle est la différence entre une table de données et une liste de données ?
2) pourquoi travaille avec des adresse $00 a $FF et non pas $0100 et $01FF ?
merci d'avance
1) Je n'avais jamais entendu ces termes , mais l'explication est clair en gros c'est un tableau , en C on écrit un tableau comme ceci tab[32] par exemple.
Sur Wikipédia :
2) il n'y a pas de raison ici , c'est apparemment arbitraire néanmoins je rajouterais que la ram dépend de la machine cible est donc que certaine adresse sont réservé (donc quelque fois il est impossible d'écrire sur l'adresse $00-$FF etc).On peut distinguer, de manière générale, deux types de liste :
les tableaux ;
les listes chaînées.
Bonjour,
Il n'y a visiblement pas de définition rigoureuse ici mais apparemment, on entend par « liste de données » un ensemble de données successives (ici des nombres entiers sur huit bits) mais pas forcément dans l'ordre, et par « table de données » le fait que ces données soient présentées sous forme de table. Donc, ici, consécutivement en mémoire et toutes du même format (un octet par valeur), ce qui permet de les indexer facilement et de sauter directement à celle qui nous intéresse, éventuellement.
Ce qui est dit ensuite est que si ces données sont toutes organisées consécutivement en mémoire dans un tableau (donc d'un seul bloc), alors l'adresse de la toute première donnée correspond de fait à l'adresse du tableau entier, et plus précisément du début du tableau.
Ce n'est pas ce qui est dit ici.2) pourquoi travaille avec des adresse $00 a $FF et non pas $0100 et $01FF ?
merci d'avance
L'adresse du début du tableau est justement ce que l'on appelle ici naturellement « adresse de base », et c'est une appellation assez répandue même sur les autres plateformes. Les adresses mémoire sur 6809 sont représentées sur 16 bits.
Ce qu'il est dit, c'est que « les nombres entiers non signés sur huit bits » s'étendent de 00 à FF. Si tu dois tous les insérer dans un tableau (fût-ce dans le désordre) qui, lui, débute à l'adresse $0100, alors oui : ton tableau va bien s'étendre de $0100 à $01FF parce qu'il contiendra 256 valeurs en tout.
Ce qui est précisé dans le commentaire, c'est qu'avant de commencer à trier tes valeurs dans ce tableau, ton programme devra d'abord remplir ce tableau avec 256 valeurs différentes dans le désordre, et ça, ce n'est pas forcément plus facile que les trier…
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager