

Code : Tout sélectionner
quad.q=10011254555
Dim oct.a(7)
CopyMemory(@quad, @oct(0),8)
Code : Tout sélectionner
quad.q=10011254555
For i=0 to 7
a$=a$+str(peeka(@quad.q+i))+";" ; renvoi ;27;159;183;84;2;0;0;0
b$=b$+str(peekb(@quad.q+i))+";" ; renvoi ;27;-97;-73;84;2;0;0;0
Next i
debug "en octet non signé ="+a$
debug "en octet signé ="+b$
oui c'est vraiscrisot a écrit :C'est un peu le problème: Ca n'a pas de sens de récupérer un signe dans chaque octet d'un quad, vu que le signe du quad se situe dans sa moitié forte. Ca n'a pas de sens d'avoir un octet négatif faisant parti d'un quad positif ou l'inverse.*.
Code : Tout sélectionner
Structure MeliMelo
StructureUnion
A.A[8]
Q.Q
EndStructureUnion
EndStructure
Define Exemple.Q = $0102030405060708
Define *x.MeliMelo = @Exemple
For I = 0 To 7 ; chaque octet de 7 à 0
Debug *X\A[I ! 7]
Next
ouOllivier a écrit :Affichera 1, 2, 3, 4, 5, 6, 7 puis 8...Code : Tout sélectionner
è For I = 0 To 7 ; chaque octet de 7 à 0 Debug *X\A[I ! 7] Next
Code : Tout sélectionner
For I = 7 To 0 Step -1 ; chaque octet de 7 à 0
Debug *X\A[I]
Next
La ram se lit de gauche à droite mais un byte/word/long/etc se lit de droite à gauche donc dans l'exemple que tu donnes c'est bien $08 la première valeur qui nous intéresse.Ollivier a écrit :Par contre, $0102030405060708 donne :
8
7
6
5
4
3
2
1
C'est stocké complètement en verlan.
Code : Tout sélectionner
543
+ 982
_____=?
Code : Tout sélectionner
quad.q=$0102030405060708
Dim oct(7)
For a=0 To 7
oct(a)=PeekB(@quad+7-a)&$ff
Debug oct(a)
Next
Code : Tout sélectionner
quad.q=$0102030405060708
Dim oct.b(7)
CopyMemory(@quad,@oct(0),8)
For a=7 To 0 Step -1
Debug oct(a)
Next
Code : Tout sélectionner
Define.I Source = 12345 ; 1 variable...
Define.I Dest = 3210 ; 1 seconde variable...
Define *pointeur.Integer
*pointeur = @Source ; choix n°1
Debug "Source = " +Str(*pointeur\I)
*pointeur = @Dest ; choix n°2
Debug "Dest = " + Str(*pointeur\I)
Code : Tout sélectionner
Dim a.a(127)
Debug "Début "+Str(@a(0) )
Debug "Fin "+Str(@a(127) )
Code : Tout sélectionner
Define *Debut = AllocateMemory(50)
*Fin = *Debut + 49
Code : Tout sélectionner
Structure Gabarit
*p[50000]
EndStructure
Define *p.Gabarit