ack/mach/mantra/int/mloop1
1987-03-31 09:23:20 +00:00

495 lines
20 KiB
Plaintext

.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 #220,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
.assert .-dispae2-220 == 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
#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
#endif
#endif
.sect .text