497 lines
		
	
	
	
		
			20 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			497 lines
		
	
	
	
		
			20 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| !-------------------------------------------------------------------------------
 | |
| !	Main loop of the interpreter starts here
 | |
| !----------------------------------------------------------------------------
 | |
| 
 | |
| loop:	move.l	#0,d0
 | |
| 	move.b	(a3)+,d0	!opcode in d0
 | |
| 	add.w	d0,d0		!opcode to index in table
 | |
| 	add.w	d0,d0
 | |
| #if prof
 | |
| 	lea	timeinf,a1
 | |
| 	move.l	0(a1,d0),d1	!get operation time
 | |
| 	move.l	profile,a0
 | |
| 	add.l	d1,(a0)
 | |
| #endif
 | |
| #if opfreq
 | |
| 	lea	counttab,a0
 | |
| 	add.l	#1,0(a0,d0)
 | |
| #endif
 | |
| 	jmp	dispat(pc,d0)		!jump to branch to the operation
 | |
| 
 | |
| 
 | |
| !---------------------------------------------------------------------------
 | |
| !	the BRANCH LIST follows
 | |
| !--------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| dispat:
 | |
| 
 | |
| 
 | |
| bra	loc_0 ; bra	loc_1 ; bra	loc_2 ; bra	loc_3
 | |
| bra	loc_4 ; bra	loc_5 ; bra	loc_6 ; bra	loc_7
 | |
| bra	loc_8 ; bra	loc_9 ; bra	loc_10 ; bra	loc_11
 | |
| bra	loc_12 ; bra	loc_13 ; bra	loc_14 ; bra	loc_15
 | |
| bra	loc_16 ; bra	loc_17 ; bra	loc_18 ; bra	loc_19
 | |
| bra	loc_20 ; bra	loc_21 ; bra	loc_22 ; bra	loc_23
 | |
| bra	loc_24 ; bra	loc_25 ; bra	loc_26 ; bra	loc_27
 | |
| bra	loc_28 ; bra	loc_29 ; bra	loc_30 ; bra	loc_31
 | |
| bra	loc_32 ; bra	loc_33 ; bra	aar_1W ; bra	adf_s0
 | |
| bra	adi_1W ; bra	adi_2W ; bra	adp_l ; bra	adp_1
 | |
| bra	adp_2 ; bra	adp_s0 ; bra	adp_s_1 ; bra	ads_1W
 | |
| bra	and_1W ; bra	asp_1W ; bra	asp_2W ; bra	asp_3W
 | |
| bra	asp_4W ; bra	asp_5W ; bra	asp_w0 ; bra	beq_l
 | |
| bra	beq_s0 ; bra	bge_s0 ; bra	bgt_s0 ; bra	ble_s0
 | |
| bra	blm_s0 ; bra	blt_s0 ; bra	bne_s0 ; bra	bra_l
 | |
| bra	bra_s_1 ; bra	bra_s_2 ; bra	bra_s0 ; bra	bra_s1
 | |
| bra	cal_1 ; bra	cal_2 ; bra	cal_3 ; bra	cal_4
 | |
| bra	cal_5 ; bra	cal_6 ; bra	cal_7 ; bra	cal_8
 | |
| bra	cal_9 ; bra	cal_10 ; bra	cal_11 ; bra	cal_12
 | |
| bra	cal_13 ; bra	cal_14 ; bra	cal_15 ; bra	cal_16
 | |
| bra	cal_17 ; bra	cal_18 ; bra	cal_19 ; bra	cal_20
 | |
| bra	cal_21 ; bra	cal_22 ; bra	cal_23 ; bra	cal_24
 | |
| bra	cal_25 ; bra	cal_26 ; bra	cal_27 ; bra	cal_28
 | |
| bra	cal_s0 ; bra	cff_z ; bra	cif_z ; bra	cii_z
 | |
| bra	cmf_s0 ; bra	cmi_1W ; bra	cmi_2W ; bra	cmp_z
 | |
