1

Bonjour à tous.


J'ai déjà soumis ce problème sur des forum anglophones (ti-freakware et cemetech pour ne pas les citer ... grin)

Mais mon problème n'est toujours pas résolu...
Donc je soumets cette énigme aux ASM gurus locaux ... gni



Jen'ai aucun problème pour faire fonctionner un programme asm pour ti83+.
Mais quand il s'agit de la ti83, je n'arrive pas à obtenir autre chose qu'une erreur syntaxe.

Les entêtes sont évidemment différentes de ceux pour ti83+.
(ils sont reporté un peu plus bas dans les box)

Pour lancer le programme, je fais "Send(9PrgmName" (je souhaite pour l'instant faire tourner ça sans shell).

J'ai essayé de changer d'émulateur (en général j'utilise tilem), de mettre en majuscule ou minuscule les mot clés.
L'adresse .org 9327h semble bonne aussi...

Je n'arrive pas à trouver d'hello world ou programme très simple pour ti83 sur le net.
(il y a toujours une confusion entre ti83 et ti83+, les programmes estampillé "ti83" sont en général destiné aux ti83+ !)
Comme je n'ai pas de ti83+ et que je suis assez tétu... trigni

Si quelqu'un peut me dire ce qui cloche je lui en serait vraiment très reconnaissant.
J'ai fait au mois 30 ou 40 hello.z80 différents, je ne vois vraiment pas ce qui coince, j'ai utilisé également d'autre assembleur comme z80asm ou zasm.
(actuellement j'utilise spasm)


Merci d'avance pour votre aide.

Thibault Duponchelle
hello.z80

.NOLIST			; Définie la zone qui n'est pas du code
#include "ti83asm.inc"
#include "tokens.inc"
#define end .end
#define END .end
#define equ .equ
#define EQU .equ


.LIST			; Définie la zone qui est du code
.org 9327h
	call _clrLCDFull
       ret
.end
END


2

J'ai enlevé une partie de ce fichier pour qu'il ne soit pas trop gros (le post ne passait pas)
ti83asm.inc


#define EQU .EQU

#define equ .EQU

usermemoff = $89EC
_ldhlind = $4009
_newline = $452E
_JForceCmd = $402A
_homeup = $4558
;======================================================================
; System Variable Equates

;======================================================================

; Entry Points : RclSysTok, StoSysTok
;
XSCLt EQU 2
YSCLt EQU 3
XMINt EQU 0Ah
XMAXt EQU 0Bh
YMINt EQU 0Ch
YMAXt EQU 0Dh
TMINt EQU 0Eh
TMAXt EQU 0Fh
THETMINt EQU 10h
THETMAXt EQU 11h
TBLMINt EQU 1Ah
PLOTSTARTt EQU 1Bh
NMAXt EQU 1Dh
NMINt EQU 1Fh
TBLSTEPt EQU 21h
TSTEPt EQU 22h
THETSTEPt EQU 23h
DELTAXt EQU 26h
DELTAYt EQU 27h
XFACTt EQU 28h
YFACTt EQU 29h
FINNt EQU 2Bh
FINIt EQU 2Ch
FINPVt EQU 2Dh
FINPMTt EQU 2Eh
FINFVt EQU 2Fh
FINPYt EQU 30h
FINCYt EQU 31h
PLOTSTEPt EQU 34h
XRESt EQU 36h
;======================================================================

; Run indicators

;======================================================================


busyPause EQU 10101010b

busyNormal EQU 11110000b

;

;======================================================================

; Macro to call base code from an app,

;======================================================================

;

rBR_CALL EQU 28h ; NEEDED FOR APPS

BRT_JUMP0 EQU 50h

;

;======================================================================

; Common subroutine RST numbers

;======================================================================

;

rOP1TOOP2 EQU 08h

rFINDSYM EQU 10h

rPUSHREALO1 EQU 18h

rMOV9TOOP1 EQU 20h

rFPADD EQU 30h

;



;SYMBOLIC_DEBUG_START

;======================================================================

; Entry points

;======================================================================

;

_AbsO1O2Cp EQU 410Eh

_AbsO1PAbsO2 EQU 405Ah

_ACos EQU 40DEh

_ACosH EQU 40F0h

_ACosRad EQU 40D2h

_AdrLEle EQU 462Dh

_AdrMEle EQU 4609h

_AdrMRow EQU 4606h

_AllEq EQU 4876h

_AllocFPS EQU 43A5h

_AllocFPS1 EQU 43A8h

_Angle EQU 4102h

_AnsName EQU 4B52h

_ApdSetup EQU 4C93h

_AppGetCalc EQU 4C78h

_AppGetCbl EQU 4C75h

_Arc_Unarc EQU 4FD8h

_ASin EQU 40E4h

_ASinH EQU 40EDh

_ASinRad EQU 40DBh

_ATan EQU 40E1h

_ATan2 EQU 40E7h

_ATan2Rad EQU 40D8h

_ATanH EQU 40EAh

_ATanRad EQU 40D5h



_BinOPExec EQU 4663h

_Bit_VertSplit EQU 4FA8h

_BufClr EQU 5074h

_BufCpy EQU 5071h



_CAbs EQU 4E97h

_CAdd EQU 4E88h

_CanAlphIns EQU 4C69h

_CDiv EQU 4E94h

_CDivByReal EQU 4EBBh

_CEtoX EQU 4EA9h

_CFrac EQU 4EC1h

_CheckSplitFlag EQU 49F0h

_ChkFindSym EQU 42F1h

_CIntgr EQU 4EC4h

_CircCmd EQU 47D4h

_CkInt EQU 4234h

_CkOdd EQU 4237h

_CkOP1C0 EQU 4225h

_CkOP1Cplx EQU 40FCh

_CkOP1FP0 EQU 4228h

_CkOP1Pos EQU 4258h

_CkOP1Real EQU 40FFh

_CkOP2FP0 EQU 422Bh

_CkOP2Pos EQU 4255h

_CkOP2Real EQU 42DFh

_CkPosInt EQU 4231h

_CkValidNum EQU 4270h

_CleanAll EQU 4A50h

_ClearRect EQU 4D5Ch

_ClearRow EQU 4CEDh

_CLine EQU 4798h

_CLineS EQU 479Bh

_CLN EQU 4EA0h

_CLog EQU 4EA3h

_CloseEditBufNoR EQU 476Eh

_CloseProg EQU 4A35h

_ClrGraphRef EQU 4A38h

_ClrLCD EQU 4543h

_ClrLCDFull EQU 4540h

_ClrLp EQU 41D1h

_ClrOP1S EQU 425Eh

_ClrOP2S EQU 425Bh

_ClrScrn EQU 4549h

_ClrScrnFull EQU 4546h

_ClrTxtShd EQU 454Ch

_CMltByReal EQU 4EB8h

_CmpSyms EQU 4A4Ah

_CMult EQU 4E8Eh

_Conj EQU 4EB5h

_ConvDim EQU 4B43h

_ConvDim00 EQU 4B46h

_ConvLcToLr EQU 4A23h

_ConvLrToLc EQU 4A56h

_ConvOP1 EQU 4AEFh

_COP1Set0 EQU 4105h

_Cos EQU 40C0h

_CosH EQU 40CCh

_CpHLDE EQU 400Ch

_CPoint EQU 4DC8h

_CPointS EQU 47F5h

_CpOP1OP2 EQU 4111h

_CpOP4OP3 EQU 4108h

_CpyO1ToFPS1 EQU 445Ch

_CpyO1ToFPS2 EQU 446Bh

_CpyO1ToFPS3 EQU 4477h

_CpyO1ToFPS4 EQU 4489h

_CpyO1ToFPS5 EQU 4483h

_CpyO1ToFPS6 EQU 447Dh

_CpyO1ToFPS7 EQU 4480h

_CpyO1ToFPST EQU 444Ah

_CpyO2ToFPS1 EQU 4459h

_CpyO2ToFPS2 EQU 4462h

_CpyO2ToFPS3 EQU 4474h

_CpyO2ToFPS4 EQU 4486h

_CpyO2ToFPST EQU 4444h

_CpyO3ToFPS1 EQU 4453h

_CpyO3ToFPS2 EQU 4465h

_CpyO3ToFPST EQU 4441h

_CpyO5ToFPS1 EQU 4456h

_CpyO5ToFPS3 EQU 4471h

_CpyO6ToFPS2 EQU 4468h

_CpyO6ToFPST EQU 4447h

_CpyStack EQU 4429h

_CpyTo1FPS1 EQU 4432h

_CpyTo1FPS10 EQU 43F3h

_CpyTo1FPS11 EQU 43D8h

_CpyTo1FPS2 EQU 443Bh

_CpyTo1FPS3 EQU 4408h

_CpyTo1FPS4 EQU 440Eh

_CpyTo1FPS5 EQU 43DEh

_CpyTo1FPS6 EQU 43E4h

_CpyTo1FPS7 EQU 43EAh

_CpyTo1FPS8 EQU 43EDh

_CpyTo1FPS9 EQU 43F6h

_CpyTo1FPST EQU 4423h

_CpyTo2FPS1 EQU 442Fh

_CpyTo2FPS2 EQU 4438h

_CpyTo2FPS3 EQU 4402h

_CpyTo2FPS4 EQU 43F9h

_CpyTo2FPS5 EQU 43DBh

_CpyTo2FPS6 EQU 43E1h

_CpyTo2FPS7 EQU 43E7h

_CpyTo2FPS8 EQU 43F0h

_CpyTo2FPST EQU 4420h

_CpyTo3FPS1 EQU 442Ch

_CpyTo3FPS2 EQU 4411h

_CpyTo3FPST EQU 441Dh

_CpyTo4FPST EQU 441Ah

_CpyTo5FPST EQU 4414h

_CpyTo6FPS2 EQU 43FFh

_CpyTo6FPS3 EQU 43FCh

_CpyTo6FPST EQU 4417h

_CpyToFPS1 EQU 445Fh

_CpyToFPS2 EQU 446Eh

_CpyToFPS3 EQU 447Ah

_CpyToFPST EQU 444Dh

_CpyToStack EQU 4450h

_Create0Equ EQU 432Ah

_CreateAppVar EQU 4E6Ah

_CreateCList EQU 431Bh

_CreateCplx EQU 430Ch

_CreateEqu EQU 4330h

_CreatePair EQU 4B0Dh

_CreatePict EQU 4333h

_CreateProg EQU 4339h

_CreateProtProg EQU 4E6Dh

_CreateReal EQU 430Fh

_CreateRList EQU 4315h

_CreateRMat EQU 4321h

_CreateStrng EQU 4327h

_CRecip EQU 4E91h

_CSqRoot EQU 4E9Dh

_CSquare EQU 4E8Bh

_CSub EQU 4E85h

_CTenX EQU 4EA6h

_CTrunc EQU 4EBEh

_Cube EQU 407Bh

_CursorOff EQU 45BEh

_CursorOn EQU 45C4h

_CXrootY EQU 4EACh

_CYtoX EQU 4EB2h



_DarkLine EQU 47DDh

_DarkPnt EQU 47F2h

_DataSize EQU 436Ch

_DataSizeA EQU 4369h

_DeallocFPS EQU 439Fh

_DeallocFPS1 EQU 43A2h

_DecO1Exp EQU 4267h

_DelListEl EQU 4A2Fh

_DelMem EQU 4357h

_DelRes EQU 4A20h

_DelVar EQU 4351h

_DelVarArc EQU 4FC6h

_DelVarNoArc EQU 4FC9h

_DisableApd EQU 4C84h

_Disp EQU 4F45h

_DispDone EQU 45B5h

_DispEOL EQU 45A6h

_DispHL EQU 4507h

_DisplayImage EQU 4D9Bh

_DispOP1A EQU 4BF7h

_DivHLBy10 EQU 400Fh

_DivHLByA EQU 4012h

_DrawCirc2 EQU 4C66h

_DrawCmd EQU 48C1h

_DrawRectBorder EQU 4D7Dh

_DrawRectBorderClear EQU 4D8Ch

_DToR EQU 4075h



_EditProg EQU 4A32h

_EnableApd EQU 4C87h

_EnoughMem EQU 42FDh

_EOP1NotReal EQU 4279h

_Equ_or_NewEqu EQU 42C4h

_EraseEOL EQU 4552h

_EraseRectBorder EQU 4D86h

_ErrArgument EQU 44ADh

_ErrBadGuess EQU 44CBh

_ErrBreak EQU 44BFh

_ErrD_OP1_0 EQU 42D3h

_ErrD_OP1_LE_0 EQU 42D0h

_ErrD_OP1Not_R EQU 42CAh

_ErrD_OP1NotPos EQU 42C7h

_ErrD_OP1NotPosInt EQU 42CDh





_ErrDataType EQU 44AAh

_ErrDimension EQU 44B3h

_ErrDimMismatch EQU 44B0h

_ErrDivBy0 EQU 4498h

_ErrDomain EQU 449Eh

_ErrIncrement EQU 44A1h

_ErrInvalid EQU 44BCh

_ErrIterations EQU 44C8h

_ErrLinkXmit EQU 44D4h

_ErrMemory EQU 44B9h

_ErrNon_Real EQU 44A4h

_ErrNonReal EQU 4A8Ch

_ErrNotEnoughMem EQU 448Ch

_ErrOverflow EQU 4495h

_ErrSignChange EQU 44C5h

_ErrSingularMat EQU 449Bh

_ErrStat EQU 44C2h

_ErrStatPlot EQU 44D1h

_ErrSyntax EQU 44A7h

_ErrTolTooSmall EQU 44CEh

_ErrUndefined EQU 44B6h

_EToX EQU 40B4h

_Exch9 EQU 43D5h

_ExLp EQU 4222h

_ExpToHex EQU 424Fh



_Factorial EQU 4B85h

_FillRect EQU 4D62h

_FillRectPattern EQU 4D89h

_Find_Parse_Formula EQU 4AF2h

_FindAlphaDn EQU 4A47h

_FindAlphaUp EQU 4A44h

_FindApp EQU 4C4Eh

_FindAppDn EQU 4C4Bh

_FindAppNumPages EQU 509Bh

_FindAppUp EQU 4C48h

_FindSym EQU 42F4h

_FiveExec EQU 467Eh

_FixTempCnt EQU 4A3Bh

_FlashToRam EQU 5017h

_ForceFullScreen EQU 508Fh

_FormBase EQU 50AAh

_FormDCplx EQU 4996h

_FormEReal EQU 4990h

_FormReal EQU 4999h

_FourExec EQU 467Bh

_FPAdd EQU 4072h

_FPDiv EQU 4099h

_FPMult EQU 4084h

_FPRecip EQU 4096h

_FPSquare EQU 4081h

_FPSub EQU 406Fh

_Frac EQU 4093h



_GetBaseVer EQU 4C6Fh

_GetCSC EQU 4018h

_GetKey EQU 4972h

_GetLToOP1 EQU 4636h

_GetMToOP1 EQU 4615h

_GetTokLen EQU 4591h

_GrBufClr EQU 4BD0h

_GrBufCpy EQU 486Ah

_GrphCirc EQU 47D7h



_HLTimes9 EQU 40F9h

_HorizCmd EQU 48A6h

_HTimesL EQU 4276h



_IBounds EQU 4C60h

_IBoundsFull EQU 4D98h

_ILine EQU 47E0h

_IncLstSize EQU 4A29h

_InsertList EQU 4A2Ch

_InsertMem EQU 42F7h

_Int EQU 40A5h

_Intgr EQU 405Dh

_InvCmd EQU 48C7h

_InvertRect EQU 4D5Fh

_InvOP1S EQU 408Dh

_InvOP1SC EQU 408Ah

_InvOP2S EQU 4090h

_InvSub EQU 4063h

_IOffset EQU 4C63h

_IPoint EQU 47E3h



_JError EQU 44D7h

_JErrorNo EQU 4000h

_JForceCmdNoChar EQU 4027h

_JForceGraphKey EQU 5005h

_JForceGraphNoKey EQU 5002h



_KeyToString EQU 45CAh



_LineCmd EQU 48ACh

_LnX EQU 40ABh

_Load_SFont EQU 4783h

_LoadCIndPaged EQU 501Dh

_LoadDEIndPaged EQU 501Ah

_LoadPattern EQU 4CB1h

_LogX EQU 40AEh



_Max EQU 4057h

_MemChk EQU 42E5h

_MemClear EQU 4C30h

_MemSet EQU 4C33h

_Min EQU 4054h

_Minus1 EQU 406Ch

_Mov10B EQU 415Ch

_Mov18B EQU 47DAh

_Mov7B EQU 4168h

_Mov8B EQU 4165h

_Mov9B EQU 415Fh

_Mov9OP1OP2 EQU 417Dh

_Mov9OP2Cp EQU 410Bh

_Mov9ToOP1 EQU 417Ah

_Mov9ToOP2 EQU 4180h

_MovFrOP1 EQU 4183h



_OneVar EQU 4BA3h

_OP1ExOP2 EQU 421Fh

_OP1ExOP3 EQU 4219h

_OP1ExOP4 EQU 421Ch

_OP1ExOP5 EQU 420Dh

_OP1ExOP6 EQU 4210h

_OP1ExpToDec EQU 4252h

_OP1Set0 EQU 41BFh

_OP1Set1 EQU 419Bh

_OP1Set2 EQU 41A7h

_OP1Set3 EQU 41A1h

_OP1Set4 EQU 419Eh

_OP1ToOP2 EQU 412Fh

_OP1ToOP3 EQU 4123h

_OP1ToOP4 EQU 4117h

_OP1ToOP5 EQU 4153h

_OP1ToOP6 EQU 4150h

_OP2ExOP4 EQU 4213h

_OP2ExOP5 EQU 4216h

_OP2ExOP6 EQU 4207h

_OP2Set0 EQU 41BCh

_OP2Set1 EQU 41ADh

_OP2Set2 EQU 41AAh

_OP2Set3 EQU 4198h

_OP2Set4 EQU 4195h

_OP2Set5 EQU 418Fh

_OP2Set60 EQU 4AB0h

_OP2Set8 EQU 418Ch

_OP2SetA EQU 4192h

_OP2ToOP1 EQU 4156h

_OP2ToOP3 EQU 416Eh

_OP2ToOP4 EQU 411Ah

_OP2ToOP5 EQU 414Ah

_OP2ToOP6 EQU 414Dh

_OP3Set0 EQU 41B9h

_OP3Set1 EQU 4189h

_OP3Set2 EQU 41A4h

_OP3ToOP1 EQU 413Eh

_OP3ToOP2 EQU 4120h

_OP3ToOP4 EQU 4114h

_OP3ToOP5 EQU 4147h

_OP4Set0 EQU 41B6h

_OP4Set1 EQU 4186h

_OP4ToOP1 EQU 4138h

_OP4ToOP2 EQU 411Dh

_OP4ToOP3 EQU 4171h

_OP4ToOP5 EQU 4144h

_OP4ToOP6 EQU 4177h

_OP5ExOP6 EQU 420Ah

_OP5Set0 EQU 41B3h

_OP5ToOP1 EQU 413Bh

_OP5ToOP2 EQU 4126h

_OP5ToOP3 EQU 4174h

_OP5ToOP4 EQU 412Ch

_OP5ToOP6 EQU 4129h

_OP6ToOP1 EQU 4135h

_OP6ToOP2 EQU 4132h

_OP6ToOP5 EQU 4141h

_OutputExpr EQU 4BB2h



_PagedGet EQU 5023h

_ParseInp EQU 4A9Bh

_PDspGrph EQU 48A3h

_PixelTest EQU 48B5h

_Plus1 EQU 4069h

_PointCmd EQU 48B2h

_PointOn EQU 4C39h

_PopOP1 EQU 437Eh

_PopOP3 EQU 437Bh

_PopOP5 EQU 4378h

_PopReal EQU 4393h

_PopRealO1 EQU 4390h

_PopRealO2 EQU 438Dh

_PopRealO3 EQU 438Ah

_PopRealO4 EQU 4387h

_PopRealO5 EQU 4384h

_PopRealO6 EQU 4381h

_PosNo0Int EQU 422Eh

_PtoR EQU 40F3h

_PushOP1 EQU 43C9h

_PushOP3 EQU 43C3h

_PushOP5 EQU 43C0h

_PushReal EQU 43BDh

_PushRealO1 EQU 43BAh

_PushRealO2 EQU 43B7h

_PushRealO3 EQU 43B4h

_PushRealO4 EQU 43B1h

_PushRealO5 EQU 43AEh

_PushRealO6 EQU 43ABh

_PutC EQU 4504h

_PutMap EQU 4501h

_PutPS EQU 4510h

_PutS EQU 450Ah

_PutTokString EQU 4960h

_PutToL EQU 4645h

_PutToMat EQU 461Eh



_RandInit EQU 4B7Fh

_Random EQU 4B79h

_Rcl_StatVar EQU 42DCh

_RclAns EQU 4AD7h

_RclGDB2 EQU 47D1h

_RclN EQU 4ADDh

_RclSysTok EQU 4AE6h

_RclVarSym EQU 4AE3h

_RclX EQU 4AE0h

_RclY EQU 4ADAh

_Rec1stByte EQU 4EFAh

_Rec1stByteNC EQU 4EFDh

_RecAByteIO EQU 4F03h

_RedimMat EQU 4A26h

_Regraph EQU 488Eh

_ReloadAppEntryVecs EQU 4C36h

_RestoreDisp EQU 4870h

_RName EQU 427Fh

_RndGuard EQU 409Fh

_RnFx EQU 40A2h

_Round EQU 40A8h

_RToD EQU 4078h

_RToP EQU 40F6h

_RunIndicOff EQU 4570h

_RunIndicOn EQU 456Dh



_SaveDisp EQU 4C7Bh

_SendAByte EQU 4EE5h

_SetAllPlots EQU 4FCCh

_SetFuncM EQU 4840h

_SetNorm_Vals EQU 49FCh

_SetParM EQU 4849h

_SetPolM EQU 4846h

_SetSeqM EQU 4843h

_SetTblGraphDraw EQU 4C00h

_SetupPagedPtr EQU 5020h

_SetXXOP1 EQU 478Ch

_SetXXOP2 EQU 478Fh

_SetXXXXOP2 EQU 4792h

_SFont_Len EQU 4786h

_Sin EQU 40BDh

_SinCosRad EQU 40BAh

_SinH EQU 40CFh

_SinHCosH EQU 40C6h

_SqRoot EQU 409Ch

_SrchVLstDn EQU 4F12h

_SrchVLstUp EQU 4F0Fh

_SStringLength EQU 4CB4h

_StMatEl EQU 4AE9h

_StoAns EQU 4ABFh

_StoGDB2 EQU 47CEh

_StoN EQU 4ACBh

_StoOther EQU 4AD4h

_StoR EQU 4AC5h

_StoRand EQU 4B7Ch

_StoSysTok EQU 4ABCh

_StoT EQU 4ACEh

_StoTheta EQU 4AC2h

_StoX EQU 4AD1h

_StoY EQU 4AC8h

_StrCopy EQU 44E3h

_StrLength EQU 4C3Fh



_Tan EQU 40C3h

_TanH EQU 40C9h

_TanLnF EQU 48BBh

_TenX EQU 40B7h

_ThetaName EQU 427Ch

_ThreeExec EQU 4675h

_Times2 EQU 4066h

_TimesPt5 EQU 407Eh

_TName EQU 428Eh

_ToFrac EQU 4657h

_Trunc EQU 4060h



_UCLineS EQU 4795h

_UnLineCmd EQU 48AFh

_UnOPExec EQU 4672h



_VertCmd EQU 48A9h

_VPutMap EQU 455Eh

_VPutS EQU 4561h

_VPutSN EQU 4564h

_VtoWHLDE EQU 47FBh





_XftoI EQU 4804h

_Xitof EQU 47FEh

_XName EQU 4288h

_XRootY EQU 479Eh





3

Voici les screenshot qui montrent comment je compile puis lance le programme.

J'ai du enlever un morceau de tokens.inc pour que ça passe :


tokens.inc

.nolist
; length (+80h for leading blank)
; # TOKENS IN USE = 249
; (+40h for trailing blank)
EOSSTART EQU 0
;
;
; DISPLAY CONVERSIONS COME IMMEDIATELY BEFORE 'TSTORE'
;
DCONV EQU 01H
;
TTODMS equ DCONV ; 01H
TTODEC equ DCONV+1 ; 02H
TTOAbc EQU DCONV+2 ; 03H > A b/c
;
TSTORE equ DCONV+3 ; 04H Lstore 01
;
TBOXPLOT EQU 05h
;
BRACKS EQU 06H
;
tLBrack equ BRACKS ; 06h '['
tRBrack equ BRACKS+1 ; 07h ']'
tLBrace equ BRACKS+2 ; 08h '{'
tRBrace equ BRACKS+3 ; 09h '}'
;
TPOST1 EQU BRACKS+4
;
tFromRad equ TPOST1 ; 0Ah Lradian
tFromDeg equ TPOST1+1 ; 0Bh Ldegree
tRecip equ TPOST1+2 ; 0Ch Linverse
tSqr equ TPOST1+3 ; 0Dh Lsquare
tTrnspos equ TPOST1+4 ; 0Eh Ltranspose
TCUBE EQU TPOST1+5 ; 0Fh '^3'
;
tLParen equ 10H ; 10h '('
tRParen equ 11H ; 11h ')'
;
;
; IMMEDIATE UNARY TOKENS GO FROM HERE TO 'EOSEL-1'
;
IMUN EQU 12H
;
tRound equ IMUN ; 12h 'round'
TPXTST equ IMUN+1 ; 13h 'PXL-TEST'
tAug equ IMUN+2 ; 14h 'aug'
tRowSwap EQU IMUN+3 ; 15h 'rSwap'
tRowPlus equ IMUN+4 ; 16h 'rAdd'
tmRow EQU IMUN+5 ; 17h 'multR'
tmRowPlus EQU IMUN+6 ; 18h 'mRAdd'
tMax equ IMUN+7 ; 19H 'max'
tMin equ IMUN+8 ; 1AH 'min'
TRTOPr EQU IMUN+9 ; 1BH 'R>Pr
TRTOPo EQU IMUN+10 ; 1CH 'R>Po
TPTORx EQU IMUN+11 ; 1DH 'P>Rx
TPTORy EQU IMUN+12 ; 1EH 'P>Ry
tMEDIAN equ IMUN+13 ; 1Fh 'MEDIAN
tRandM equ IMUN+14 ; 20h 'randM'
TMEAN EQU IMUN+15 ; 21h
TROOT EQU IMUN+16 ; 22h 'ROOT'
tSeries equ IMUN+17 ; 23h 'seq'
tFnInt equ IMUN+18 ; 24h 'fnInt'
tNDeriv equ IMUN+19 ; 25h 'fnIr'
TEVALF EQU IMUN+20 ; 26h
TFMIN EQU IMUN+21 ; 27h
TFMAX EQU IMUN+22 ; 28h
;
;
;
; TOKEN 29H CANNOT BE AN EOS FUNCTION SINCE EL(=29H ALREADY
;
tEOSEL EQU IMUN+23
;
TSPACE EQU tEOSEL ; 29h ' '
tString equ tEOSEL+1 ; 2Ah '"'
tComma equ tEOSEL+2 ; 2Bh ','
;
;
;
Tii equ 2Ch ; i
;
; ===== Postfix functions
;
TPOST EQU 2Dh
;
tFact equ TPOST ; 2Dh '!'



TCUBICR EQU 2Eh
TQUARTR EQU 2Fh

;
; NUMBER TOKENS
;
NUMS EQU 30h
;
T0 EQU NUMS ; 30h
T1 EQU NUMS+1 ; 31h
T2 EQU NUMS+2 ; 32h
T3 EQU NUMS+3 ; 33h
T4 EQU NUMS+4 ; 34h
T5 EQU NUMS+5 ; 35h
T6 EQU NUMS+6 ; 36h
T7 EQU NUMS+7 ; 37h
T8 EQU NUMS+8 ; 38h
T9 EQU NUMS+9 ; 39h
TDECPT EQU NUMS+10 ; 3Ah
Tee EQU NUMS+11 ; 3Bh
;
; BINARY OP
;
tOr equ 3Ch ; 3Ch '_or_'
TXOR equ 3Dh ; 3Dh
;
tColon equ 3Eh ; 3Eh ':'
tEnter equ 3Fh ; 3Fh Lenter
;
; BINARY OP
;
tAnd equ 40h ; 40h '_and_' 05
;
; LETTER TOKENS
;
LET EQU 41h
;
TA EQU LET ; 41h
TB EQU LET+1 ; 42h
TC EQU LET+2 ; 43h
TD EQU LET+3 ; 44h
TE EQU LET+4 ; 45h
TF EQU LET+5 ; 46h
TG EQU LET+6 ; 47h
TH EQU LET+7 ; 48h
TI EQU LET+8 ; 49h
TJ EQU LET+9 ; 4Ah
TK EQU LET+10 ; 4Bh
TL EQU LET+11 ; 4Ch
TM EQU LET+12 ; 4Dh
TN EQU LET+13 ; 4Eh
TO EQU LET+14 ; 4Fh
TP EQU LET+15 ; 50h
TQ EQU LET+16 ; 51h
TR EQU LET+17 ; 52h
TS EQU LET+18 ; 53h
TT EQU LET+19 ; 54h
TU EQU LET+20 ; 55h
TV EQU LET+21 ; 56h
TW EQU LET+22 ; 57h
TX EQU LET+23 ; 58h
TY EQU LET+24 ; 59h
TZ EQU LET+25 ; 5Ah
TTHETA EQU LET+26 ; 5Bh
;
;
; THESE VAR TOKENS ARE 1ST OF A DOUBLE TOKEN
;
; SEE 'VARS.DOC' FOR MORE INFO ON VARS
;
VTOKS EQU LET+27 ;
;
; USER MATRIX TOKEN, 2ND TOKEN NEEDED FOR NAME
;
TVARMAT EQU VTOKS ; 5Ch
;
; USER LIST TOKEN, 2ND TOKEN NEEDED FOR NAME
;
TVARLST EQU VTOKS+1 ; 5Dh
;
; USER EQUATION TOKEN, 2ND TOKEN NEEDED FOR NAME
;
TVAREQU EQU VTOKS+2 ; 5Eh
;
; THIS IS A SINGLE TOKEN, I WILL HAVE TO READ THE NAME IN
; EVERY SINGLE TIME I EXECUTE
;
TPROG EQU VTOKS+3 ; 5Fh
;
; USER PICT TOKEN, 2ND TOKEN NEEDED FOR NAME
;
TVARPICT EQU VTOKS+4 ; 60h
;
; USER GDB TOKEN, 2ND TOKEN NEEDED FOR NAME
;
TVARGDB EQU VTOKS+5 ; 61h
;
; SYSTEM VARS THAT ARE USED FOR OUTPUT ONLY
; CANNOT BE STORED TO BY THE USER
;
tVarOut equ VTOKS+6 ; 62h
;
; SYSTEM VARS THAT ARE NOT IN THE SYMBOL TABLE
; BUT THE USER CAN STORE TO THEM.
;
tVarSys equ VTOKS+7 ; 63h
;
;
; ===== Mode setting commands
;
MODESA EQU VTOKS+8 ; 64h
;
tRad equ MODESA ; 64h 'Radian'
tDeg equ MODESA+1 ; 65h 'Degree'
tNormF equ MODESA+2 ; 66h 'Normal'
tSci equ MODESA+3 ; 67h 'Sci'
tEng equ MODESA+4 ; 68h 'Eng'
tFloat equ MODESA+5 ; 69h 'Float'
;
CMPS EQU 6Ah
;
tEQ equ CMPS ; 6Ah '=='
tLT equ CMPS+1 ; 6Bh '<'
tGT equ CMPS+2 ; 6Ch '>'
tLE equ CMPS+3 ; 6Dh LLE
tGE equ CMPS+4 ; 6Eh LGE
tNE equ CMPS+5 ; 6Fh LNE
;
; BINARY OP
;
tAdd equ 70h ; 70h '+'
tSub equ 71h ; 71h '-'
;
TANS EQU 72H ; 72h
;
; ===== Mode setting commands
;
MODES EQU 73h
;
tFix equ MODES ; 73h 'Fix_'
TSPLITON equ MODES+1 ; 74h
TFULLSCREEN EQU MODES+2 ; 75h
tStndrd EQU MODES+3 ; 76h 'Func'
tParam equ MODES+4 ; 77h 'Param'
tPolar EQU MODES+5 ; 78h 'Pol'
TSEQG equ MODES+6 ; 79h
TAFILLON equ MODES+7 ; 7Ah 'AUTO FILL ON
TAFILLOFF equ MODES+8 ; 7Bh
TACALCON EQU MODES+9 ; 7Ch
TACALCOFF equ MODES+10 ; 7Dh 'AUTOFILL OFF
;
;
; GRAPH FORMAT TOKENS ARE 2 BYTE TOKENS
;
TGFORMAT EQU MODES+11 ; 7Eh
;
TBOXICON equ 7Fh
TCROSSICON EQU 80h
TDOTICON EQU 81h
;
; BINARY OP
;
tMul equ 82h ; 82h '*'
tDiv equ 83h ; 83h '/'
;
; SOME GRAPH COMMANDS
;
GRCMDS EQU 84h
;
tTrace equ GRCMDS ; 84h 'Trace'
tClDrw equ GRCMDS+1 ; 85h 'ClDrw'
tZoomStd equ GRCMDS+2 ; 86h 'ZStd'
tZoomtrg equ GRCMDS+3 ; 87h 'Ztrg'
tZOOMBOX EQU GRCMDS+4 ; 88h 'ZBOX'
tZoomIn equ GRCMDS+5 ; 89h 'ZIn'
tZoomOut equ GRCMDS+6 ; 8Ah 'ZOut'
tZoomSqr equ GRCMDS+7 ; 8Bh 'ZSqr'
tZoomInt equ GRCMDS+8 ; 8Ch 'ZInt'
tZoomPrev equ GRCMDS+9 ; 8Dh 'ZPrev'
tZoomDec equ GRCMDS+10 ; 8Eh 'ZDecm'
TZOOMSTAT EQU GRCMDS+11 ; 8Fh 'ZSTAT
tUsrZm equ GRCMDS+12 ; 90h 'ZRcl'
tPrtScrn equ GRCMDS+13 ; 91h 'PrtScrn'
tZOOMSTO EQU GRCMDS+14 ; 92H ZOOM STORE
TTEXT EQU GRCMDS+15 ; 93h
;
; BINARY OP
;
tnPr equ GRCMDS+16 ; 94h '_nPr_'
tnCr equ GRCMDS+17 ; 95h '_nCr_'
;
; MORE GRAPH COMMANDS
;
tYOn equ GRCMDS+18 ; 96h 'FnOn_'
tYOff equ GRCMDS+19 ; 97h 'FnOff_'
tStPic equ GRCMDS+20 ; 98h 'StPic_'
tRcPic equ GRCMDS+21 ; 99h 'RcPic_'
tStoDB equ GRCMDS+22 ; 9Ah 'StGDB_'
tRclDB equ GRCMDS+23 ; 9Bh 'RcGDB_'
tLine equ GRCMDS+24 ; 9Ch 'Line'
tVert equ GRCMDS+25 ; 9Dh 'Vert_'
tPtOn equ GRCMDS+26 ; 9Eh 'PtOn'
tPtOff equ GRCMDS+27 ; 9Fh 'PtOff'
;
; TOKEN A0 CANNOT BE AN EOS FUNCTION SINCE LOW MULT=A0 ALREADY
;
tPtChg equ GRCMDS+28 ; A0h 'PtChg'
TPXON EQU GRCMDS+29 ; A1h
TPXOFF EQU GRCMDS+30 ; A2h
TPXCHG EQU GRCMDS+31 ; A3h
tShade equ GRCMDS+32 ; A4h 'Shade'
tCircl equ GRCMDS+33 ; A5h 'Circl'
tHORZ equ GRCMDS+34 ; A6h 'HORIZONTAL'
tTanLn equ GRCMDS+35 ; A7h 'TanLn'
tDrInv equ GRCMDS+36 ; A8h 'DrInv_'
tDrawF equ GRCMDS+37 ; A9h 'DrawF_'
;
TVARSTRNG EQU 0AAh
;
; ===== Functions with no arguments
;
NOARG EQU 0ABh
;
tRand equ NOARG ; ABh 'rand'
tPi equ NOARG+1 ; ACh Lpi
tGetKey equ NOARG+2 ; ADh 'getKy'
;
;
TAPOST EQU TGETKEY+1 ; APOSTROPHY
TQUEST EQU TAPOST+1 ; QUESTION MARK
;
;
; ===== Unary functions
;
; UNARY : THESE UNARY FUNCTIONS TAKE A COMBINATION OF
; ARGUMENTS, REAL,LIST,MATRIX
;
UNARY EQU TQUEST+1 ; B0h
;
tChs equ UNARY ; B0h
tInt equ UNARY+1 ; B1h
TABS equ UNARY+2 ; B2h
tDet equ UNARY+3 ; B3h
tIdent equ UNARY+4 ; B4h
tDim equ UNARY+5 ; B5h
tSum equ UNARY+6 ; B6h
tProd equ UNARY+7 ; B7h
tNot equ UNARY+8 ; B8h
tIPart equ UNARY+9 ; B9h
tFPart equ UNARY+10 ; BAh
;
;
; NEW 2 BYTE TOKENS
;
T2BYTETOK EQU 0BBh ;
;
;
; UNARYLR : UNARY FUNCTIONS THAT ONLY WORK WITH
; REAL NUMBERS AND LISTS
;
UNARYLR EQU UNARY+12
;
tSqrt equ UNARYLR ; BCh
TCUBRT equ UNARYLR+1 ; BDh
tLn equ UNARYLR+2 ; BEh
tExp equ UNARYLR+3 ; BFh
tLog equ UNARYLR+4 ; C0h
tALog equ UNARYLR+5 ; C1h
tSin equ UNARYLR+6 ; C2h
tASin equ UNARYLR+7 ; C3h
tCos equ UNARYLR+8 ; C4h
tACos equ UNARYLR+9 ; C5h
tTan equ UNARYLR+10 ; C6h
tATan equ UNARYLR+11 ; C7h
tSinh equ UNARYLR+12 ; C8h
tASinh equ UNARYLR+13 ; C9h
tCosh equ UNARYLR+14 ; CAh
tACosh equ UNARYLR+15 ; CBh
tTanh equ UNARYLR+16 ; CCh
tATanh equ UNARYLR+17 ; CDh
;
; SOME PROGRAMMING COMMANDS
;
PROGTOK EQU UNARYLR+18
;
tIf equ PROGTOK ; CEh
tThen equ PROGTOK+1 ; CFh
tElse equ PROGTOK+2 ; D0h
tWhile equ PROGTOK+3 ; D1h
tRepeat equ PROGTOK+4 ; D2h
tFor equ PROGTOK+5 ; D3h
tEnd equ PROGTOK+6 ; D4h
tReturn equ PROGTOK+7 ; D5h
tLbl equ PROGTOK+8 ; D6h 'Lbl_'
tGoto equ PROGTOK+9 ; D7h 'Goto_'
tPause equ PROGTOK+10 ; D8h 'Pause_'
tStop equ PROGTOK+11 ; D9h 'Stop'
tISG equ PROGTOK+12 ; DAh 'IS>'
tDSL equ PROGTOK+13 ; DBh 'DS<'
tInput equ PROGTOK+14 ; DCh 'Input_'
tPrompt equ PROGTOK+15 ; DDh 'Prompt_'
tDisp equ PROGTOK+16 ; DEh 'Disp_'
tDispG equ PROGTOK+17 ; DFh 'DispG'
;
; TOKEN E0 CANNOT BE AN EOS FUNCTION SINCE HI MU
;
tOutput equ PROGTOK+18 ; E0H 'Outpt'
tClLCD equ PROGTOK+19 ; E1H 'ClLCD'
tConst equ PROGTOK+20 ; E2H 'Fill'
tSortA equ PROGTOK+21 ; E3H 'sortA_'
tSortD equ PROGTOK+22 ; E4H 'sortD_'
TDISPTAB EQU PROGTOK+23 ; E5h 'DISP TABLE
tMenu equ PROGTOK+24 ; E6H 'Menu'
tSENDMBL EQU PROGTOK+25 ; E7H 'SEND'
tGETMBL EQU PROGTOK+26 ; E8H 'GET'
;
; STAT PLOT COMMANDS
;
STATPCMD EQU PROGTOK+27
;
TPLOTON EQU STATPCMD ; E9h ' PLOTSON'
TPLOTOFF EQU STATPCMD+1 ; EAh ' PLOTSOFF
;
TLISTNAME EQU 0EBH ; LIST DESIGNATOR
;
;
;
TPLOT1 EQU 0ECH
TPLOT2 EQU 0EDH
TPLOT3 EQU 0EEH
;
tPower equ 0F0h ; '^'
tXRoot equ 0F1h ; LsupX,Lroot

STATCMD EQU 0F2h
;
tOneVar equ STATCMD ; F2h 'OneVar_'
TTWOVAR EQU STATCMD+1 ; F3h
tLR equ STATCMD+2 ; F4h 'LinR(A+BX
tLRExp equ STATCMD+3 ; F5h 'ExpR_'
tLRLn equ STATCMD+4 ; F6h 'LnR_'
tLRPwr equ STATCMD+5 ; F7h 'PwrR_'
TMEDMED EQU STATCMD+6 ; F8h
TQUAD EQU STATCMD+7 ; F9h
tCLRLST equ STATCMD+8 ; FAh 'CLEAR LIST
TCLRTBL EQU STATCMD+9 ; FBH CLEAR TABLE
tHist equ STATCMD+10 ; FCh 'Hist_'
txyLine equ STATCMD+11 ; FDH 'xyline_'
tScatter equ STATCMD+12 ; FEh 'Scatter_'
tLR1 equ STATCMD+13 ; FFh 'LINR(AX+B


;
; 2ND HALF OF GRAPH FORMAT TOKENS
;
; ===== Format settings commands
;
GFMT EQU 0
;
tSeq equ GFMT ; 'SeqG'
tSimulG equ GFMT+1 ; 'SimulG'
tPolarG equ GFMT+2 ; 'PolarGC'
tRectG equ GFMT+3 ; 'RectGC'
tCoordOn equ GFMT+4 ; 'CoordOn'
tCoordOff equ GFMT+5 ; 'CoordOff'
tDrawLine equ GFMT+6 ; 'DrawLine'
tDrawDot equ GFMT+7 ; 'DrawDot'
tAxisOn equ GFMT+8 ; 'AxesOn'
tAxisOff equ GFMT+9 ; 'AxesOff'
tGridOn equ GFMT+10 ; 'GridOn'
tGridOff equ GFMT+11 ; 'GridOff'
tLblOn equ GFMT+12 ; 'LabelOn'
tLblOff equ GFMT+13 ; 'LabelOff'
tWebOn equ GFMT+14 ; 'WebOn'
tWebOff equ GFMT+15 ; 'WebOFF'
TUV EQU GFMT+16 ; U vs V
TVW EQU GFMT+17 ; V vs W
TUW EQU GFMT+18 ; U vs W


5jVM (hello1.png)
pjkq (hello3.png)
b5B8 (hello4.png)
oj4g (hello5.png)
lMnC (hellobug.png)

4

Ca ne marche pas non plus si j'enlève les .end END
hello.z80 modif

.NOLIST			; Définie la zone qui n'est pas du code
#include "ti83asm.inc"
#include "tokens.inc"
#define end .end
#define END .end
#define equ .equ
#define EQU .equ


.LIST			; Définie la zone qui est du code
.org 9327h
	call _clrLCDFull
       ret


Si je commente call _clrLCDFull ça ne marche pas non plus :
hello.z80 modif2

.NOLIST			; Définie la zone qui n'est pas du code
#include "ti83asm.inc"
#include "tokens.inc"
#define end .end
#define END .end
#define equ .equ
#define EQU .equ


.LIST			; Définie la zone qui est du code
.org 9327h
	;call _clrLCDFull
       ret
.end
END

5

Avec ce fichier include ça ne fonctionne pas non plus :
TI83ASM.INC

;

; TI83 SYSTEM ROUTINE EQUATES

;

_CLRLCDFULL equ 4755h

_clrScrnFull equ 475Dh

_CLRTXTSHD equ 4765h

_dispDone equ 47F1h

_dispHL equ 4709h

_DISPOP1A equ 51D4h

_eraseEOL equ 476Dh

_formDCplx equ 4D2Eh

_formReal equ 4D32h

_GDISPTOKEN equ 4B20h

_homeUp equ 4775h

_lcd_busy equ 4066h

_moveup equ 474Dh

_newline equ 473Dh

_outputExpr equ 5106h

_putc equ 4705h

_putmap equ 4701h

_putps equ 4715h

_puts equ 470Dh

_runIndicOff equ 4795h

_runIndicOn equ 4791h

_scrollDown equ 4751h

_scrollUp equ 4745h

_setPenT equ 51B9h

_setPenX equ 51A7h

_setPenY equ 51B0h

_SFONT_LEN equ 4A6Ch

_VPUTBLANK equ 4C53h

_vputmap equ 477Dh

_vputs equ 4781h

_vputsn equ 4785h

_Axes equ 519Eh

_CLine equ 4A84h

_CPointS equ 4B00h

_GRBUFCLR equ 515Bh

_GRBUFCPY_V equ 5164h

_HORIZCMD equ 4BEFh

_ILINE equ 4AE4h

_IPOINT equ 4AE8h

_moveDown equ 4741h

_PDspGrph equ 4BEBh

_PUTXY equ 4BE4h

_REGRAPH equ 4BCCh

_VERTCMD equ 4BF3h

_GetK equ 4A18h

_getkey equ 4CFEh

_ADRLELE equ 489Dh

_GETLTOOP1 equ 48A9h

_PUTTOL equ 48BDh

_ADRMELE equ 486Dh

_GETMTOOP1 equ 487Dh

_PUTTOMAT equ 4889h

_ACOS equ 4122h

_ACOSH equ 413Ah

_ANGLE equ 4152h

_ASIN equ 412Ah

_ASINH equ 4136h

_ATAN equ 4126h

_ATANH equ 4132h

_Ceiling equ 4BE0h

_COS equ 40FAh

_COSH equ 410Ah

_CUBE equ 409Eh

_DTOR equ 4096h

_ETOX equ 40EAh

_FACTORIAL equ 50C6h

_FPADD equ 4092h

_FPDIV equ 40C6h

_FPMULT equ 40AAh

_FPRECIP equ 40C2h

_FPSQUARE equ 40A6h

_FPSUB equ 408Eh

_FRAC equ 40BEh

_INT equ 40D6h

_INTGR equ 4076h

_INVOP1SC equ 40B2h

_INVSUB equ 407Eh

_LNX equ 40DEh

_LOGX equ 40E2h

_MAX equ 406Eh

_MIN equ 406Ah

_MINUS1 equ 408Ah

_PLUS1 equ 4086h

_PTOR equ 413Eh

_RANDOM equ 50B6h

_RNDGUARD equ 40CEh

_ROUND equ 40DAh

_RTOD equ 409Ah

_RTOP equ 4142h

_SIN equ 40F6h

_SINH equ 410Eh

_SQROOT equ 40CAh

_STORAND equ 50BAh

_TAN equ 40FEh

_TANH equ 4106h

_TENX equ 40EEh

_TIMES2 equ 4082h

_TIMESPT5 equ 40A2h

_TRUNC equ 407Ah

_XROOTY equ 4A8Ch

_YTOX equ 4A90h

_CHKFINDSYM equ 442Ah

_DELVAR equ 44AAh

_RCLSYSTOK equ 4EF0h

_RCLVARSYM equ 4EECh

_RCLX equ 4EE8h

_RCLY equ 4EE0h

_RSTRSHADOW equ 47A1h

_SAVESHADOW equ 479Dh

_STOOTHER equ 4ED8h

_STOSYSTOK equ 4EB8h

_STOX equ 4ED4h

_STOY equ 4EC8h

_CKINT equ 4322h

_CKODD equ 4326h

_CKOP1FP0 equ 4312h

_CKOP1POS equ 435Ah

_CKOP1REAL equ 414Eh

_CKOP2FP0 equ 4316h

_CKOP2POS equ 4356h

_CKOP2REAL equ 4412h

_CKPOSINT equ 431Eh

_CLROP1S equ 4362h

_CLROP2S equ 435Eh

_CONVOP1 equ 4EFCh

_cphlde equ 4004h

_CPOP1OP2 equ 4166h

_divHLbyA equ 400Ch

_HTIMESL equ 4382h

_INVOP1S equ 40B6h

_INVOP2S equ 40BAh

_ldHLind equ 4000h

_MOVFROP1 equ 4212h

_OP1EXOP2 equ 4306h

_OP1EXOP3 equ 42FEh

_OP1EXOP4 equ 4302h

_OP1EXOP5 equ 42EEh

_OP1EXOP6 equ 42F2h

_OP1SET0 equ 4286h

_OP1SET1 equ 4232h

_OP1SET2 equ 4242h

_OP1SET3 equ 423Ah

_OP1SET4 equ 4236h

_OP1TOOP2 equ 418Eh

_OP1TOOP3 equ 417Eh

_OP1TOOP4 equ 416Eh

_OP1TOOP5 equ 41BEh

_OP1TOOP6 equ 41BAh

_OP2EXOP4 equ 42F6h

_OP2EXOP5 equ 42FAh

_OP2EXOP6 equ 42E6h

_OP2SET0 equ 4282h

_OP2SET1 equ 4252h

_OP2SET2 equ 4246h

_OP2SET3 equ 422Eh

_OP2SET4 equ 422Ah

_OP2SET5 equ 4222h

_OP2SET60 equ 4EA8h

_OP2SET8 equ 421Eh

_OP2SETA equ 4226h

_OP2TOOP1 equ 41C2h

_OP2TOOP3 equ 41F6h

_OP2TOOP4 equ 4172h

_OP2TOOP5 equ 41B2h

_OP2TOOP6 equ 41B6h

_OP3SET0 equ 427Eh

_OP3SET1 equ 421Ah

_OP3SET2 equ 423Eh

_OP3TOOP1 equ 41A2h

_OP3TOOP2 equ 417Ah

_OP3TOOP4 equ 416Ah

_OP3TOOP5 equ 41AEh

_OP4SET0 equ 427Ah

_OP4SET1 equ 4216h

_OP4TOOP1 equ 419Ah

_OP4TOOP2 equ 4176h

_OP4TOOP3 equ 41FAh

_OP4TOOP5 equ 41AAh

_OP4TOOP6 equ 4202h

_OP5EXOP6 equ 42EAh

_OP5SET0 equ 4276h

_OP5TOOP1 equ 419Eh

_OP5TOOP2 equ 4182h

_OP5TOOP3 equ 41FEh

_OP5TOOP4 equ 418Ah

_OP5TOOP6 equ 4186h

_OP6TOOP1 equ 4196h

_OP6TOOP2 equ 4192h

_OP6TOOP5 equ 41A6h

_PUSHREALO1 equ 4536h

_SETXXOP1 equ 4A74h

_SETXXOP2 equ 4A78h

_SETXXXXOP2 equ 4A7Ch

_ZEROOOP1 equ 428Eh

_IO_EXEC equ 51EFh



;

; OP1 TO OP6 RAM EQUATES

;

OP2 EQU 8044h

op2exp equ 8045h

op2m equ 8046H

OP1M EQU 803Bh

OP1 EQU 8039h

OP3 EQU 804Fh

OP3EXP EQU 8050h

OP3EXT EQU 8058h

OP3M EQU 8051h

OP4 EQU 805Ah

OP4EXP EQU 805Bh

OP4EXT EQU 8063h

OP4M EQU 805Ch

OP5 EQU 8065h

OP5EXP EQU 8066h

OP5EXT EQU 806Eh

OP5M EQU 8067h

OP6 EQU 8070h

OP6EXP EQU 8071h

OP6EXT EQU 8079h

OP6M EQU 8072h

;

; POINTERS

;

IMATHPTR1 EQU 8094h

IMATHPTR2 EQU 8096h

IMATHPTR3 EQU 8098h

IMATHPTR4 EQU 809Ah

IMATHPTR5 EQU 809Ch

;

; POIONTER TO START OF PROGRAM/LIST SYMBOL ENTRIES

;

PROGPTR EQU 9319h

;

; ADDRESS OF LCD DRIVER INSTRUCTION PORT

;

LCDINSTPORT EQU 10h

;

; SCREEN SHADOWS

;

TEXTSHADOW EQU 80C9h

CMDSHADOW EQU 9157h

;

; GRAPH BACKUP BUFFER

;

PLOTSSCREEN EQU 8E29h

;

; SAFE RAM LOCATIONS

;

SAVESSCREEN EQU 8265h

STATVARS EQU 858Fh

;

; START OF SYMBOL TABLE

;

SYMTABLE EQU 0FE6Eh

;

; RAM EQUATES DEALING WITH DISPLAY ROUTINES

;

CURROW EQU 800Ch

CURCOL EQU 800Dh

PENCOL EQU 8252h

PENROW EQU 8253h

CURGY EQU 886Dh

CURGX EQU 886Eh

;

; INDIRECT CALL BYTE

;

ASM_IND_CALL EQU 80C8h

;

; LINK PORT WRITE EQUATES

;

D0LD1L EQU 0C3h

D0LD1H EQU 0C1h

D0HD1L EQU 0C2h

D0HD1H EQU 0C0h

BPORT EQU 0

;

; SYSTEM FLAG EQUATES

; ALL OF THESE FLAGS CAN BE ACCESSED THROUGH THE 'IY' REGISTER

;

trigflags EQU 0 ; IY OFFSET VALUE

trigdeg EQU 2

;

plotflags EQU 2 ; IY OFFSET VALUE

plotloc EQU 1

plotdisp EQU 2

;

grfmodeflags EQU 2 ; IY OFFSET VALUE

grffuncm EQU 4

grfpolarm EQU 5

grfparamm EQU 6

grfrecurm EQU 7

;

graphflags EQU 3 ; IY OFFSET VALUE

graphdraw EQU 0

graphcursor EQU 2

;

grfdbflags EQU 4 ; IY OFFSET VALUE

grfdot EQU 0

grfsimul EQU 1

grfgrid EQU 2

grfpolar EQU 3

grfnocoord EQU 4

grfnoaxis EQU 5

grflabel EQU 6

;

textflags EQU 5 ; IY OFFSET VALUE

textEraseBelow EQU 1

textScrolled EQU 2

textInverse EQU 3

;

onflags EQU 9 ; IY OFFSET VALUE

onRunning EQU 3

onInterrupt EQU 4

;

statflags EQU 9 ; IY OFFSET VALUE

statsvalid EQU 6

;

fmtflags EQU 10 ; IY OFFSET VALUE

fmtExponent EQU 0

fmtEng EQU 1

;

nummode EQU 10 ; IY OFFSET VALUE

FMTREAL EQU 5

FMTRECT EQU 6

FMTPOLAR EQU 7

;

curflags EQU 12 ; IY OFFSET VALUE

curAble EQU 2

curOn EQU 3

curLock EQU 4

;

appflags EQU 13 ; IY OFFSET VALUE

appTextSave EQU 1

appAutoScroll EQU 2

;

PLOTFLAG2 EQU 17 ; IY OFFSET VALUE

EXPR_PARAM EQU 3

EXPR_WRITING EQU 4

;

indicflags EQU 18 ; IY OFFSET VALUE

indicRun EQU 0

indicOnly EQU 2

;

shiftflags EQU 18 ; IY OFFSET VALUE

shift2nd EQU 3

shiftAlpha EQU 4

shiftALock EQU 6

;

tblflags EQU 19 ; IY OFFSET VALUE

AutoFill EQU 4

AutoCalc EQU 5

;

sgrflags EQU 20 ; IY OFFSET VALUE

grfSplit EQU 0

VertSplit EQU 1

WRITE_ON_GRAPH EQU 4

textwrite EQU 7

;

asm_flag1 EQU 33 ; IY OFFSET VALUE

asm_flag1_0 EQU 0

asm_flag1_1 EQU 1

asm_flag1_2 EQU 2

asm_flag1_3 EQU 3

asm_flag1_4 EQU 4

asm_flag1_5 EQU 5

asm_flag1_6 EQU 6

asm_flag1_7 EQU 7

;

asm_flag2 EQU 34 ; IY OFFSET VALUE

asm_flag2_0 EQU 0

asm_flag2_1 EQU 1

asm_flag2_2 EQU 2

asm_flag2_3 EQU 3

asm_flag2_4 EQU 4

asm_flag2_5 EQU 5

asm_flag2_6 EQU 6

asm_flag2_7 EQU 7

;

asm_flag3 EQU 35 ; IY OFFSET VALUE

asm_flag3_0 EQU 0

asm_flag3_1 EQU 1

asm_flag3_2 EQU 2

asm_flag3_3 EQU 3

asm_flag3_4 EQU 4

asm_flag3_5 EQU 5

asm_flag3_6 EQU 6

asm_flag3_7 EQU 7

;

; SYSTEM VAR EQUATES, FOR STORING AND RECALLING THEM

;

XSCLt EQU 2 ; XSCALE

YSCLt EQU 3 ; YSCALE

XMINt EQU 0AH ; XMIN

XMAXt EQU 0BH ; XMAX

YMINt EQU 0CH ; YMIN

YMAXt EQU 0DH ; XMAX

TMINt EQU 0EH ; TMIN

TMAXt EQU 0FH ; TMAX

THETMINt EQU 10H ; THETA MIN

THETMAXt EQU 11H ; THETA MAX

TBLMINt EQU 1AH ; TABLE MIN

PLOTSTARTt EQU 1BH ; PLOT START

NMAXt EQU 1DH ; NMAX

nmint EQU 1FH ; NMIN

TBLSTEPt EQU 21H ; TABLE STEP

TSTEPt EQU 22H ; T STEP

THETSTEPt EQU 23H ; THETA STEP

DELTAXt EQU 26H ; DELTA X

DELTAYt EQU 27H ; DELTA Y

XFACTt EQU 28H ; X ZOOM FACTOR

YFACTt EQU 29H ; Y ZOOM FACTOR

FINnT EQU 2Bh ; TVM n

FINiT EQU 2Ch ; TVM i

FINpvT EQU 2Dh ; TVM pv

FINpmtT EQU 2Eh ; TVM pmt

FINfvT EQU 2Fh ; TVM fv

FINpyT EQU 30h ; TVM p/y

FINcyT EQU 31h ; TVM c/y

PLOTSTEPT EQU 34h ; PLOT STEP

XREST EQU 36h ; X RES



































;

; CHARACTER FONT EQUATES

;

LSEQ_N equ 001h

LSEQ_U equ 002h

LSEQ_V equ 003h

LSEQ_W equ 004h

Lconvert equ 005h

LsqUp equ 006h

LsqDown equ 007h

Lintegral equ 008h

Lcross equ 009h

LBOXICON equ 00Ah

LCROSSICON equ 00Bh

LDOTICON equ 00Ch

LsubT equ 00Dh ;small capital T for parametric mode.

LcubeR equ 00Eh ;slightly different 3 for cubed root.

LhexF equ 00Fh

Lroot equ 010h

Linverse equ 011h

Lsquare equ 012h

Langle equ 013h

Ldegree equ 014h

Lradian equ 015h

Ltranspose equ 016h

LLE equ 017h

LNE equ 018h

LGE equ 019h

Lneg equ 01Ah

Lexponent equ 01Bh

Lstore equ 01Ch

Lten equ 01Dh

LupArrow equ 01Eh

LdownArrow equ 01Fh

Lspace equ 020h

Lexclam equ 021h

Lquote equ 022h

Lpound equ 023h

LFOURTH equ 024h

Lpercent equ 025h

Lampersand equ 026h

Lapostrophe equ 027h

LlParen equ 028h

LrParen equ 029h

Lasterisk equ 02Ah

LplusSign equ 02Bh

Lcomma equ 02Ch

Ldash equ 02Dh

Lperiod equ 02Eh

Lslash equ 02Fh

L0 equ 030h

L1 equ 031h

L2 equ 032h

L3 equ 033h

L4 equ 034h

L5 equ 035h

L6 equ 036h

L7 equ 037h

L8 equ 038h

L9 equ 039h

Lcolon equ 03Ah

Lsemicolon equ 03Bh

LLT equ 03Ch

LEQ equ 03Dh

LGT equ 03Eh

Lquestion equ 03Fh

LatSign equ 040h

LcapA equ 041h

LcapB equ 042h

LcapC equ 043h

LcapD equ 044h

LcapE equ 045h

LcapF equ 046h

LcapG equ 047h

LcapH equ 048h

LcapI equ 049h

LcapJ equ 04Ah

LcapK equ 04Bh

LcapL equ 04Ch

LcapM equ 04Dh

LcapN equ 04Eh

LcapO equ 04Fh

LcapP equ 050h

LcapQ equ 051h

LcapR equ 052h

LcapS equ 053h

LcapT equ 054h

LcapU equ 055h

LcapV equ 056h

LcapW equ 057h

LcapX equ 058h

LcapY equ 059h

LcapZ equ 05Ah

Ltheta equ 05Bh

Lbackslash equ 05Ch

LrBrack equ 05Dh

Lcaret equ 05Eh

Lunderscore equ 05Fh

Lbackquote equ 060h

La equ 061h

Lb equ 062h

Lc equ 063h

Ld equ 064h

Le equ 065h

Lf equ 066h

Lg equ 067h

Lh equ 068h

Li equ 069h

Lj equ 06Ah

Lk equ 06Bh

Ll equ 06Ch

Lm equ 06Dh

Ln equ 06Eh

Lo equ 06Fh

Lp equ 070h

Lq equ 071h

Lr equ 072h

Ls equ 073h

Lt equ 074h

Lu equ 075h

Lv equ 076h

Lw equ 077h

Lx equ 078h

Ly equ 079h

Lz equ 07Ah

LlBrace equ 07Bh

Lbar equ 07Ch

LrBrace equ 07Dh

Ltilde equ 07Eh

LinvEQ equ 07Fh

Lsub0 equ 080h

Lsub1 equ 081h

Lsub2 equ 082h

Lsub3 equ 083h

Lsub4 equ 084h

Lsub5 equ 085h

Lsub6 equ 086h

Lsub7 equ 087h

Lsub8 equ 088h

Lsub9 equ 089h

LcapAAcute equ 08Ah

LcapAGrave equ 08Bh

LcapACaret equ 08Ch

LcapADier equ 08Dh

LaAcute equ 08Eh

LaGrave equ 08Fh

LaCaret equ 090h

LaDier equ 091h

LcapEAcute equ 092h

LcapEGrave equ 093h

LcapECaret equ 094h

LcapEDier equ 095h

LeAcute equ 096h

LeGrave equ 097h

LeCaret equ 098h

LeDier equ 099h

LcapIAcute equ 09Ah

LcapIGrave equ 09Bh

LcapICaret equ 09Ch

LcapIDier equ 09Dh

LiAcute equ 09Eh

LiGrave equ 09Fh

LiCaret equ 0A0h

LiDier equ 0A1h

LcapOAcute equ 0A2h

LcapOGrave equ 0A3h

LcapOCaret equ 0A4h

LcapODier equ 0A5h

LoAcute equ 0A6h

LoGrave equ 0A7h

LoCaret equ 0A8h

LoDier equ 0A9h

LcapUAcute equ 0AAh

LcapUGrave equ 0ABh

LcapUCaret equ 0ACh

LcapUDier equ 0ADh

LuAcute equ 0AEh

LuGrave equ 0AFh

LuCaret equ 0B0h

LuDier equ 0B1h

LcapCCed equ 0B2h

LcCed equ 0B3h

LcapNTilde equ 0B4h

LnTilde equ 0B5h

Laccent equ 0B6h

Lgrave equ 0B7h

Ldieresis equ 0B8h

LquesDown equ 0B9h

LexclamDown equ 0BAh

Lalpha equ 0BBh

Lbeta equ 0BCh

Lgamma equ 0BDh

LcapDelta equ 0BEh

Ldelta equ 0BFh

Lepsilon equ 0C0h

LlBrack equ 0C1h

Llambda equ 0C2h

Lmu equ 0C3h

Lpi equ 0C4h

Lrho equ 0C5h

LcapSigma equ 0C6h

Lsigma equ 0C7h

Ltau equ 0C8h

Lphi equ 0C9h

LcapOmega equ 0CAh

LxMean equ 0CBh

LyMean equ 0CCh

LsupX equ 0CDh

Lellipsis equ 0CEh

Lleft equ 0CFh

Lblock equ 0D0h

Lper equ 0D1h

Lhyphen equ 0D2h

Larea equ 0D3h

Ltemp equ 0D4h

Lcube equ 0D5h

Lenter equ 0D6h

LimagI equ 0D7h

Lphat equ 0D8h

Lchi equ 0D9h

LstatF equ 0DAh

Llne equ 0DBh

LlistL equ 0DCh

LfinanN equ 0DDh

6

Avec ce fichier TOKENS.INC ça ne marche pas non plus (j'en ai enlevé une partie) :
TOKENS.INC

; length (+80h for leading blank)

; # TOKENS IN USE = 249

; (+40h for trailing blank)

EOSSTART EQU 0

;

;

; DISPLAY CONVERSIONS COME IMMEDIATELY BEFORE 'TSTORE'

;

DCONV EQU 01H

;

TTODMS equ DCONV ; 01H

TTODEC equ DCONV+1 ; 02H

TTOAbc EQU DCONV+2 ; 03H > A b/c

;

TSTORE equ DCONV+3 ; 04H Lstore 01

;

TBOXPLOT EQU 05h

;

BRACKS EQU 06H

;

tLBrack equ BRACKS ; 06h '['

tRBrack equ BRACKS+1 ; 07h ']'

tLBrace equ BRACKS+2 ; 08h '{'

tRBrace equ BRACKS+3 ; 09h '}'

;

TPOST1 EQU BRACKS+4

;

tFromRad equ TPOST1 ; 0Ah Lradian

tFromDeg equ TPOST1+1 ; 0Bh Ldegree

tRecip equ TPOST1+2 ; 0Ch Linverse

tSqr equ TPOST1+3 ; 0Dh Lsquare

tTrnspos equ TPOST1+4 ; 0Eh Ltranspose

TCUBE EQU TPOST1+5 ; 0Fh '^3'

;

tLParen equ 10H ; 10h '('

tRParen equ 11H ; 11h ')'

;

;

; IMMEDIATE UNARY TOKENS GO FROM HERE TO 'EOSEL-1'

;

IMUN EQU 12H

;

tRound equ IMUN ; 12h 'round'

TPXTST equ IMUN+1 ; 13h 'PXL-TEST'

tAug equ IMUN+2 ; 14h 'aug'

tRowSwap EQU IMUN+3 ; 15h 'rSwap'

tRowPlus equ IMUN+4 ; 16h 'rAdd'

tmRow EQU IMUN+5 ; 17h 'multR'

tmRowPlus EQU IMUN+6 ; 18h 'mRAdd'

tMax equ IMUN+7 ; 19H 'max'

tMin equ IMUN+8 ; 1AH 'min'

TRTOPr EQU IMUN+9 ; 1BH 'R>Pr

TRTOPo EQU IMUN+10 ; 1CH 'R>Po

TPTORx EQU IMUN+11 ; 1DH 'P>Rx

TPTORy EQU IMUN+12 ; 1EH 'P>Ry

tMEDIAN equ IMUN+13 ; 1Fh 'MEDIAN

tRandM equ IMUN+14 ; 20h 'randM'

TMEAN EQU IMUN+15 ; 21h

TROOT EQU IMUN+16 ; 22h 'ROOT'

tSeries equ IMUN+17 ; 23h 'seq'

tFnInt equ IMUN+18 ; 24h 'fnInt'

tNDeriv equ IMUN+19 ; 25h 'fnIr'

TEVALF EQU IMUN+20 ; 26h

TFMIN EQU IMUN+21 ; 27h

TFMAX EQU IMUN+22 ; 28h

;

;

;

; TOKEN 29H CANNOT BE AN EOS FUNCTION SINCE EL(=29H ALREADY

;

tEOSEL EQU IMUN+23

;

TSPACE EQU tEOSEL ; 29h ' '

tString equ tEOSEL+1 ; 2Ah '"'

tComma equ tEOSEL+2 ; 2Bh ','

;

;

;

Tii equ 2Ch ; i

;

; ===== Postfix functions

;

TPOST EQU 2Dh

;

tFact equ TPOST ; 2Dh '!'







TCUBICR EQU 2Eh

TQUARTR EQU 2Fh



;

; NUMBER TOKENS

;

NUMS EQU 30h

;

T0 EQU NUMS ; 30h

T1 EQU NUMS+1 ; 31h

T2 EQU NUMS+2 ; 32h

T3 EQU NUMS+3 ; 33h

T4 EQU NUMS+4 ; 34h

T5 EQU NUMS+5 ; 35h

T6 EQU NUMS+6 ; 36h

T7 EQU NUMS+7 ; 37h

T8 EQU NUMS+8 ; 38h

T9 EQU NUMS+9 ; 39h

TDECPT EQU NUMS+10 ; 3Ah

Tee EQU NUMS+11 ; 3Bh

;

; BINARY OP

;

tOr equ 3Ch ; 3Ch '_or_'

TXOR equ 3Dh ; 3Dh

;

tColon equ 3Eh ; 3Eh ':'

tEnter equ 3Fh ; 3Fh Lenter

;

; BINARY OP

;

tAnd equ 40h ; 40h '_and_' 05

;

; LETTER TOKENS

;

LET EQU 41h

;

TA EQU LET ; 41h

TB EQU LET+1 ; 42h

TC EQU LET+2 ; 43h

TD EQU LET+3 ; 44h

TE EQU LET+4 ; 45h

TF EQU LET+5 ; 46h

TG EQU LET+6 ; 47h

TH EQU LET+7 ; 48h

TI EQU LET+8 ; 49h

TJ EQU LET+9 ; 4Ah

TK EQU LET+10 ; 4Bh

TL EQU LET+11 ; 4Ch

TM EQU LET+12 ; 4Dh

TN EQU LET+13 ; 4Eh

TO EQU LET+14 ; 4Fh

TP EQU LET+15 ; 50h

TQ EQU LET+16 ; 51h

TR EQU LET+17 ; 52h

TS EQU LET+18 ; 53h

TT EQU LET+19 ; 54h

TU EQU LET+20 ; 55h

TV EQU LET+21 ; 56h

TW EQU LET+22 ; 57h

TX EQU LET+23 ; 58h

TY EQU LET+24 ; 59h

TZ EQU LET+25 ; 5Ah

TTHETA EQU LET+26 ; 5Bh

;

;

; THESE VAR TOKENS ARE 1ST OF A DOUBLE TOKEN

;

; SEE 'VARS.DOC' FOR MORE INFO ON VARS

;

VTOKS EQU LET+27 ;

;

; USER MATRIX TOKEN, 2ND TOKEN NEEDED FOR NAME

;

TVARMAT EQU VTOKS ; 5Ch

;

; USER LIST TOKEN, 2ND TOKEN NEEDED FOR NAME

;

TVARLST EQU VTOKS+1 ; 5Dh

;

; USER EQUATION TOKEN, 2ND TOKEN NEEDED FOR NAME

;

TVAREQU EQU VTOKS+2 ; 5Eh

;

; THIS IS A SINGLE TOKEN, I WILL HAVE TO READ THE NAME IN

; EVERY SINGLE TIME I EXECUTE

;

TPROG EQU VTOKS+3 ; 5Fh

;

; USER PICT TOKEN, 2ND TOKEN NEEDED FOR NAME

;

TVARPICT EQU VTOKS+4 ; 60h

;

; USER GDB TOKEN, 2ND TOKEN NEEDED FOR NAME

;

TVARGDB EQU VTOKS+5 ; 61h

;

; SYSTEM VARS THAT ARE USED FOR OUTPUT ONLY

; CANNOT BE STORED TO BY THE USER

;

tVarOut equ VTOKS+6 ; 62h

;

; SYSTEM VARS THAT ARE NOT IN THE SYMBOL TABLE

; BUT THE USER CAN STORE TO THEM.

;

tVarSys equ VTOKS+7 ; 63h

;

;

; ===== Mode setting commands

;

MODESA EQU VTOKS+8 ; 64h

;

tRad equ MODESA ; 64h 'Radian'

tDeg equ MODESA+1 ; 65h 'Degree'

tNormF equ MODESA+2 ; 66h 'Normal'

tSci equ MODESA+3 ; 67h 'Sci'

tEng equ MODESA+4 ; 68h 'Eng'

tFloat equ MODESA+5 ; 69h 'Float'

;

CMPS EQU 6Ah

;

tEQ equ CMPS ; 6Ah '=='

tLT equ CMPS+1 ; 6Bh '<'

tGT equ CMPS+2 ; 6Ch '>'

tLE equ CMPS+3 ; 6Dh LLE

tGE equ CMPS+4 ; 6Eh LGE

tNE equ CMPS+5 ; 6Fh LNE

;

; BINARY OP

;

tAdd equ 70h ; 70h '+'

tSub equ 71h ; 71h '-'

;

TANS EQU 72H ; 72h

;

; ===== Mode setting commands

;

MODES EQU 73h

;

tFix equ MODES ; 73h 'Fix_'

TSPLITON equ MODES+1 ; 74h

TFULLSCREEN EQU MODES+2 ; 75h

tStndrd EQU MODES+3 ; 76h 'Func'

tParam equ MODES+4 ; 77h 'Param'

tPolar EQU MODES+5 ; 78h 'Pol'

TSEQG equ MODES+6 ; 79h

TAFILLON equ MODES+7 ; 7Ah 'AUTO FILL ON

TAFILLOFF equ MODES+8 ; 7Bh

TACALCON EQU MODES+9 ; 7Ch

TACALCOFF equ MODES+10 ; 7Dh 'AUTOFILL OFF

;

;

; GRAPH FORMAT TOKENS ARE 2 BYTE TOKENS

;

TGFORMAT EQU MODES+11 ; 7Eh

;

TBOXICON equ 7Fh

TCROSSICON EQU 80h

TDOTICON EQU 81h

;

; BINARY OP

;

tMul equ 82h ; 82h '*'

tDiv equ 83h ; 83h '/'

;

; SOME GRAPH COMMANDS

;

GRCMDS EQU 84h

;

tTrace equ GRCMDS ; 84h 'Trace'

tClDrw equ GRCMDS+1 ; 85h 'ClDrw'

tZoomStd equ GRCMDS+2 ; 86h 'ZStd'

tZoomtrg equ GRCMDS+3 ; 87h 'Ztrg'

tZOOMBOX EQU GRCMDS+4 ; 88h 'ZBOX'

tZoomIn equ GRCMDS+5 ; 89h 'ZIn'

tZoomOut equ GRCMDS+6 ; 8Ah 'ZOut'

tZoomSqr equ GRCMDS+7 ; 8Bh 'ZSqr'

tZoomInt equ GRCMDS+8 ; 8Ch 'ZInt'

tZoomPrev equ GRCMDS+9 ; 8Dh 'ZPrev'

tZoomDec equ GRCMDS+10 ; 8Eh 'ZDecm'

TZOOMSTAT EQU GRCMDS+11 ; 8Fh 'ZSTAT

tUsrZm equ GRCMDS+12 ; 90h 'ZRcl'

tPrtScrn equ GRCMDS+13 ; 91h 'PrtScrn'

tZOOMSTO EQU GRCMDS+14 ; 92H ZOOM STORE

TTEXT EQU GRCMDS+15 ; 93h

;

; BINARY OP

;

tnPr equ GRCMDS+16 ; 94h '_nPr_'

tnCr equ GRCMDS+17 ; 95h '_nCr_'

;

; MORE GRAPH COMMANDS

;

tYOn equ GRCMDS+18 ; 96h 'FnOn_'

tYOff equ GRCMDS+19 ; 97h 'FnOff_'

tStPic equ GRCMDS+20 ; 98h 'StPic_'

tRcPic equ GRCMDS+21 ; 99h 'RcPic_'

tStoDB equ GRCMDS+22 ; 9Ah 'StGDB_'

tRclDB equ GRCMDS+23 ; 9Bh 'RcGDB_'

tLine equ GRCMDS+24 ; 9Ch 'Line'

tVert equ GRCMDS+25 ; 9Dh 'Vert_'

tPtOn equ GRCMDS+26 ; 9Eh 'PtOn'

tPtOff equ GRCMDS+27 ; 9Fh 'PtOff'

;

; TOKEN A0 CANNOT BE AN EOS FUNCTION SINCE LOW MULT=A0 ALREADY

;

tPtChg equ GRCMDS+28 ; A0h 'PtChg'

TPXON EQU GRCMDS+29 ; A1h

TPXOFF EQU GRCMDS+30 ; A2h

TPXCHG EQU GRCMDS+31 ; A3h

tShade equ GRCMDS+32 ; A4h 'Shade'

tCircl equ GRCMDS+33 ; A5h 'Circl'

tHORZ equ GRCMDS+34 ; A6h 'HORIZONTAL'

tTanLn equ GRCMDS+35 ; A7h 'TanLn'

tDrInv equ GRCMDS+36 ; A8h 'DrInv_'

tDrawF equ GRCMDS+37 ; A9h 'DrawF_'

;

TVARSTRNG EQU 0AAh

;

; ===== Functions with no arguments

;

NOARG EQU 0ABh

;

tRand equ NOARG ; ABh 'rand'

tPi equ NOARG+1 ; ACh Lpi

tGetKey equ NOARG+2 ; ADh 'getKy'

;

;

TAPOST EQU TGETKEY+1 ; APOSTROPHY

TQUEST EQU TAPOST+1 ; QUESTION MARK

;

;

; ===== Unary functions

;

; UNARY : THESE UNARY FUNCTIONS TAKE A COMBINATION OF

; ARGUMENTS, REAL,LIST,MATRIX

;

UNARY EQU TQUEST+1 ; B0h

;

tChs equ UNARY ; B0h

tInt equ UNARY+1 ; B1h

TABS equ UNARY+2 ; B2h

tDet equ UNARY+3 ; B3h

tIdent equ UNARY+4 ; B4h

tDim equ UNARY+5 ; B5h

tSum equ UNARY+6 ; B6h

tProd equ UNARY+7 ; B7h

tNot equ UNARY+8 ; B8h

tIPart equ UNARY+9 ; B9h

tFPart equ UNARY+10 ; BAh

;

;

; NEW 2 BYTE TOKENS

;

T2BYTETOK EQU 0BBh ;

;

;

; UNARYLR : UNARY FUNCTIONS THAT ONLY WORK WITH

; REAL NUMBERS AND LISTS

;

UNARYLR EQU UNARY+12

;

tSqrt equ UNARYLR ; BCh

TCUBRT equ UNARYLR+1 ; BDh

tLn equ UNARYLR+2 ; BEh

tExp equ UNARYLR+3 ; BFh

tLog equ UNARYLR+4 ; C0h

tALog equ UNARYLR+5 ; C1h

tSin equ UNARYLR+6 ; C2h

tASin equ UNARYLR+7 ; C3h

tCos equ UNARYLR+8 ; C4h

tACos equ UNARYLR+9 ; C5h

tTan equ UNARYLR+10 ; C6h

tATan equ UNARYLR+11 ; C7h

tSinh equ UNARYLR+12 ; C8h

tASinh equ UNARYLR+13 ; C9h

tCosh equ UNARYLR+14 ; CAh

tACosh equ UNARYLR+15 ; CBh

tTanh equ UNARYLR+16 ; CCh

tATanh equ UNARYLR+17 ; CDh

;

; SOME PROGRAMMING COMMANDS

;

PROGTOK EQU UNARYLR+18

;

tIf equ PROGTOK ; CEh

tThen equ PROGTOK+1 ; CFh

tElse equ PROGTOK+2 ; D0h

tWhile equ PROGTOK+3 ; D1h

tRepeat equ PROGTOK+4 ; D2h

tFor equ PROGTOK+5 ; D3h

tEnd equ PROGTOK+6 ; D4h

tReturn equ PROGTOK+7 ; D5h

tLbl equ PROGTOK+8 ; D6h 'Lbl_'

tGoto equ PROGTOK+9 ; D7h 'Goto_'

tPause equ PROGTOK+10 ; D8h 'Pause_'

tStop equ PROGTOK+11 ; D9h 'Stop'

tISG equ PROGTOK+12 ; DAh 'IS>'

tDSL equ PROGTOK+13 ; DBh 'DS<'

tInput equ PROGTOK+14 ; DCh 'Input_'

tPrompt equ PROGTOK+15 ; DDh 'Prompt_'

tDisp equ PROGTOK+16 ; DEh 'Disp_'

tDispG equ PROGTOK+17 ; DFh 'DispG'

;

; TOKEN E0 CANNOT BE AN EOS FUNCTION SINCE HI MU

;

tOutput equ PROGTOK+18 ; E0H 'Outpt'

tClLCD equ PROGTOK+19 ; E1H 'ClLCD'

tConst equ PROGTOK+20 ; E2H 'Fill'

tSortA equ PROGTOK+21 ; E3H 'sortA_'

tSortD equ PROGTOK+22 ; E4H 'sortD_'

TDISPTAB EQU PROGTOK+23 ; E5h 'DISP TABLE

tMenu equ PROGTOK+24 ; E6H 'Menu'

tSENDMBL EQU PROGTOK+25 ; E7H 'SEND'

tGETMBL EQU PROGTOK+26 ; E8H 'GET'

;

; STAT PLOT COMMANDS

;

STATPCMD EQU PROGTOK+27

;

TPLOTON EQU STATPCMD ; E9h ' PLOTSON'

TPLOTOFF EQU STATPCMD+1 ; EAh ' PLOTSOFF






7

Tu devrais essayer de travailler avec ion.inc si c'est pour les 83 :

	.nolist
#define TI83
#include "ion.inc"

	.list
	.org progstart-2
	.db $BB,$6D
start:
	bcall(call _clrLCDFull)
	ret

	.end
END


J'croit me rappeler que spasm râle pour quelques trucs corrigeable dans l'include ion par contre, donc voilà la version que j'utilise : tromb Fichier joint : ion.inc

8

Merci je vais tester.

L'assembleur sans shell est une utopie?

9

rahhh j'arrive PAS à envoyer ION sur ma ti83 emulée.

Je n'arrive à recevoir que ZMINFO sad

Pourtant j'ai déjà réussi à la faire marcher ... (sur une 83+ probablement)
(EDIT : en fait c'était sur VTI)


tromb Fichier joint : 0qPD (helloion.png)

Sur une rom version 107 ou 110 ça devrait marcher?

10

bcall(call _clrLCDFull)


Je ne comprends pas... spasm me met une erreur.

Il ne s'agit pas plutôt de :

bcall(_clrlcdfull)

(qui ne donne pas d'erreur)

confus

11

C'est un programme qu'on lance avec 'send(9' qui est généré, ion.inc c'est juste pour avoir les bonnes adresses etc...

Les noms des rom calls correctement écrits sont dans l'include, là j'ai juste recopié vite fait, mais c'est le principe qui compte.

12

Merci.

Oui le nom des rom calls ce n'est pas ce qui me génait...

C'était le "call" qui était reporté dans la parenthèse que je comprenais pas...
Mais j'imagine que c'était simplement une faute de frappe.

Je teste tout de suite.

13

Ah ouais j'avais même pas vu la 2nde fois... Oui c'est juste une faute de frappe.

14

Ca marche pas...

Je me demande si c'est pas une histoire de rom ou d'émulateur (je peux pas tester actuellement sur vti)

Voici le code testé :
helloion.z80

	.nolist 
#define TI83 
#include "ION.INC" 
 
	.list 
	.org progstart-2 
	.db $BB,$6D 
start: 
	;bcall(_clrlcdfull) 
	ret 
 
	.end 
END

15

Bon j'vais tester, mais sinon c'est normal que t'es mis en commentaire le bcall ?

16

Oui c'est juste pour le test

17

Bon c'est bizarre que ça marche parfaitement sur 83+ et pas sur 83... Ça vient peut être de spasm, si j'ai le temps je testerai avec tasm (je me souviens qu'avant j'utilisais Zapp83 pour faire mes prog comme ça, mais tu ne sembles pas être sous Windows).

18

Il faudrait que je test sur Windows...

Ou alors avec z80asm ou zasm j'ai peut-être plus de chance...
Qu'en penses-tu?
(j'ai utilisé ces assembleurs au début mais je n'avais pas réussi à faire tourner un "hello world" même pour ti83+...

Il y a personne qui programme pour 83 sous Linux ici?

19

Ce code fonctionne pour ti83+ :
(compilé avec spasm et executé avec Asm( sur tilem )

code_testrect83plus

#define   EQU   .equ
#define   equ   .equ
#define   END   .end
#define   end   .end
#define bcall(xxxx) rst 28h \ .dw xxxx
#include "ti83asm.inc"
.LIST

     .org 9D93h
     .db $BB,$6D
      ld hl,0
        ld de,$3E5E
        bcall(_fillrect)
        ld hl,$0101
        ld de,$1E1E
        bcall(_clearrect)
        ld hl,$2020
        ld de,$3A30
        bcall(_eraserectborder)
        ld hl,$0F0F
        ld de,$2F4F
        bcall(_invertrect)
        bcall(_getkey)
      
      
      ret

.end
end



(tiré site du zero)

tromb 4l2m (testrect83plus.png)

20

De toute façons à bien y réfléchir, si y'a un code qui doit marcher c'est celui-là :

	.nolist 
#define TI83 
#include "ion.inc" 
 
	.list 
	.org progstart 

start: 
	bcall(_clrLCDFull) 
	ret 
 
	.end 
END


(progstart pointant vers 9327h d'après ion.inc...)

T'as testé en vrai ou juste sur emu ? J'vais chercher ce que je trouve à ce sujet dans les différents tuto, mais là avec le wifi de merde que j'ai ça le fait pas :/

21

Seulement sur émulateur.

Merci du coup de main.

22

Le code que tu m'as donné ne passe pas non plus.

Visiblement ça ne vient _vraiment_ pas du code...

Il faudrait que je teste sur real calc tu as raison.

23

Même problème sur VTI ...
Avec les 2 derniers sources...

Bizarre quand même!
C'est ça qui me fait dire qu'il y a quelque chose qui coince.
Un des 2 émulateurs devrait quand même faire tourner ce code... confus

24

À ce lien il y a un programme censé marcher avec le send(9 sur 83:
http://www.ticalc.org/archives/files/fileinfo/340/34052.html
Ça donne quoi?

25

Celui là il fonctionne...

trombEM7c (sprite.png)

(ça n'affiche rien mais ça s'execute normalement...)

26

Donc il s'agit de ce code :

spr83.asm

; Get the Hex Lsiting and add:

; End:0000:End

; as the bottom line. look at the

; spr83 code for example. NO SPACES!







.plugin asm83



#include "TI83ASM.inc"



.org PROGPTR



 call _GRBUFCLR

 

; ld ix,PROGPTR

 ld ix,Sprite+14

; add ix,de

 ld de,$0521  ; bytes wide (d) and pixels tall (c)

 ld hl,PLOTSSCREEN

 

PutSprite:

 ld b,e

 ld c,0

Height:

 push bc

 ld b,d

Core:

 ld a,(ix)

 ld (hl),a

 inc hl

 inc ix

 djnz Core

 ld bc,12

 add hl,bc

 ld b,d

DecLoop:

 dec hl

 djnz DecLoop

 pop bc

 djnz Height

 ret

 

#include "sprite.asm"



.end


Qu'est-ce que cette instruction .plugin asm83 que spasm refuse...?

27

J'ai tout à coup un gros doute...

Spasm permet de faire des programmes pour ti83 au moins?

Quelqu'un l'a déjà utilisé pour ça?

28

Ca ne marche pas non plus :

.org 9327h

 ret
 

.end

29

L'adresse de départ PROGPTR semble pointer vers 9319h dans le fichier ti83asm.inc.

Mais ça ne marche pas non plus :
test.z80

	.nolist
#define TI83  
#include "ion.inc"  
  
	.list
	.org 9319h
 
start:  
	bcall(_clrLCDFull)  
	ret  
  
	.end  
END

30

Ca non plus :

	.org 9319h
 
start:
	ret  
  
	.end  
END