.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