!-------------------------------------------------------------------------------
!	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
	move.l	profile,a0
	lea	timeinf,a5
	move.l	0(a5,d0),d1	!get operation time
	add.l	d1,(a0)
#endif
#if opfreq
	lea	counttab,a5
	add.l	#1,0(a5,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

.errnz	.-dispat-1016
!-----------------------------------------------------------------------------
!	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,a5
	move.l	0(a5,d0),d1
	add.l	d1,(a0)
#endif
#if opfreq
	lea	counttab+1024,a5
	add.l	#1,0(a5,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

.errnz	.-dispae1-640

!----------------------------------------------------------------------------

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	#220,d0
	bhi	e_illins
#if prof
	lea	timeinf2,a5
	move.l	0(a5,d0),d1
	add.l	d1,(a0)
#endif
#if opfreq
	lea	counttab+1664,a5
	add.l	#1,0(a5,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

.errnz .-dispae2-220

!------------------------------------------------------------------------------
!	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

	.data
#ifdef lword
timeinf:
.long 32 ; .long 37 ; .long 37 ; .long 37 
.long 37 ; .long 37 ; .long 37 ; .long 37
.long 37 ; .long 37 ; .long 37 ; .long 37 
.long 37 ; .long 37 ; .long 37 ; .long 37
.long 37 ; .long 37 ; .long 37 ; .long 37 
.long 37 ; .long 37 ; .long 37 ; .long 37
.long 37 ; .long 37 ; .long 37 ; .long 37 
.long 37 ; .long 37 ; .long 37 ; .long 37
.long 37 ; .long 37 ; .long 134 ; .long 00 
.long 42 ; .long 00 ; .long 56 ; .long 40
.long 40 ; .long 42 ; .long 42 ; .long 42 
.long 42 ; .long 38 ; .long 38 ; .long 38
.long 38 ; .long 38 ; .long 42 ; .long 71 
.long 52 ; .long 52 ; .long 52 ; .long 52
.long 118 ; .long 52 ; .long 52 ; .long 55 
.long 45 ; .long 45 ; .long 36 ; .long 43
.long 231 ; .long 231 ; .long 231 ; .long 231 
.long 231 ; .long 231 ; .long 231 ; .long 231
.long 231 ; .long 231 ; .long 231 ; .long 231 
.long 231 ; .long 231 ; .long 231 ; .long 231
.long 231 ; .long 231 ; .long 231 ; .long 231 
.long 231 ; .long 231 ; .long 231 ; .long 231
.long 231 ; .long 231 ; .long 231 ; .long 231 
.long 233 ; .long 00 ; .long 00 ; .long 75
.long 00 ; .long 58 ; .long 00 ; .long 54
.long 91 ; .long 113 ; .long 116 ; .long 38
.long 59 ; .long 59 ; .long 36 ; .long 00 
.long 1100 ; .long 77; .long 32 ; .long 66
.long 51 ; .long 45 ; .long 49 ; .long 49 
.long 53 ; .long 127 ; .long 52 ; .long 152
.long 54 ; .long 57 ; .long 57 ; .long 57 
.long 57 ; .long 57 ; .long 57 ; .long 57
.long 72 ; .long 61 ; .long 34 ; .long 37 
.long 59 ; .long 51 ; .long 58 ; .long 178
.long 48 ; .long 83 ; .long 66 ; .long 50 
.long 66 ; .long 63 ; .long 88 ; .long 140
.long 60 ; .long 62 ; .long 44 ; .long 44
.long 66 ; .long 49 ; .long 41 ; .long 52
.long 36 ; .long 38 ; .long 42 ; .long 69
.long 63 ; .long 63 ; .long 63 ; .long 63
.long 63 ; .long 66 ; .long 54 ; .long 59 
.long 59 ; .long 59 ; .long 57 ; .long 276
.long 44 ; .long 75 ; .long 91 ; .long 107
.long 123 ; .long 193 ; .long 68 ; .long 68
.long 38 ; .long 38 ; .long 38 ; .long 38 
.long 38 ; .long 38 ; .long 38 ; .long 38
.long 38 ; .long 38 ; .long 38 ; .long 38
.long 50 ; .long 50 ; .long 58 ; .long 38
.long 64 ; .long 00 ; .long 205 ; .long 00
.long 64 ; .long 79 ; .long 112 ; .long 171
.long 1094 ; .long 136 ; .long 00 ; .long 38
.long 00 ; .long 66 ; .long 144 ; .long 60
.long 62 ; .long 57 ; .long 71 ; .long 54
.long 61 ; .long 61 ; .long 72 ; .long 47
.long 54 ; .long 60 ; .long 46 ; .long 58
.long 73 ; .long 88; .long 103 ; .long 181
.long 68 ; .long 73 ; .long 38 ; .long 38 
.long 38 ; .long 38 ; .long 38 ; .long 38
.long 38 ; .long 54 ; .long 47 ; .long 47 
.long 47 ; .long 47 ; .long 56 ; .long 47
.long 50 ; .long 91 ; .long 47 ; .long 47 
.long 47 ; .long 47 ; .long 47 ; .long 51
.long 71 ; .long 54 ; .long 38 ; .long 38
.long 54 ; .long 73 ; .long 63 ; .long 99 

