1

Comment je peux faire pour récupérer la valeur de top_estack() en nostub? Vu que c'est une variable globale ...
Le gentil timide du 64

2

Je pense qu'en lisant la doc de tigcc qui explique tres bien comment faire car il doit meme y avoir un paragraphe ds la FAQ tu pourras arreter de poser des questions stupides wink
warau kado niha fuku kitaru.

#trifouet#!!!

3

exactement comme tu le fait en kernel neutral

cf doc tigcc (comme d'ab..)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4

doorsos::top_estack pour les anciens wink

5

c'est bon, je vais essayer un truc à Paxal
Le gentil timide du 64

6

tios::top_estack sinon ... enfin, je sais pas trop si ca marche comme ca sous AS roll

7

movea.l $C8,a0 ; movea.l top_estack*4(a0),a0 ; jsr (a0)

8

non c'est une variable globale, pas une fonction
(en fait j'ai posé la question pour rie, mais c'était pour me rassurer)

On fait comment alors?

(Bon ben,c'est pas gagné, je crois que Tails et sa réputation sera obligé de se casser si ca continue)
Le gentil timide du 64

9

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

Mais encore ?
(Je crois bien que l'on est dans le forum asm)

Je vais répondre de manière beucoup plus intelligent que toi : le site CPEV

(Ah la la, et dire que vous faites les durs)
Le gentil timide du 64

11

C ou ASM sa marche de la meme maniere cheeky
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

12

Si tu veux, mais les ROMCALLS ne sont pas toutes appelées de la même manière en asm. D'où le probleme. Moi je pense plutot qu'il faudrait un move.l (a0),a0 au lieu du dernier jsr de jackiechan (p#6)
Le gentil timide du 64

13

Tu croit que le C genere quoi ?????

Quand tu compile en C le compilo genere de l'ASM cheeky SISI !

Et si tu parle du raccourci de AS/CC cad des n° négatifs pour les rom_call, c'est juste une "tricherie" qu'a mis en place nitro, mais le code généré est tjrs le meme !
movea.l $C8,a0
movea.l top_estack*4(a0),a0
jsr (a0)


Sinon tu peut t'amuser a faire un

DC.b $F000 + top_estack
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

14

godzil a écrit :
Quand tu compile en C le compilo genere de l'ASM cheeky SISI !


et quand on assemble de l'asm ça génère du C ? trifus

avatar
Inuki POWA !
СИЛАС терженя !

15

Et ton d0.w contient bien top_estack ? C'est pas une ROMCALL2 ? C'est pour ca que ma caltoche plantait
Donc en fait c'est
ESI top_estack(void) - et pas ESI top_estack-
C'est ca ?
Le gentil timide du 64

16

c'est une variable, mais qui a une entree dans la table des rom_call
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

17

scaNDaLe a écrit :
et quand on assemble de l'asm ça génère du C ? trifus

Tout a fait et quand tu programme en pascal sa te fait du C trifaq
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

18

-

19

Mais le mieux, c'est quand tu fais du basic avec des inclusions asm : ça te génère du fortran avec des includes cobol (c'est valable aussi - et ça c'est surprenant - pour des pregrammes Java avec des appels hardware [en hacks] : ça te génère du lisp avec des includes prolog)
avatar

20

C'est très fin...

Tails, top_estack est une variable. Pour avoir son contenu, tu fais (en supposant que la jump table est dans a5, ce qui est le cas quand tu définis OPTIMIZE_ROM_CALLS sur TIGCC):
movea.l 0x109*4(a5),a0
movea.l (a0),a0

Sinon, c'est:
movea.l 0xC8.w,a0
mova.l 0x109*4(a5),a0
movea.l (a0),a0


Là, je parle en TIGCC. Je ne connais pas CC / AS...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

21

XDanger a écrit :

Sinon, c'est:
movea.l 0xC8.w,a0
mova.l 0x109*4(a5),a0 movea.l (a0),a0
movea.l 0x109*4(a0),a0 plutôt smile
Ça veut dire que la variable top_estack est directement dans la table des ROM_CALLs ?
Là, je parle en TIGCC. Je ne connais pas CC / AS...
Ben c'est exactement pareil, sauf qu'il faut mettre $ à la place de 0x. (D'ailleurs, je ne suis même pas sûr que le a68k qu'utilise TIGCC saura reconnaitre le 0x.)

22

Je pense que GNU as avalera son code si on lui passe --register-prefix-optional, mais j'ai la flemme d'essayer. 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é

23

[cite]jackiechan a écrit :
Ça veut dire que la variable top_estack est directement dans la table des ROM_CALLs ?
[cite]
c l'adresse de la variable top_estack qui est dans la table des romscall, pas sa valeur
avatar

24

> movea.l 0x109*4(a0),a0 plutôt
En effet. J'ai tellement l'habitude d'écrire (a5) (en fait plutôt (%a5) ou (%%a5): je n'utilise que GNU as, donc il y a % ou %% selon que je fais de l'assembleur simple ou de l'assembleur avec opérandes C - je ne mets pas --register-prefix-optional)...

> c l'adresse de la variable top_estack qui est dans la table des romscall, pas sa valeur
Oui.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

25

Ah bah oui, puisqu'il y a le movea.l (a0),a0 (triso)

26

et c'est placé dans A0 parce que top_estack est un pointeur (je crois qu'il y a un typedef ESQ *ESI), un ESQ étant un unsigned(?) char...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

27

Merci, en fait pour moi qui utilise "ams_c" il faut que je mette -4*top_estack(a0),a0
au lieu de 4*top_estack(a0),a0
Le gentil timide du 64

28

Au fait, pourquoi l'equipe de la tigcc emploie des ".s" comme formats dans ses codes. (Le 68k Guide est incomplet) ?
Le gentil timide du 64

29

cf la doc, c du gnu asm ...

30

ok
Le gentil timide du 64