Bonjour,
Pour commencer, j'ignore si je suis vraiment dans la bonne section. Si ce n'est pas le cas, je m'en excuse… sinon… Dans le cadre de mon cours, on travaille en assembleur (architecture M).
Je dois développer le bout de code suivant :
Pour ce faire, dans ma zone data, j'ai déclaré ceci :for i := 0 to Cadre -1 do
begin
Coeffs[i] := TabCarCoeffs[Temp mod B];
Temp := Temps div B;
end;
Le reste des mes variables sont dans le registre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 .data Coeffs: .space 40 TabCarCoeff: .byte '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E' .byte 'F','G','H','I','J','K','L','M','N','O','P','Q','R','S' .byte 'T','U','V','W','X','Y','Z'
J'ai donc pour le moment le bout de code suivant dans l'exécution
Cependant, a ce niveau j'ignore totalement comment je peux stocker une valeur (byte) dans mon tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 # On vérifie si notre valeur de I est toujours inférieur (<=) a Cadre-1 fcmp r25, r2 jge ShowAnswer # I inférieur on affiche le résultat divu r24,r24, r22 # R24 = DIV de la division Temp par B addi r27, r0, 0 # MODULO de la division Temp par B la Coeffs
Pour trouver la valeur correspondante dans mon TabCarCoeff, je sais que je vais passer par un truc semblable, ou R27 et le résultat de mon modulo.
Cependant, j'ignore totalement comment allouer mon résultat de r1, dans mon tableau Coeffs. Et surtout comment l'allouer au bon endroit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 la TabCarCoeff lbzx r1, r0, r27
Donc je vous demande si vous avez idée, suggestion ou miracle pour moi Car, je cherche (Architecture M), sur internet je ne trouve pas grand chose :/ Donc pas d'exemple..
P.S : Dans notre cas on développe sous OpenSuse 64bits.
Merci et bonne journée
Partager