1

J'aimerais être sûr de quelques détails, sur la forme des symboles, tels qu'ils sont reconnus et spécifiés par les assembleurs de TI68k.

Est-ce que ces symboles peuvent se définir de la manière suivante :

- Romcalls kernel : _ROM_CALL_<3 digits hexa>
- Ramcalls kernel : _RAM_CALL_<3 digits hexa>
- Appel de dll : <8 caractères>@<4 digits hexa>

J'ai cherché dans les sources de tigcc, sûrement mal, parce que je n'ai pas trouvé de spec...

2

Je crois que oui.

3

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é

4

Merci. hehe

5

The symbol libname@index or libname__index is resolved to a call to the library libname with the index index, interpreted as a hexadecimal value. index must have exactly four hexadecimal digits; otherwise it will not be recognized.

Ca, c'est relativement précis, mais est-ce que la longueur de libname est vérifiée ?
The symbol _ROM_CALL_index is resolved to the ROM call with the index index, interpreted as a hexadecimal value.

Ca, c'est beaucoup moins précis, le nombre de digits hexa est spécifié ? Sinon, avec par exemple 2 ou 4 digits, on peut le prendre pour un simple label et non un relogement de romcall kernel. La logneur est vérifiée ? Ou alors tant que c'est de l'hexa valide, ça marche ?

6

Folco (./5) :
Ca, c'est relativement précis, mais est-ce que la longueur de libname est vérifiée ?

Non, il est juste vérifié que le nom du symbole ne commence pas par "_", "." ou "L_" (labels internes ou locaux).
Ca, c'est beaucoup moins précis, le nombre de digits hexa est spécifié ?

Non, le nombre de chiffres peut être quelconque.

Si ce n'est pas spécifié, c'est que la taille n'est pas fixe.
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é

7

Kevin Kofler (./6) :
Non, il est juste vérifié que le nom du symbole ne commence pas par "_", "." ou "L_" (labels internes ou locaux).

Et où l'erreur sera-t-elle déclenchée avec un nom de plus de 8 caractères ? Tu pourras pas contrsuire le header kernel avec.
Kevin Kofler (./6) :
Non, le nombre de chiffres peut être quelconque.

Ok impeccable, merci.

8

Folco (./7) :
Et où l'erreur sera-t-elle déclenchée avec un nom de plus de 8 caractères ? Tu pourras pas contrsuire le header kernel avec.

Lors de l'exportation du header kernel (et ce n'est pas une erreur, c'est un warning + troncature à 8 caractères; il n'y a que très peu d'erreurs dans ld-tigcc, il essaie toujours de produire quelque chose quand c'est possible).
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

Ah j'aime pas ça, une erreur est une erreur pour moi, bonjour le débogage derrière sinon. Mais bon bref, c'est ton choix. Merci. smile