/*
* Symbolic names for some addresses in the HP48 ROM.
* List compiled by Alex Ramos, extended by Eddie Dost.
*/
#ifdef C_STYLE_HEX
#define HEX(n) 0x##n
#else
#define HEX(n) $##n
#endif
#define PUSHhxsLoop HEX(0596d) /* push A.P onto stack; goto RPL */
#define DOCOL HEX(02d9d) /* begin composite object ("::") */
#define DOHSTR HEX(02a4e) /* PROLOG of hex string */
#define DOCSTR HEX(02a2c) /* PROLOG of ascii string */
#define DOBINT HEX(02911) /* PROLOG of binary int */
#define DOCODE HEX(02dcc) /* PROLOG of code object */
#define SEMI HEX(0312b) /* end composite object (";") */
#define CK1NOLASTWD HEX(18ab2)
#define CKandDISPATCH1 HEX(18fb2)
#define save_regs HEX(0679b)
#define restore_regs HEX(067d2)
#define d0_row1 HEX(01C31) /* A=D0=<address of LCD display> */
#define d0_sft1 HEX(01C58) /* A=D0=<address of Menu Area> */
#define INITDISP HEX(01C7F)
#define LINECOUNTg HEX(069A) /* Incomplete, prepend BASENIB */
#define setmemerr HEX(04FBB) /* kaboom! out of memory (friendly) */
#define Errjmp HEX(05023) /* this didn't seem to work too well */
/*
* Floating point functions:
*/
#define SPLITA HEX(2BC4A)
#define SPLITAC HEX(2BCA0)
#define POTF HEX(2AAC0)
#define LN1PF HEX(2B68F)
#define LNF HEX(2B698)
#define LOGF HEX(2B6A1)
#define EXPF HEX(2B6AA)
#define EXPM1F HEX(2B6B3)
#define ANGLEF HEX(2B6D7)
#define SINF HEX(2B6E0)
#define COSF HEX(2B6E9)
#define TANF HEX(2B6F2)
#define ATANF HEX(2B6FB)
#define ASINF HEX(2B704)
#define ACOSF HEX(2B70D)
#define HYPF HEX(2B731)
#define TANHF HEX(2B73A)
#define ASINHF HEX(2B743)
#define ACOSHF HEX(2B74C)
#define ATANHF HEX(2B755)
#define CEILF HEX(2B75E)
#define FLOORF HEX(2B767)
#define ADDF HEX(2B7DC)
#define MULTF HEX(2B91E)
#define DIVF HEX(2B977)
#define SQRTF HEX(2B9F3)
#define TST15 HEX(2BD76)
/*
* Interger functions:
*/
#define HXSDIV HEX(65807)
/*
* Memory- and object- related
*/
#define CREATETEMP HEX(06AD8)
#define MAKESTR HEX(05B79)
syntax highlighted by Code2HTML, v. 0.9.1