Je vous remercie pour vos rapides réponses.
Le ROM_Call qui m'interresse est celui là :
[Quote]
--------------------------------------------------------------------------------------------
DateAndTime_Get Function (ROM Call 0x5F3)
===============
void DateAndTime_Get (USHORT* year, USHORT* month, USHORT* day, USHORT* hour, USHORT* minute, \
USHORT* second);
Retourne la date correspondant à celle affichée dans le Desktop.
Effectue l'opération inverse de DateAndTime_Set : OneSecondTimer est lu, TimeZone est pris
en compte, et les modifications inverses de celles de DateAndTime_Get sont effectuées avec
TimeZone, puis toutes les variables données par référence en arguments sont remplies.
La date et l'heure renvoyés sont celles DANS LE FUSEAU HORAIRE CHOISI.
Exemple :
unsigned short year, month, day, hour, minute, second;
DateAndTime_Get (&year, &month, &day, &hour, &minute, &second);
---------------------------------------------------------------------------------------------
[/Quote]
La description qui en est faite dans la doc de l'ASM 2.08 est la même.
Lors de la compilation, TIGCC me renvoie l'erreur suivante :
[Quote]
Error: Unresolved reference to `DateAndTime_Get'.
[/Quote]
Même sans lui préciser que je compile pour la ROM 2.09, ou en lui précisant que je compile pour la 2.07 ou la 2.08, ça ne marche pas.
Je n'ai pas essayé d'appeler la ROM via une routine en assembleur, vu que je ne connais pas ce langage.
Voici le code du programme :
[Quote]
// C Source File
#define USE_TI89 //Compile pour TI89
#define OPTIMIZE_ROM_CALLS // Optimisation des ROM calls
#define SAVE_SCREEN // sauve puis restore l'écran LCD
#define MIN_AMS 207 //Définit l'ASM minimum
#include <tigcclib.h> // Inclut tous les headers.
// Fonction Main
void _main(void)
{
unsigned short annee, mois, jour, heure, minute, seconde;
DateAndTime_Get(&annee, &mois, &jour, &heure, &minute, &seconde);
printf("%u %u %u %u %u %u",annee,mois,jour,heure,minute,seconde);
return;
}
[/Quote]
Mes recherches sur le web à propos des Rom_calls ne m'ont rien donné de mieux.
TIGCC génère un fichier "TiCal.s" ,"TiCal" est le nom de mon programme, qui semble être de l'assembleur :
[Quote]
.file "TiCal.c"
#NO_APP
.text
tigcc_compiled.:
#APP
.xdef _ti89
.xdef __ref_all___startup_code
.xdef __ref_all___detect_calc
.xdef __ref_all___test_for_specific_calc
.xdef __ref_all___test_for_89
.xdef __ref_all___MIN_AMS_required
.xdef __ref_all___MIN_AMS_2_07
.set _A_LINE,0xA000
.xdef __ref_all___kernel_format_data_var
.xdef _tigcc_native
.xdef __ref_all___nostub
.xdef __ref_all___optimize_rom_calls
.xdef __ref_all___save_screen
.xdef __ref_all___kernel_format_bss
.xdef __ref_all___kernel_format_rom_calls
.set MT_TEXT,0x8000
.set MT_XREF,0x9000
.set MT_ICON,0xA000
.set MT_CASCADE,0x4000
#NO_APP
.text
.LC0:
.ascii "%u %u %u %u %u %u\0"
.text
.even
.globl __main
__main:
link.w %a6,#-12
lea (-12,%a6),%a0
move.l %a0,-(%sp)
lea (-10,%a6),%a0
move.l %a0,-(%sp)
move.l %a6,%d0
subq.l #8,%d0
move.l %d0,-(%sp)
move.l %a6,%d0
subq.l #6,%d0
move.l %d0,-(%sp)
move.l %a6,%d0
subq.l #4,%d0
move.l %d0,-(%sp)
move.l %a6,%d0
subq.l #2,%d0
move.l %d0,-(%sp)
jbsr DateAndTime_Get
lea (24,%sp),%sp
move.w -12(%a6),-(%sp)
move.w -10(%a6),-(%sp)
move.w -8(%a6),-(%sp)
move.w -6(%a6),-(%sp)
move.w -4(%a6),-(%sp)
move.w -2(%a6),-(%sp)
pea .LC0
jbsr printf
lea (16,%sp),%sp
unlk %a6
rts
[/Quote]
Merci encore
Kami