1

Bonjour tlm,
Je dois lire une valeur de 16 bits ou 32 bits depuis une addresse, celle-ci peut être paire ou impaire.
Bien entendu quand elle est impaire, ca me pète à la gueule :/
A par la lecture octet par octet , y a til un moyen de lire les données sans déclencher d'erreur ? Ou une implémentation particulièrement efficace.

Pour l'instant je fais, pour un mot sur 16bits:

value = (unsigned long)ptr&1 ? ((premier octet)<<8 | (second octet)) : *ptr

Ensuite pour écrire la valeur modifiée, la même chose en sens inverse:

if ((unsigned long)ptr&1) {
(second octet) = value;
(premier octet) = value>>8;
}
else
*ptr = value;
Bien, eu, aucune idée

2

Débrouille-toi pour aligner ta donnée, c'est pas possible ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

3

impossible:
l'utilisateur fournit un pointeur sur des données. le pointeur est paire ou impaire, et les calculs doivent se faire!
En réalité le pointeur est normalement une addresse paire, mais le premier octet contient un code, et les suivant les données, donc le premier octet décale tout , ce qui fait que les données se trouvent forcément à une addresse impaire (mais je ne peux pas changer ca, et ce n'est pas tout le temps le cas, tout dépend de la valeur du premier octet).
bref, c'est un bordel wink
Bien, eu, aucune idée

4

Bah soit tu changes ton format de données pour tout simplifier, soit tu te prends la tête en lecture octet par octet smile
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

5

Lol ok, le format est optimisé pour stoquer le maximum de données sur le moins de place, aligné les données ne serviraient pas a grand chose smile
Bien, eu, aucune idée

6

Tu es à un octet près ? (en sachant qu'ajouter cet octet te fait gagner en place et en vitesse dans le programme)
Ceci dit c'est tio qui voit
C'est pour quoi faire exactement ?
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

7

C'est pour une machine virtuelle:
http://www.fxsoft-fr.net/PsyVM.pdf
Le pb intervient particulièrement dans le decodage des opérandes.
Bien, eu, aucune idée

8

Pourquoi pas utiliser du code 68k comme Quill?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Je connais pas quill, il y a un endroit ou je pourrais en savior plus smile ?
Bien, eu, aucune idée

10

http://www.ticalc.org/archives/files/fileinfo/219/21940.html
Attention, le runtime tel qu'il est livré n'est pas compatible AMS >=2.07. Je viens de le porter. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité