/usr/share/z88dk/lib/float.asm is in z88dk-data 1.8.ds1-10.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ;
; Small C+ Compiler
;
; The Maths Routines (essential ones!)
;
; All maths routines are now in a library except for these
; small ones (which will always be used)
;
; If -doublestr is defined then we can link with whatever
; library we feel like
;
; djm 7/12/98
;
; $Id: float.asm,v 1.8 2002/08/20 13:58:08 dom Exp $
;-------------------------------------------------
; Some scope defintionons for the crt0 float stuff
;-------------------------------------------------
XDEF fp_seed
XDEF extra
XDEF fa
XDEF fasign
XDEF dstore
XDEF dload
XDEF dldpsh
XDEF dpush
XDEF dpush2
XDEF __atof2
LIB atof ;needed for __atof2
;-------------------------------------------
; Unused code from the generic z80 maths lib
;-------------------------------------------
;
;DIVZERO CALL GRIPE
; DEFB 'can''t /0',0
;OFLOW CALL GRIPE
; DEFB 'Arithmetic overflow',0
;GRIPE CALL QERR ;top word on stack points to message
; JP 0 ;error was fatal
;
; FA = (hl)
;
;--------------
; Copy FA to de
;--------------
.dstore ld de,fa
ld bc,6
ex de,hl
ldir
ex de,hl
ret
;----------------
; Load FA from hl
;----------------
.dload ld de,fa
ld bc,6
ldir
ret
;-----------------------------------------
; Load FA from (hl) and push FA onto stack
;-----------------------------------------
.dldpsh ld de,fa
ld bc,6
ldir
;------------------------------------------
; Push FA onto stack (under return address)
;------------------------------------------
.dpush pop de
ld hl,(fa+4)
push hl
ld hl,(fa+2)
push hl
ld hl,(fa)
push hl
ex de,hl
jp (hl)
;------------------------------------------------------
; Push FA onto stack under ret address and stacked word
;------------------------------------------------------
.dpush2 pop de ;save return address
pop bc ;save next word
ld hl,(fa+4)
push hl
ld hl,(fa+2)
push hl
ld hl,(fa)
push hl
ex de,hL
push bc ;restore next word
jp (hl) ;return
IF DEFINED_math_atof
;---------------------------------------------------------
; Convert string to FP number in FA calls the library atof
;---------------------------------------------------------
.__atof2
push hl
call atof
pop bc
ret
ENDIF
|