2N Code help : Replace END by EAD
Posted: Wednesday 29. July 2015, 11:06
Hi,
I want to print EAD instead of END in gas setup (OSTC 2N).
I found the code below for calculation of END ( menugassetup.asm L322). But i do not find the equivalent for EAD. Has some one got it ?
Thanks,
6RiL
------------------------------------------------------
; Show END in m
lfsr FSR2, letter
WIN_LEFT .90
OUTPUTTEXTH .298 ; END:
GETCUSTOM8 .18 ; ppO2 warnvalue in WREG
mullw d'10'
movff PRODL,xA+0
movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10
movf divemins+0,W
addlw 0x06
movwf EEADR
call read_eeprom ; O2 value
movff EEDATA,xB+0
clrf xB+1
call div16x16 ; xA/xB=xC with xA as remainder
movlw d'10'
subwf xC+0,F ; Subtract 10m...
movff xC+0,lo
movlw d'0'
subwfb xC+1,F
movff xC+1,hi ; lo:hi holding MOD in meters
movlw d'10'
addwf lo,F
movlw d'0'
addwfc hi,F ; lo:hi holding MOD+10m
movf divemins+0,W
addlw 0x07
movwf EEADR
call read_eeprom ; He value in % -> EEDATA
movlw d'100'
movwf xA+0
movf EEDATA,W ; He value in % -> EEDATA
subwf xA+0,F ; xA+0 = 100 - He Value in %
clrf xA+1
movff lo,xB+0
movff hi,xB+1 ; Copy MOD+10
call mult16x16 ; xA*xB=xC
movff xC+0,xA+0
movff xC+1,xA+1
movlw d'100'
movwf xB+0
clrf xB+1
call div16x16 ; xA/xB=xC with xA as remainder
; xC:2 = ((MOD+10) * 100 - HE Value in %) / 100
movlw d'10'
subwf xC+0,F ; Subtract 10m...
movff xC+0,lo
movlw d'0'
subwfb xC+1,F
movff xC+1,hi
output_16
STRCAT_PRINT TXT_METER3
I want to print EAD instead of END in gas setup (OSTC 2N).
I found the code below for calculation of END ( menugassetup.asm L322). But i do not find the equivalent for EAD. Has some one got it ?
Thanks,
6RiL
------------------------------------------------------
; Show END in m
lfsr FSR2, letter
WIN_LEFT .90
OUTPUTTEXTH .298 ; END:
GETCUSTOM8 .18 ; ppO2 warnvalue in WREG
mullw d'10'
movff PRODL,xA+0
movff PRODH,xA+1 ; ppO2 in [0.01bar] * 10
movf divemins+0,W
addlw 0x06
movwf EEADR
call read_eeprom ; O2 value
movff EEDATA,xB+0
clrf xB+1
call div16x16 ; xA/xB=xC with xA as remainder
movlw d'10'
subwf xC+0,F ; Subtract 10m...
movff xC+0,lo
movlw d'0'
subwfb xC+1,F
movff xC+1,hi ; lo:hi holding MOD in meters
movlw d'10'
addwf lo,F
movlw d'0'
addwfc hi,F ; lo:hi holding MOD+10m
movf divemins+0,W
addlw 0x07
movwf EEADR
call read_eeprom ; He value in % -> EEDATA
movlw d'100'
movwf xA+0
movf EEDATA,W ; He value in % -> EEDATA
subwf xA+0,F ; xA+0 = 100 - He Value in %
clrf xA+1
movff lo,xB+0
movff hi,xB+1 ; Copy MOD+10
call mult16x16 ; xA*xB=xC
movff xC+0,xA+0
movff xC+1,xA+1
movlw d'100'
movwf xB+0
clrf xB+1
call div16x16 ; xA/xB=xC with xA as remainder
; xC:2 = ((MOD+10) * 100 - HE Value in %) / 100
movlw d'10'
subwf xC+0,F ; Subtract 10m...
movff xC+0,lo
movlw d'0'
subwfb xC+1,F
movff xC+1,hi
output_16
STRCAT_PRINT TXT_METER3