This file is indexed.

/usr/share/z88dk/lib/z80_crt0.hdx 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
;
;	Header file which contains all required variables from the
;	startup that need to be exposed to individual C files
;
;	Stick in this file any routines which are needed or implicitly
;	implied by sccz80.
;
;       This file is included by every module
;       To handle multi module programs which use floating point
;       routines in different modules, we have got rid of
;       the conditional assembly around the float routines
;
;	(Used by asxxx)
;
;	$Id: z80_crt0.hdx,v 1.4 2005/08/27 00:10:09 aralbrec Exp $

        .globl    base_graphics	; Address of graphics screen

	.globl	_cpfar2near	; Far->near conversion (z88)
	.globl	packintrout	; Process interrupt (z88 apps)

        .globl    l_dcal		; jp(hl)
        .globl    cleanup		; cleanup before program exit

        .globl    l_jphl
        .globl    l_jpix
        .globl    l_jpiy

;------------------------------------
; Scopes for integer library routines
;------------------------------------

	.globl    l_getptr		;Get 3 byte pointer
	.globl    l_putptr		;Put 3 byte pointer
        .globl    l_gchar		;Get signed char
        .globl    l_sxt		;Sign extend char
        .globl    l_gint		;Get int
	.globl    l_gint_eq	;Get int and test == 0
	.globl    l_ghtonsint	;Get reverse order int
        .globl    l_pint		;Put int
	.globl    l_pint_eq	;Put int and test == 0
	.globl    l_pint_pop	;Put int and pop place address
	.globl    l_pint_ex	;Put int hl to addr de return addr in hl
        .globl    l_or		;Int logical or
        .globl    l_xor		;Int logical xor
        .globl    l_and		;Int logical and
        .globl    l_eq		;Int equality
        .globl    l_ne		;Int inequality
        .globl    l_gt		;Int signed >
        .globl    l_le		;Int signed <=
        .globl    l_ge		;Int signed >=
        .globl    l_lt		;Int signed <
        .globl    l_uge		;Int unsigned >=
        .globl    l_ult		;Int unsigned <
        .globl    l_ugt		;Int unsigned >
        .globl    l_ule		;Int unsigned <=
        .globl    l_cmp		;Int signed compare
        .globl    l_ucmp		;Int unsigned compare
        .globl    l_asr		;Int signed >>
	.globl    l_asr_u		;Int unsigned >>
        .globl    l_asl		;Int <<
        .globl    l_sub		;Int subtract
        .globl    l_neg		;Int negate
        .globl    l_com		;Int ~
        .globl    l_lneg		;Int logical negate
        .globl    l_bool		;Int boolean tetst
        .globl    l_cm_de		;
        .globl    l_cm_bc
        .globl    l_deneg
        .globl    l_bcneg
        .globl    l_case		;Integer case
        .globl    l_mult		;Integer *
        .globl    l_div		;Integer signed /
        .globl    l_div_u		;Integer unsigned /

;------------------
;Long functions now
;------------------

	.globl	   lpush2	;Push long under the stack
	.globl     l_int2long_s	;Int->long signed conversion
	.globl     l_long2int_s	;Long->int signed conversion
	.globl     l_glong		;Get long
	.globl     l_long_add
	.globl     l_long_and
	.globl     l_long_asl
	.globl     l_long_asr
	.globl     l_long_aslo	;Long << shift in c
	.globl     l_long_asro	;Long >> shift in c (signed)
	.globl     l_long_bool
	.globl     l_long_cmp
	.globl     l_long_com
	.globl     l_long_eq
	.globl     l_long_ge
	.globl     l_long_gt
	.globl     l_long_le
	.globl     l_long_lneg
	.globl     l_long_lt
	.globl     l_long_ne
	.globl     l_long_neg
	.globl     l_long_or
	.globl     l_long_sub
	.globl     l_long_ucmp
	.globl     l_long_uge
	.globl     l_long_ugt
	.globl     l_long_ule
	.globl     l_long_ult
	.globl     l_long_xor
	.globl     l_plong
	.globl     l_inclong	;Increment long
	.globl     l_declong	;Decrement long
	.globl     l_long_div
	.globl     l_long_div_u
	.globl     l_long_mult
	.globl     l_long_asr_u	;Long unsigned >>
	.globl     l_long_asr_uo	;Long unsigned >> shift in c
	.globl     l_long_case

;--------------------------------------------------------------
; Floating point support routines, held in startup code so .globl
;--------------------------------------------------------------

        XRER	DADD
        .globl	DDIV
        .globl 	DGE
        .globl	DIV1
        .globl	DIV17
        .globl	DLOAD
        .globl	DLDPSH
        .globl	DMUL
        .globl	DSTORE
        .globl	DSWAP
        .globl	DSUB
        .globl	DEQ
        .globl	DGT
        .globl  	DLEq      ;djm 7/10/98
        .globl  	DLT
        .globl  	DNE
        .globl  	DPUSH
        .globl  	DPUSH2
        .globl  	FA
        .globl  	extra
        .globl  	FADD
        .globl  	FDIV
        .globl  	FMUL
        .globl  	FSUB
;        .globl  GRIPE   
        .globl  	PUSHF2
        .globl  	LDBCFA
        .globl  	LDBCHL
        .globl  	LDFABC
        .globl   	MINUSFA   ;negate FP number
        .globl  	NORMA
        .globl     ODD
        .globl  	PUSHFA
        .globl  	SGN
;        .globl  OFLOW
        .globl  	FASIGN
        .globl  	NORM
        .globl  	COMPARE
        .globl  	INT2
        .globl  	PI
        .globl  	HALFPI
	.globl  	__atof2
        .globl   	float		;Convert int to float
	.globl   	ufloat		;unsigned int to float
        .globl   	ifix		;Convert float to int

;--------------------------------------------------
; Routines for picking up variables from far memory
;--------------------------------------------------

	.globl	lp_gchar
	.globl	lp_gdoub
	.globl	lp_gint
	.globl	lp_glong
	.globl	lp_gptr
	.globl	lp_pchar
	.globl	lp_pdoub
	.globl	lp_pint
	.globl	lp_plong
	.globl	lp_pptr