+2003-04-03 Bernhard Held <bernhard@bernhardheld.de>
+
+ * _decdptr.c: fix return values
+ * _gptrget.c: fix return values
+ * _gptrgetc.c: fix return values
+ * _gptrput.c: fix return values
+ * _mulint.c: fix return values
+
2003-04-02 Bernhard Held <bernhard@bernhardheld.de>
* Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
-unsigned char _decdptr ()
+/* the return value is already in dph/dpl */
+void
+_decdptr (char *gptr)
{
+ gptr; /* hush the compiler */
+
#ifdef SDCC_ds390
_asm
orl dps, #0xc0
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
-unsigned char _gptrget ()
+
+/* the return value is expected to be in acc, and not in the standard
+ * location dpl. Therefore we choose return type void here: */
+void
+_gptrget (char *gptr)
{
+ gptr; /* hush the compiler */
+
_asm
; save values passed
xch a,r0
pop acc
xch a,r0
_endasm ;
-
}
#ifdef SDCC_ds390
-unsigned int _gptrgetWord ()
+/* the return value is expected to be in acc/_ap, and not in the standard
+ * location dpl/dph. Therefore we choose return type void here: */
+void
+_gptrgetWord (unsigned *gptr)
{
+ gptr; /* hush the compiler */
+
_asm
;
; depending on the pointer type acc. to SDCCsymt.h
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
-unsigned char _gptrgetc ()
+
+/* the return value is expected to be in acc, and not in the standard
+ * location dpl. Therefore we choose return type void here: */
+void
+_gptrgetc (char *gptr)
{
+ gptr; /* hush the compiler */
+
_asm
; save values passed
xch a,r0
what you give them. Help stamp out software-hoarding!
-------------------------------------------------------------------------*/
-unsigned char _gptrput ()
+/* the return value is expected to be in acc, and not in the standard
+ * location dpl. Therefore we choose return type void here: */
+void
+_gptrput (char *gptr, char c)
{
+ gptr; c; /* hush the compiler */
+
_asm
push acc
;
}
#ifdef SDCC_ds390
-unsigned char _gptrputWord ()
+void
+_gptrputWord ()
{
_asm
push acc
#elif defined _MULINT_ASM_SMALL || defined _MULINT_ASM_SMALL_AUTO
+/* the return value is (unsigned) int, but to hush the compiler
+ * we choose void here: */
void
_mulint_dummy (void) _naked
{