timeinf1:
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 58
.long 63 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40
.long 40 ; .long 40 ; .long 40 ; .long 40 
.long 40 ; .long 40 ; .long 40 ; .long 40 

timeinf2:
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29 ; .long 29
.long 29 ; .long 29 ; .long 29 ; .long 29 
.long 29 ; .long 29 ; .long 29  
#else
timeinf:
.long 30 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 127 ; .long 00 
.long 36 ; .long 42 ; .long 56 ; .long 40
.long 40 ; .long 42 ; .long 42 ; .long 42 
.long 36 ; .long 39 ; .long 39 ; .long 39
.long 39 ; .long 39 ; .long 41 ; .long 67 
.long 48 ; .long 48 ; .long 48 ; .long 48
.long 97 ; .long 48 ; .long 48 ; .long 55 
.long 45 ; .long 45 ; .long 36 ; .long 43
.long 211 ; .long 211 ; .long 211 ; .long 211 
.long 211 ; .long 211 ; .long 211 ; .long 211
.long 211 ; .long 211 ; .long 211 ; .long 211 
.long 211 ; .long 211 ; .long 211 ; .long 211
.long 211 ; .long 211 ; .long 211 ; .long 211 
.long 211 ; .long 211 ; .long 211 ; .long 211
.long 211 ; .long 211 ; .long 211 ; .long 211 
.long 213 ; .long 00 ; .long 00 ; .long 66
.long 00 ; .long 50 ; .long 54 ; .long 54
.long 75 ; .long 105 ; .long 106 ; .long 34
.long 53 ; .long 54 ; .long 32 ; .long 00 
.long 146 ; .long 77; .long 30 ; .long 61
.long 47 ; .long 43 ; .long 43 ; .long 43 
.long 49 ; .long 104 ; .long 36 ; .long 121
.long 54 ; .long 56 ; .long 56 ; .long 56 
.long 56 ; .long 56 ; .long 56 ; .long 56
.long 72 ; .long 61 ; .long 34 ; .long 37 
.long 58 ; .long 50 ; .long 57 ; .long 160
.long 40 ; .long 73 ; .long 56 ; .long 42 
.long 56 ; .long 59 ; .long 80 ; .long 111
.long 54 ; .long 56 ; .long 40 ; .long 40 
.long 66 ; .long 49 ; .long 41 ; .long 50
.long 32 ; .long 36 ; .long 38 ; .long 63 
.long 57 ; .long 57 ; .long 57 ; .long 57
.long 57 ; .long 62 ; .long 48 ; .long 53 
.long 53 ; .long 53 ; .long 53 ; .long 227
.long 42 ; .long 69 ; .long 83 ; .long 97 
.long 111 ; .long 160 ; .long 62 ; .long 62
.long 34 ; .long 34 ; .long 34 ; .long 34 
.long 34 ; .long 34 ; .long 34 ; .long 34
.long 34 ; .long 34 ; .long 34 ; .long 34 
.long 45 ; .long 45 ; .long 58 ; .long 38
.long 64 ; .long 00 ; .long 71 ; .long 200 
.long 56 ; .long 79 ; .long 103 ; .long 156
.long 148 ; .long 121 ; .long 00 ; .long 34 
.long 38 ; .long 57 ; .long 128 ; .long 55
.long 57 ; .long 50 ; .long 66 ; .long 49 
.long 56 ; .long 56 ; .long 68 ; .long 43
.long 50 ; .long 56 ; .long 46 ; .long 54 
.long 65 ; .long 76; .long 87 ; .long 138
.long 63 ; .long 68 ; .long 34 ; .long 34 
.long 34 ; .long 34 ; .long 34 ; .long 34
.long 34 ; .long 49 ; .long 41 ; .long 41 
.long 41 ; .long 41 ; .long 54 ; .long 45
.long 48 ; .long 73 ; .long 45 ; .long 45 
.long 45 ; .long 45 ; .long 45 ; .long 49
.long 66 ; .long 49 ; .long 34 ; .long 34 
.long 49 ; .long 68 ; .long 63 ; .long 99 

timeinf1:
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 49
.long 54 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35
.long 35 ; .long 35 ; .long 35 ; .long 35 
.long 35 ; .long 35 ; .long 35 ; .long 35 

timeinf2:
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25 ; .long 25
.long 25 ; .long 25 ; .long 25 ; .long 25 
.long 25 ; .long 25 ; .long 25  
#endif
#endif
	.text