1

Je veux utiliser un tableau de données contenant des valeurs pour des calculs de cosinus.

Dans ce prog je veux utlisé une table de données constantes.
Cependant quand j'execute le prog ca affiche"adress error", quand la valeur demandé est trop grande.

Est ce du a une limitaion ?

Bon, voici en gros ce que le programme doit faire, avec un bourt de la source :



include "OS.h"
xdef _nostub
xdef _ti89
xdef _ti92plus


movem.l d3-d7/a2-a6,-(a7)
lea tabc,a3 ;on charge l'adresse de la table des cosinus
move 25(a3),d4

movem.l (a7)+,d3-d7/a2-a6 ;
rts




tabc dc.w 10000,9997,
dc.w 9988,9973,
dc.w 9952,9924,
dc.w 9891,9852,
dc.w 9806,9755,
dc.w 9698,9635,
dc.w 9566,9491,
dc.w 9411,9325,
dc.w 9233,9136,
dc.w 9033,8924,
dc.w 8810,8691,
dc.w 8566,8437,
dc.w 8302,8162,
dc.w 8017,7867,
dc.w 7713,7554,
dc.w 7390,7222,
dc.w 7049,6872,
dc.w 6691,6506,
dc.w 6317,6124


Merci d'avance pour votre aide.top

2

C'est move.w 25*2(a3),d4.
L'assembleur 68k ne multiplie pas automatiquement les indices par la taille des données comme le ferait le C.
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é

3

ok, merci Kevingni

4

Non, en fait ca marche pas.
Tu crois que j'ai mis move 25*2(a3),d4 dans mon prog mais non, regarde de plus près la source.

5

plutôt que tu ne l'as pas mis roll

6

oué, les données c des words, faut multiplier par 2 pour ajuster le decalage embarrassed