| bra	cms_s0 ; bra	csa_1W ; bra	csb_1W ; bra	dec_z
 | |
| bra	dee_w0 ; bra	del_w_1 ; bra	dup_1W ; bra	dvf_s0
 | |
| bra	dvi_1W ; bra	fil_l ; bra	inc_z ; bra	ine_lw
 | |
| bra	ine_w0 ; bra	inl__1W ; bra	inl__2W ; bra	inl__3W
 | |
| bra	inl_w_1 ; bra	inn_s0 ; bra	ior_1W ; bra	ior_s0
 | |
| bra	lae_l ; bra	lae_w0 ; bra	lae_w1 ; bra	lae_w2
 | |
| bra	lae_w3 ; bra	lae_w4 ; bra	lae_w5 ; bra	lae_w6
 | |
| bra	lal_p ; bra	lal_n ; bra	lal_0 ; bra	lal__1
 | |
| bra	lal_w0 ; bra	lal_w_1 ; bra	lal_w_2 ; bra	lar_1W
 | |
| bra	ldc_0 ; bra	lde_lw ; bra	lde_w0 ; bra	ldl_0
 | |
| bra	ldl_w_1 ; bra	lfr_1W ; bra	lfr_2W ; bra	lfr_s0
 | |
| bra	lil_w_1 ; bra	lil_w0 ; bra	lil_0 ; bra	lil_1W
 | |
| bra	lin_l ; bra	lin_s0 ; bra	lni_z ; bra	loc_l
 | |
| bra	loc__1 ; bra	loc_s0 ; bra	loc_s_1 ; bra	loe_lw
 | |
| bra	loe_w0 ; bra	loe_w1 ; bra	loe_w2 ; bra	loe_w3
 | |
| bra	loe_w4 ; bra	lof_l ; bra	lof_1W ; bra	lof_2W
 | |
| bra	lof_3W ; bra	lof_4W ; bra	lof_s0 ; bra	loi_l
 | |
| bra	loi_1 ; bra	loi_1W ; bra	loi_2W ; bra	loi_3W
 | |
| bra	loi_4W ; bra	loi_s0 ; bra	lol_pw ; bra	lol_nw
 | |
| bra	lol_0 ; bra	lol_1W ; bra	lol_2W ; bra	lol_3W
 | |
| bra	lol__1W ; bra	lol__2W ; bra	lol__3W ; bra	lol__4W
 | |
| bra	lol__5W ; bra	lol__6W ; bra	lol__7W ; bra	lol__8W
 | |
| bra	lol_w0 ; bra	lol_w_1 ; bra	lxa_1 ; bra	lxl_1
 | |
| bra	lxl_2 ; bra	mlf_s0 ; bra	mli_1W ; bra	mli_2W
 | |
| bra	rck_1W ; bra	ret_0 ; bra	ret_1W ; bra	ret_s0
 | |
| bra	rmi_1W ; bra	sar_1W ; bra	sbf_s0 ; bra	sbi_1W
 | |
| bra	sbi_2W ; bra	sdl_w_1 ; bra	set_s0 ; bra	sil_w_1
 | |
| bra	sil_w0 ; bra	sli_1W ; bra	ste_lw ; bra	ste_w0
 | |
| bra	ste_w1 ; bra	ste_w2 ; bra	stf_l ; bra	stf_1W
 | |
| bra	stf_2W ; bra	stf_s0 ; bra	sti_1 ; bra	sti_1W
 | |
| bra	sti_2W ; bra	sti_3W ; bra	sti_4W ; bra	sti_s0
 | |
| bra	stl_pw ; bra	stl_nw ; bra	stl_0 ; bra	stl_1W
 | |
| bra	stl__1W ; bra	stl__2W ; bra	stl__3W ; bra	stl__4W
 | |
| bra	stl__5W ; bra	stl_w_1 ; bra	teq_z ; bra	tgt_z
 | |
