π
<-

Fichier .asm pas pris en compte par la toolchain

Assembleur, Axe, C/C++, ICE...

Fichier .asm pas pris en compte par la toolchain

Unread postby Bobb » Yesterday, 16:29

Bonjour,
J'essaie de compiler un projet C+ASM avec la toolchain (dernière version nightly), mais le fichier .asm présent dans mes sources en même temps que les fichiers .c n'est pas pris en compte par la toolchain.
Le projet est dispo ici : https://github.com/Bobb56/neon. La commande exacte que j'utilise pour compiler est C:\CEdev\bin\make.exe -f Makefile.ez80
Last edited by Bobb on 31 Aug 2025, 11:23, edited 1 time in total.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 2.5%
 
Posts: 333
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Adriweb » Yesterday, 16:39

C'est très louche ta structure de projet.
Pourquoi ce build.bat qui fait des copies et des lancements bizarres ?

Une fois la toolchain installée et les variables d'environnement mises en place, il ne devrait rien y avoir à faire de plus que le "make" habituel qui s'occupe de tout.

Autrement dit directement avec les sources (asm, c...) dans le dossier src, et voilà

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82%
 
Posts: 14877
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Bobb » Yesterday, 16:41

Oui, le problème est que ce projet doit pouvoir être compilé à la fois pour linux, windows et ez80. Et le makefile pour windows et linux est très différent de celui pour ez80. Du coup je copie les sources dans un autre dossier qui a un makefile spécial pour la toolchain.

Mais la seule chose que fait le build.bat est copier les sources et lancer la commande de compilation

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 2.5%
 
Posts: 333
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Adriweb » Yesterday, 17:04

Mais ce n'est pas un problème. Tu peux avoir la même structure exactement et juste 3 makefiles différents. C'est assez commun. Par exemple Makefile.ez80, Makefile.linux, Makefile.windows. Et tu les appelles avec make -f [...]

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82%
 
Posts: 14877
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Bobb » Yesterday, 17:20

ok merci je vais modifier ça alors

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 2.5%
 
Posts: 333
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Bobb » Today, 11:21

J'ai modifié le repo pour compiler tout avec les mêmes sources et 3 Makefiles différents. Je précise que le problème ne vient absolument pas de ça, et persiste encore. Voici l'erreur exacte que j'obtiens pendant le linking :
C:\CEdev\meta\ld.alm [1568] macro ? [1295] :read? [14] obj\\lto.src [85096]:
sbc hl, iy
sbc? [74]
Custom error: invalid arguments.
make: *** [bin/NEON.bin] Error 2

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 2.5%
 
Posts: 333
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Adriweb » Today, 11:30

Tant mieux pour les makefile, mais pour l'erreur ASM c'est normal, sbc hl, iy n'existe pas en eZ80, d'où l'erreur d'arguments invalides pour sbc :P

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82%
 
Posts: 14877
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Bobb » Today, 11:42

Oui, je comprends bien, le seul problème est que le seul contenu de mon fichier .asm est :
Code: Select all
assume  adl=1

section .text

public  reset_stack_and_registers
reset_stack_and_registers:
    ret

public  save_stack_and_registers
save_stack_and_registers:
    ret

public  switch_registers
switch_registers:
    ret

public  get_stack
get_stack:
    ret

extern  launch_process


A aucun moment je n'utilise d'instruction sbc. Et de toute façon, le log du makefile montre que les seuls fichiers compilés sont des fichiers C.

L'instruction sbc hl, iy provient de lto.src, un fichier intermédiaire créé pendant la compilation.

Cette instruction est insérée lors de la compilation de cette fonction C :

Code: Select all
ProcessCycle* loadNextLivingProcess(ProcessCycle* pc) {
    do {
        pc = pc->next;
    }
    while (pc->process->state == Finished);

    switchGlobalLocalVariables(pc->process->varsToSave);
    return pc;
}


Voici le code assembleur généré (ligne 71) :

Code: Select all
_loadNextLivingProcess:
   push   ix
   ld   ix, 0
   add   ix, sp
   lea   hl, ix - 23
   ld   sp, hl
   ld   iy, (ix + 6)
   lea   hl, ix - 5
   ld   (ix - 11), hl
