Mercurial > public > hwos_code
view src/varargs.inc @ 389:9175429bdeba
CHANGE: Logbook now shows end-of-dive date and time for dives made with firmware <1.92 indicated by an icon in the logbook
CHANGE: Logbook shows start-of-dive date and time for dives made with firmware >=1.92
BUGFIX: Text alignment in logbook
author | heinrichsweikamp |
---|---|
date | Tue, 27 Oct 2015 13:45:10 +0100 |
parents | 11d4fc797f74 |
children | ca4556fb60b9 |
line wrap: on
line source
;============================================================================= ; ; File varargs.inc ; ; Utilities to pass multiple arguments in compact code stream. ; ; Copyright (c) 2011, JD Gascuel, HeinrichsWeikamp, all right reserved. ;============================================================================= ; HISTORY ; 2011-05-27 : [jDG] Creation. ; VARARGS_BEGIN macro movff TOSL, TBLPTRL movff TOSH, TBLPTRH movff TOSU, TBLPTRU endm VARARGS_GET8 macro register tblrd*+ movff TABLAT, register endm VARARGS_GET16 macro register tblrd*+ movff TABLAT, register+0 tblrd*+ movff TABLAT, register+1 endm VARARGS_GET24 macro register tblrd*+ movff TABLAT, register+0 tblrd*+ movff TABLAT, register+1 tblrd*+ movff TABLAT, register+2 endm VARARGS_ALIGN macro local no_tblptr_align btfss TBLPTRL,0 bra no_tblptr_align incf TBLPTRL movlw 0 addwfc TBLPTRH addwfc TBLPTRU no_tblptr_align: endm VARARGS_END macro ; Compute string length (modulo 256): movf TOSL,W subwf TBLPTRL,W ; Then 24bit add to return address addwf TOSL,F movlw 0 ; Clear WREG, but keep carry addwfc TOSH,F addwfc TOSU,F endm