| bra	tlt_z ; bra	tne_z ; bra	zeq_l ; bra	zeq_s0
 | |
| bra	zeq_s1 ; bra	zer_s0 ; bra	zge_s0 ; bra	zgt_s0
 | |
| bra	zle_s0 ; bra	zlt_s0 ; bra	zne_s0 ; bra	zne_s_1
 | |
| bra	zre_lw ; bra	zre_w0 ; bra	zrl__1W ; bra	zrl__2W
 | |
| bra	zrl_w_1 ; bra	zrl_nw
 | |
| 
 | |
| .assert	.-dispat-1016 == 0
 | |
| !-----------------------------------------------------------------------------
 | |
| !	Two byte opcodes come here for decoding of second byte
 | |
| !----------------------------------------------------------------------------
 | |
| 
 | |
| escape1:
 | |
| 	move.l	#0,d0
 | |
| 	bra	1f
 | |
| 	bra	escape2
 | |
| 1:	move.b	(a3)+,d0	!second byte ,extended opcode
 | |
| 	add.w	d0,d0			!make index of address
 | |
| 	add.w	d0,d0
 | |
| 	cmp.w	#640,d0		!check for range
 | |
| 	bhi	e_illins	!jump to ill instruction procedure
 | |
| #if prof
 | |
| 	lea	timeinf1,a1
 | |
| 	move.l	0(a1,d0),d1
 | |
| 	add.l	d1,(a0)
 | |
| #endif
 | |
| #if opfreq
 | |
| 	lea	counttab+1024,a0
 | |
| 	add.l	#1,0(a0,d0)
 | |
| #endif
 | |
| 	jmp	dispae1(pc,d0)		!jump to the operation
 | |
| 
 | |
| !------------------------------------------------------------------------------
 | |
| !	now dispatch table for escaped opcodes
 | |
| !------------------------------------------------------------------------------
 | |
| 
 | |
| dispae1:      !dispatch	escaped	opcodes	1
 | |
| 
 | |
| bra	aar_l ; bra	aar_z ; bra	adf_l ; bra	adf_z
 | |
| bra	adi_l ; bra	adi_z ; bra	ads_l ; bra	ads_z
 | |
| bra	adu_l ; bra	adu_z ; bra	and_l ; bra	and_z
 | |
| bra	asp_lw ; bra	ass_l ; bra	ass_z ; bra	bge_l
 | |
| bra	bgt_l ; bra	ble_l ; bra	blm_l ; bra	bls_l
 | |
| bra	bls_z ; bra	blt_l ; bra	bne_l ; bra	cai_z
 | |
| bra	cal_l ; bra	cfi_z ; bra	cfu_z ; bra	ciu_z
 | |
| bra	cmf_l ; bra	cmf_z ; bra	cmi_l ; bra	cmi_z
 | |
| bra	cms_l ; bra	cms_z ; bra	cmu_l ; bra	cmu_z
 | |
| bra	com_l ; bra	com_z ; bra	csa_l ; bra	csa_z
 | |
| bra	csb_l ; bra	csb_z ; bra	cuf_z ; bra	cui_z
 | |
| bra	cuu_z ; bra	dee_lw ; bra	del_pw ; bra	del_nw
 | |
| bra	dup_l ; bra	dus_l ; bra	dus_z ; bra	dvf_l
 | |
| bra	dvf_z ; bra	dvi_l ; bra	dvi_z ; bra	dvu_l
 | |
| bra	dvu_z ; bra	fef_l ; bra	fef_z ; bra	fif_l
 | |
| bra	fif_z ; bra	inl_pw ; bra	inl_nw ; bra	inn_l
 | |
| bra	inn_z ; bra	ior_l ; bra	ior_z ; bra	lar_l
 | |
| bra	lar_z ; bra	ldc_l ; bra	ldf_l ; bra	ldl_pw
 | |
| bra	ldl_nw ; bra	lfr_l ; bra	lil_pw ; bra	lil_nw
 | |