BB395_1:
   ld   iy, (iy + 3)
   ld   bc, (iy)
   push   bc
   pop   hl
   lea   de, iy
   push   bc
   pop   iy
   ld   a, (iy + 56)
   push   de
   pop   iy
   cp   a, 2
   jr   z, BB395_1
   ld   (ix - 8), iy
   push   hl
   pop   iy
   ld   iy, (iy + 69)
BB395_3:
   lea   hl, iy
   add   hl, bc
   or   a, a
   sbc   hl, bc
   jp   z, BB395_9
   ld   hl, (iy)
   push   hl
   pop   bc
   add   hl, bc
   or   a, a
   sbc   hl, bc
   jp   z, BB395_9
   ld   (ix - 17), iy
   ld   de, (ix - 11)
   push   bc
   pop   iy
   ld   (ix - 20), iy
   lea   hl, iy
   ld   bc, 5
   ldir
   ld   hl, (iy + 5)
   ld   iy, (_global_env)
   ld   de, (iy + 62)
   ld   (ix - 14), de
   ld   iy, (ix - 14)
   ld   iy, (iy + 3)
   ld   bc, 5
   call   __imulu
   push   hl
   pop   de
   ld   (ix - 23), de
   add   iy, de
   push   iy
   call   _update_if_promise
   pop   hl
   ld   iy, (ix - 14)
   ld   hl, (iy + 3)
   ld   iy, (ix - 20)
   ld   de, (ix - 23)
   add   hl, de
   lea   de, iy
   ld   bc, 5
   or   a, a
   sbc   hl, iy
   add   hl, iy
   jr   c, BB395_7
   ldir
   jr   BB395_8
BB395_7:
   add   hl, bc
   dec   hl
   ex   de, hl
   add   hl, bc
   dec   hl
   ex   de, hl
   lddr
BB395_8:
   ld   hl, (iy + 5)
   ld   iy, (_global_env)
   ld   iy, (iy + 62)
   ld   iy, (iy + 3)
   ld   bc, 5
   call   __imulu
   push   hl
   pop   de
   add   iy, de
   lea   de, iy
   ld   hl, (ix - 11)
   ldir
   ld   iy, (ix - 17)
   ld   iy, (iy + 3)
   jp   BB395_3
BB395_9:
   ld   hl, (ix - 8)
   ld   sp, ix
   pop   ix
   ret



Il s'agit d'un problème du générateur de code. Je suis donc repassé sur la version 12.1 stable de la toolchain, mais ça ne règle pas l'erreur.

Tous mes programmes sont disponibles ici

↳ Testez mon simulateur Android sur Ti-83 Premium CE et / ou Édition Python
Jetez un coup d'oeil à mon langage de programmation interprété Neon.

Image
User avatar
BobbProgrammeur
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 2.5%
 
Posts: 333
Joined: 19 Apr 2020, 12:37
Location: Morbihan
Gender: Male
Calculator(s):
MyCalcs profile
Class: ENS Rennes info

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Adriweb » Today, 12:07

Ah, c'est étrange parce que ça voudrait dire que seulement toi est tombé sur ce bug, depuis toutes ces années ? 😂
Je vais creuser avec les experts habituels.

Mais sinon les "asm" ne sont pas compilés, puisqu'ils sont déjà en ASM. le fait que tu vois l'erreur sur le sbc montre bien qu'il est pris en compte dans le build, donc pas de problème à ce niveau la.

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82%
 
Posts: 14877
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Fichier .asm pas pris en compte par la toolchain

Unread postby Adriweb » Today, 12:13

Si tu tentes avec -Oz au lieu de O3, dans le makefile, c'est mieux ?

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 82%
 
Posts: 14877
Images: 1211
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Next

Return to Langages alternatifs

Who is online

Users browsing this forum: No registered users and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1853 utilisateurs:
>1832 invités
>13 membres
>8 robots
Record simultané (sur 6 mois):
31668 utilisateurs (le 29/08/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)