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
Fichier .asm pas pris en compte par la toolchain
14 posts
• Page 1 of 2 • 1, 2
Fichier .asm pas pris en compte par la toolchain
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 PythonJetez un coup d'oeil à mon langage de programmation interprété Neon.
-
BobbProgrammeur
Niveau 11: LV (Légende Vivante)- Posts: 333
- Joined: 19 Apr 2020, 12:37
- Location: Morbihan
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes info
Re: Fichier .asm pas pris en compte par la toolchain
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à
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
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14877
- Images: 1211
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Fichier .asm pas pris en compte par la toolchain
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
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 PythonJetez un coup d'oeil à mon langage de programmation interprété Neon.
-
BobbProgrammeur
Niveau 11: LV (Légende Vivante)- Posts: 333
- Joined: 19 Apr 2020, 12:37
- Location: Morbihan
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes info
Re: Fichier .asm pas pris en compte par la toolchain
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
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14877
- Images: 1211
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Fichier .asm pas pris en compte par la toolchain
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 PythonJetez un coup d'oeil à mon langage de programmation interprété Neon.
-
BobbProgrammeur
Niveau 11: LV (Légende Vivante)- Posts: 333
- Joined: 19 Apr 2020, 12:37
- Location: Morbihan
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes info
Re: Fichier .asm pas pris en compte par la toolchain
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
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 PythonJetez un coup d'oeil à mon langage de programmation interprété Neon.
-
BobbProgrammeur
Niveau 11: LV (Légende Vivante)- Posts: 333
- Joined: 19 Apr 2020, 12:37
- Location: Morbihan
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes info
Re: Fichier .asm pas pris en compte par la toolchain
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 
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
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14877
- Images: 1211
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Fichier .asm pas pris en compte par la toolchain
Oui, je comprends bien, le seul problème est que le seul contenu de mon fichier .asm est :
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 :
Voici le code assembleur généré (ligne 71) :
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.
- 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 PythonJetez un coup d'oeil à mon langage de programmation interprété Neon.
-
BobbProgrammeur
Niveau 11: LV (Légende Vivante)- Posts: 333
- Joined: 19 Apr 2020, 12:37
- Location: Morbihan
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: ENS Rennes info
Re: Fichier .asm pas pris en compte par la toolchain
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.
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
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14877
- Images: 1211
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
Re: Fichier .asm pas pris en compte par la toolchain
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
-
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 14877
- Images: 1211
- Joined: 01 Jun 2007, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Twitter: adriweb
- GitHub: adriweb
14 posts
• Page 1 of 2 • 1, 2
Return to Langages alternatifs
Who is online
Users browsing this forum: No registered users and 7 guests