| bra	lim_z ; bra	los_l ; bra	los_z ; bra	lor_s0
 | |
| bra	lpi_l ; bra	lxa_l ; bra	lxl_l ; bra	mlf_l
 | |
| bra	mlf_z ; bra	mli_l ; bra	mli_z ; bra	mlu_l
 | |
| bra	mlu_z ; bra	mon_z ; bra	ngf_l ; bra	ngf_z
 | |
| bra	ngi_l ; bra	ngi_z ; bra	nop_z ; bra	rck_l
 | |
| bra	rck_z ; bra	ret_l ; bra	rmi_l ; bra	rmi_z
 | |
| bra	rmu_l ; bra	rmu_z ; bra	rol_l ; bra	rol_z
 | |
| bra	ror_l ; bra	ror_z ; bra	rtt_z ; bra	sar_l
 | |
| bra	sar_z ; bra	sbf_l ; bra	sbf_z ; bra	sbi_l
 | |
| bra	sbi_z ; bra	sbs_l ; bra	sbs_z ; bra	sbu_l
 | |
| bra	sbu_z ; bra	sde_l ; bra	sdf_l ; bra	sdl_pw
 | |
| bra	sdl_nw ; bra	set_l ; bra	set_z ; bra	sig_z
 | |
| bra	sil_pw ; bra	sil_nw ; bra	sim_z ; bra	sli_l
 | |
| 
 | |
| 
 | |
| bra	sli_z ; bra	slu_l ; bra	slu_z ; bra	sri_l
 | |
| bra	sri_z ; bra	sru_l ; bra	sru_z ; bra	sti_l
 | |
| bra	sts_l ; bra	sts_z ; bra	str_s0 ; bra	tge_z
 | |
| bra	tle_z ; bra	trp_z ; bra	xor_l ; bra	xor_z
 | |
| bra	zer_l ; bra	zer_z ; bra	zge_l ; bra	zgt_l
 | |
| bra	zle_l ; bra	zlt_l ; bra	zne_l ; bra	zrf_l
 | |
| bra	zrf_z ; bra	zrl_pw ; bra	dch_z ; bra	exg_s0
 | |
| bra	exg_l ; bra	exg_z ; bra	lpb_z ; bra	gto_l
 | |
| 
 | |
| .assert	.-dispae1-640 == 0
 | |
| 
 | |
| !----------------------------------------------------------------------------
 | |
| 
 | |
| escape2:
 | |
| 	move.l	#0,d0
 | |
| 	move.b	(a3)+,d0	!opcode
 | |
| 	sub.l	#4,sp
 | |
| 	move.b	(a3)+,(sp)
 | |
| 	move.b	(a3)+,1(sp)
 | |
| 	move.b	(a3)+,2(sp)
 | |
| 	move.b	(a3)+,3(sp)
 | |
| 	add.w	d0,d0
 | |
| 	add.w	d0,d0
 | |
| 	cmp.w	#228,d0
 | |
| 	bhi	e_illins
 | |
| #if prof
 | |
| 	lea	timeinf2,a1
 | |
| 	move.l	0(a1,d0),d1
 | |
| 	add.l	d1,(a0)
 | |
| #endif
 | |
| #if opfreq
 | |
| 	lea	counttab+1664,a1
 | |
| 	add.l	#1,0(a1,d0)
 | |
| #endif
 | |
| 	jmp	dispae2(pc,d0)
 | |
| 
 | |
| 
 | |
| !---------------------------------------------------------------------------
 | |
| !	BRANCH TABLE FOR SECOND ESCAPED OPCODES
 | |
| !---------------------------------------------------------------------------
 | |
| 
 | |
| dispae2:
 | |
| bra	ldc_q	; bra	lae_q	; bra	lal_qp	; bra	lal_qn
 | |
| bra	lde_qw	; bra	ldf_q	; bra	ldl_qpw	; bra	ldl_qnw
 | |
| bra	lil_qpw	; bra	lil_qnw	; bra	loc_q	; bra	loe_qw
 | |
| bra	lof_q	 ; bra	lol_qpw ; bra	lol_qnw	; bra	lpi_q
 | |
| bra	adp_q	; bra	asp_qw	; bra	beq_q	; bra	bge_q
 | |
| bra	bgt_q	; bra	ble_q	; bra	blm_q	; bra	blt_q
 | |
| bra	bne_q	; bra	bra_q	; bra	cal_q	; bra	dee_qw
 | |
| bra	del_qpw	; bra	del_qnw	; bra	fil_q	; bra	gto_q
 | |
| bra	ine_qw	; bra	inl_qpw	; bra	inl_qnw	; bra	lin_q
 | |
| bra	sde_q	; bra	sdf_q	; bra	sdl_qpw	; bra	sdl_qnw
 | |
| bra	sil_qpw	; bra	sil_qnw	; bra	ste_qw	; bra	stf_q
 | |
| bra	stl_qpw	; bra	stl_qnw	; bra	zeq_q	; bra	zge_q
 | |
| bra	zgt_q	; bra	zle_q	; bra	zlt_q	; bra	zne_q
 | |
| bra	zre_qw	; bra	zrl_qpw	; bra	zrl_qnw ; bra	loi_q
 | |
| bra	sti_q
 | |
| 
 | |
| .assert .-dispae2-228 == 0
 | |
| 
 | |
| !------------------------------------------------------------------------------
 | |
| !	timeinf	tables,	first the unescaped opcodes these tables are parallel
 | |
| !	to the tables	dispat , dispae1 and dispae2 .Each entry contains a
 | |
| !	reasonable estimate of the number of processor state cycles needed to
 | |
| !	execute	that instruction. The exact amount cannot be supplied, since
 | |
| !	this can depend	rather heavily on the size of the object in set, array
 | |
| !	case instructions etc. 	The table timeinf also contains, added to each
 | |
| !	entry, the number of processor state cycles needed to find the
 | |
| !	instruction. This number is currently 22 .Also the number of processor
 | |
| !	state cycles to return from the instruction is included. The number is
 | |
| !	computed for the case that all check and runinf options are off.
 | |
| !	For escape1 and escape2 in timeinf the full decoding is listed .
 | |
| !	In timeinf1 and timeinf2 only a rough estimate is given for the
 | |
| !	processor state cycles needed to execute the instruction and to return
 | |
| !	from it .
 | |
| !------------------------------------------------------------------------------
 | |
| 
 | |
| #if prof
 | |
| 
 | |
| 	.sect .data
 | |
| #ifdef lword
 | |
| timeinf:
 | |
| .data4 32 ; .data4 37 ; .data4 37 ; .data4 37 
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
 | |
| .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
 | |
| .data4 37 ; .data4 37 ; .data4 134 ; .data4 00 
 | |
| .data4 42 ; .data4 00 ; .data4 56 ; .data4 40
 | |
| .data4 40 ; .data4 42 ; .data4 42 ; .data4 42 
 | |
| .data4 42 ; .data4 38 ; .data4 38 ; .data4 38
 | |
| .data4 38 ; .data4 38 ; .data4 42 ; .data4 71 
 | |
| .data4 52 ; .data4 52 ; .data4 52 ; .data4 52
 | |
| .data4 118 ; .data4 52 ; .data4 52 ; .data4 55 
 | |
| .data4 45 ; .data4 45 ; .data4 36 ; .data4 43
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
 | |
| .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
 | |
| .data4 233 ; .data4 00 ; .data4 00 ; .data4 75
 | |
| .data4 00 ; .data4 58 ; .data4 00 ; .data4 54
 | |
| .data4 91 ; .data4 113 ; .data4 116 ; .data4 38
 | |
| .data4 59 ; .data4 59 ; .data4 36 ; .data4 00 
 | |
| .data4 1100 ; .data4 77; .data4 32 ; .data4 66
 | |
| .data4 51 ; .data4 45 ; .data4 49 ; .data4 49 
 | |
| .data4 53 ; .data4 127 ; .data4 52 ; .data4 152
 | |
| .data4 54 ; .data4 57 ; .data4 57 ; .data4 57 
 | |
| .data4 57 ; .data4 57 ; .data4 57 ; .data4 57
 | |
| .data4 72 ; .data4 61 ; .data4 34 ; .data4 37 
 | |
| .data4 59 ; .data4 51 ; .data4 58 ; .data4 178
 | |
| .data4 48 ; .data4 83 ; .data4 66 ; .data4 50 
 | |
| .data4 66 ; .data4 63 ; .data4 88 ; .data4 140
 | |
| .data4 60 ; .data4 62 ; .data4 44 ; .data4 44
 | |
| .data4 66 ; .data4 49 ; .data4 41 ; .data4 52
 | |
| .data4 36 ; .data4 38 ; .data4 42 ; .data4 69
 | |
| .data4 63 ; .data4 63 ; .data4 63 ; .data4 63
 | |
| .data4 63 ; .data4 66 ; .data4 54 ; .data4 59 
 | |
| .data4 59 ; .data4 59 ; .data4 57 ; .data4 276
 | |
| .data4 44 ; .data4 75 ; .data4 91 ; .data4 107
 | |
| .data4 123 ; .data4 193 ; .data4 68 ; .data4 68
 | |
| .data4 38 ; .data4 38 ; .data4 38 ; .data4 38 
 | |
| .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
 | |
| .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
 | |
| .data4 50 ; .data4 50 ; .data4 58 ; .data4 38
 | |
| .data4 64 ; .data4 00 ; .data4 205 ; .data4 00
 | |
| .data4 64 ; .data4 79 ; .data4 112 ; .data4 171
 | |
| .data4 1094 ; .data4 136 ; .data4 00 ; .data4 38
 | |
| .data4 00 ; .data4 66 ; .data4 144 ; .data4 60
 | |
| .data4 62 ; .data4 57 ; .data4 71 ; .data4 54
 | |
| .data4 61 ; .data4 61 ; .data4 72 ; .data4 47
 | |
| .data4 54 ; .data4 60 ; .data4 46 ; .data4 58
 | |
| .data4 73 ; .data4 88; .data4 103 ; .data4 181
 | |
| .data4 68 ; .data4 73 ; .data4 38 ; .data4 38 
 | |
| .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
 | |
| .data4 38 ; .data4 54 ; .data4 47 ; .data4 47 
 | |
| .data4 47 ; .data4 47 ; .data4 56 ; .data4 47
 | |
| .data4 50 ; .data4 91 ; .data4 47 ; .data4 47 
 | |
| .data4 47 ; .data4 47 ; .data4 47 ; .data4 51
 | |
| .data4 71 ; .data4 54 ; .data4 38 ; .data4 38
 | |
| .data4 54 ; .data4 73 ; .data4 63 ; .data4 99 
 | |
| 
 | |
| timeinf1:
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 58
 | |
| .data4 63 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
 | |
| 
 | |
| timeinf2:
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
 | |
| .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
 | |
| .data4 29
 | |
| #else
 | |
| timeinf:
 | |
| .data4 30 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 127 ; .data4 00 
 | |
| .data4 36 ; .data4 42 ; .data4 56 ; .data4 40
 | |
| .data4 40 ; .data4 42 ; .data4 42 ; .data4 42 
 | |
| .data4 36 ; .data4 39 ; .data4 39 ; .data4 39
 | |
| .data4 39 ; .data4 39 ; .data4 41 ; .data4 67 
 | |
| .data4 48 ; .data4 48 ; .data4 48 ; .data4 48
 | |
| .data4 97 ; .data4 48 ; .data4 48 ; .data4 55 
 | |
| .data4 45 ; .data4 45 ; .data4 36 ; .data4 43
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
 | |
| .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
 | |
| .data4 213 ; .data4 00 ; .data4 00 ; .data4 66
 | |
| .data4 00 ; .data4 50 ; .data4 54 ; .data4 54
 | |
| .data4 75 ; .data4 105 ; .data4 106 ; .data4 34
 | |
| .data4 53 ; .data4 54 ; .data4 32 ; .data4 00 
 | |
| .data4 146 ; .data4 77; .data4 30 ; .data4 61
 | |
| .data4 47 ; .data4 43 ; .data4 43 ; .data4 43 
 | |
| .data4 49 ; .data4 104 ; .data4 36 ; .data4 121
 | |
| .data4 54 ; .data4 56 ; .data4 56 ; .data4 56 
 | |
| .data4 56 ; .data4 56 ; .data4 56 ; .data4 56
 | |
| .data4 72 ; .data4 61 ; .data4 34 ; .data4 37 
 | |
| .data4 58 ; .data4 50 ; .data4 57 ; .data4 160
 | |
| .data4 40 ; .data4 73 ; .data4 56 ; .data4 42 
 | |
| .data4 56 ; .data4 59 ; .data4 80 ; .data4 111
 | |
| .data4 54 ; .data4 56 ; .data4 40 ; .data4 40 
 | |
| .data4 66 ; .data4 49 ; .data4 41 ; .data4 50
 | |
| .data4 32 ; .data4 36 ; .data4 38 ; .data4 63 
 | |
| .data4 57 ; .data4 57 ; .data4 57 ; .data4 57
 | |
| .data4 57 ; .data4 62 ; .data4 48 ; .data4 53 
 | |
| .data4 53 ; .data4 53 ; .data4 53 ; .data4 227
 | |
| .data4 42 ; .data4 69 ; .data4 83 ; .data4 97 
 | |
| .data4 111 ; .data4 160 ; .data4 62 ; .data4 62
 | |
| .data4 34 ; .data4 34 ; .data4 34 ; .data4 34 
 | |
| .data4 34 ; .data4 34 ; .data4 34 ; .data4 34
 | |
| .data4 34 ; .data4 34 ; .data4 34 ; .data4 34 
 | |
| .data4 45 ; .data4 45 ; .data4 58 ; .data4 38
 | |
| .data4 64 ; .data4 00 ; .data4 71 ; .data4 200 
 | |
| .data4 56 ; .data4 79 ; .data4 103 ; .data4 156
 | |
| .data4 148 ; .data4 121 ; .data4 00 ; .data4 34 
 | |
| .data4 38 ; .data4 57 ; .data4 128 ; .data4 55
 | |
| .data4 57 ; .data4 50 ; .data4 66 ; .data4 49 
 | |
| .data4 56 ; .data4 56 ; .data4 68 ; .data4 43
 | |
| .data4 50 ; .data4 56 ; .data4 46 ; .data4 54 
 | |
| .data4 65 ; .data4 76; .data4 87 ; .data4 138
 | |
| .data4 63 ; .data4 68 ; .data4 34 ; .data4 34 
 | |
| .data4 34 ; .data4 34 ; .data4 34 ; .data4 34
 | |
| .data4 34 ; .data4 49 ; .data4 41 ; .data4 41 
 | |
| .data4 41 ; .data4 41 ; .data4 54 ; .data4 45
 | |
| .data4 48 ; .data4 73 ; .data4 45 ; .data4 45 
 | |
| .data4 45 ; .data4 45 ; .data4 45 ; .data4 49
 | |
| .data4 66 ; .data4 49 ; .data4 34 ; .data4 34 
 | |
| .data4 49 ; .data4 68 ; .data4 63 ; .data4 99 
 | |
| 
 | |
| timeinf1:
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 49
 | |
| .data4 54 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
 | |
| 
 | |
| timeinf2:
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
 | |
| .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
 | |
| .data4 25
 | |
| #endif
 | |
| #endif
 | |
| 	.sect .text
 |