1567 lines
32 KiB
ArmAsm
1567 lines
32 KiB
ArmAsm
/*************************************************************************************************/
|
|
// extension word format: a0 zeigt auf code, in a1 ist ay, d0/d1 wird zerstört
|
|
//------------------------------------------------------------------------------
|
|
#ifdef ii_on
|
|
|
|
.include "ii_macro.h"
|
|
|
|
.global ewf
|
|
//-----------------------------------------------------------
|
|
.text
|
|
ewferr:
|
|
nop
|
|
halt
|
|
nop
|
|
//-----------------------------------------------------------
|
|
ewf:
|
|
mvz.b (a0)+,d1 // 1. byt ewf
|
|
mvs.w ewf_table-*-2(pc,d1*2),d1
|
|
jmp ewf_table-*-2(pc,d1)
|
|
ewf_table:
|
|
.short ewf_00-ewf_table,ewf_01-ewf_table,ewf_02-ewf_table,ewf_03-ewf_table
|
|
.short ewf_04-ewf_table,ewf_05-ewf_table,ewf_06-ewf_table,ewf_07-ewf_table
|
|
.short ewferr-ewf_table,ewf_09-ewf_table,ewferr-ewf_table,ewf_0b-ewf_table
|
|
.short ewferr-ewf_table,ewf_0d-ewf_table,ewferr-ewf_table,ewf_0f-ewf_table
|
|
.short ewf_10-ewf_table,ewf_11-ewf_table,ewf_12-ewf_table,ewf_13-ewf_table
|
|
.short ewf_14-ewf_table,ewf_15-ewf_table,ewf_16-ewf_table,ewf_17-ewf_table
|
|
.short ewferr-ewf_table,ewf_19-ewf_table,ewferr-ewf_table,ewf_1b-ewf_table
|
|
.short ewferr-ewf_table,ewf_1d-ewf_table,ewferr-ewf_table,ewf_1f-ewf_table
|
|
.short ewf_20-ewf_table,ewf_21-ewf_table,ewf_22-ewf_table,ewf_23-ewf_table
|
|
.short ewf_24-ewf_table,ewf_25-ewf_table,ewf_26-ewf_table,ewf_27-ewf_table
|
|
.short ewferr-ewf_table,ewf_29-ewf_table,ewferr-ewf_table,ewf_2b-ewf_table
|
|
.short ewferr-ewf_table,ewf_2d-ewf_table,ewferr-ewf_table,ewf_2f-ewf_table
|
|
.short ewf_30-ewf_table,ewf_31-ewf_table,ewf_32-ewf_table,ewf_33-ewf_table
|
|
.short ewf_34-ewf_table,ewf_35-ewf_table,ewf_36-ewf_table,ewf_37-ewf_table
|
|
.short ewferr-ewf_table,ewf_39-ewf_table,ewferr-ewf_table,ewf_3b-ewf_table
|
|
.short ewferr-ewf_table,ewf_3d-ewf_table,ewferr-ewf_table,ewf_3f-ewf_table
|
|
.short ewf_40-ewf_table,ewf_41-ewf_table,ewf_42-ewf_table,ewf_43-ewf_table
|
|
.short ewf_44-ewf_table,ewf_45-ewf_table,ewf_46-ewf_table,ewf_47-ewf_table
|
|
.short ewferr-ewf_table,ewf_49-ewf_table,ewferr-ewf_table,ewf_4b-ewf_table
|
|
.short ewferr-ewf_table,ewf_4d-ewf_table,ewferr-ewf_table,ewf_4f-ewf_table
|
|
.short ewf_50-ewf_table,ewf_51-ewf_table,ewf_52-ewf_table,ewf_53-ewf_table
|
|
.short ewf_54-ewf_table,ewf_55-ewf_table,ewf_56-ewf_table,ewf_57-ewf_table
|
|
.short ewferr-ewf_table,ewf_59-ewf_table,ewferr-ewf_table,ewf_5b-ewf_table
|
|
.short ewferr-ewf_table,ewf_5d-ewf_table,ewferr-ewf_table,ewf_5f-ewf_table
|
|
.short ewf_60-ewf_table,ewf_61-ewf_table,ewf_62-ewf_table,ewf_63-ewf_table
|
|
.short ewf_64-ewf_table,ewf_65-ewf_table,ewf_66-ewf_table,ewf_67-ewf_table
|
|
.short ewferr-ewf_table,ewf_69-ewf_table,ewferr-ewf_table,ewf_6b-ewf_table
|
|
.short ewferr-ewf_table,ewf_6d-ewf_table,ewferr-ewf_table,ewf_6f-ewf_table
|
|
.short ewf_70-ewf_table,ewf_71-ewf_table,ewf_72-ewf_table,ewf_73-ewf_table
|
|
.short ewf_74-ewf_table,ewf_75-ewf_table,ewf_76-ewf_table,ewf_77-ewf_table
|
|
.short ewferr-ewf_table,ewf_79-ewf_table,ewferr-ewf_table,ewf_7b-ewf_table
|
|
.short ewferr-ewf_table,ewf_7d-ewf_table,ewferr-ewf_table,ewf_7f-ewf_table
|
|
.short ewf_80-ewf_table,ewf_81-ewf_table,ewf_82-ewf_table,ewf_83-ewf_table
|
|
.short ewf_84-ewf_table,ewf_85-ewf_table,ewf_86-ewf_table,ewf_87-ewf_table
|
|
.short ewferr-ewf_table,ewf_89-ewf_table,ewferr-ewf_table,ewf_8b-ewf_table
|
|
.short ewferr-ewf_table,ewf_8d-ewf_table,ewferr-ewf_table,ewf_8f-ewf_table
|
|
.short ewf_90-ewf_table,ewf_91-ewf_table,ewf_92-ewf_table,ewf_93-ewf_table
|
|
.short ewf_94-ewf_table,ewf_95-ewf_table,ewf_96-ewf_table,ewf_97-ewf_table
|
|
.short ewferr-ewf_table,ewf_99-ewf_table,ewferr-ewf_table,ewf_9b-ewf_table
|
|
.short ewferr-ewf_table,ewf_9d-ewf_table,ewferr-ewf_table,ewf_9f-ewf_table
|
|
.short ewf_a0-ewf_table,ewf_a1-ewf_table,ewf_a2-ewf_table,ewf_a3-ewf_table
|
|
.short ewf_a4-ewf_table,ewf_a5-ewf_table,ewf_a6-ewf_table,ewf_a7-ewf_table
|
|
.short ewferr-ewf_table,ewf_a9-ewf_table,ewferr-ewf_table,ewf_ab-ewf_table
|
|
.short ewferr-ewf_table,ewf_ad-ewf_table,ewferr-ewf_table,ewf_af-ewf_table
|
|
.short ewf_b0-ewf_table,ewf_b1-ewf_table,ewf_b2-ewf_table,ewf_b3-ewf_table
|
|
.short ewf_b4-ewf_table,ewf_b5-ewf_table,ewf_b6-ewf_table,ewf_b7-ewf_table
|
|
.short ewferr-ewf_table,ewf_b9-ewf_table,ewferr-ewf_table,ewf_bb-ewf_table
|
|
.short ewferr-ewf_table,ewf_bd-ewf_table,ewferr-ewf_table,ewf_bf-ewf_table
|
|
.short ewf_c0-ewf_table,ewf_c1-ewf_table,ewf_c2-ewf_table,ewf_c3-ewf_table
|
|
.short ewf_c4-ewf_table,ewf_c5-ewf_table,ewf_c6-ewf_table,ewf_c7-ewf_table
|
|
.short ewferr-ewf_table,ewf_c9-ewf_table,ewferr-ewf_table,ewf_cb-ewf_table
|
|
.short ewferr-ewf_table,ewf_cd-ewf_table,ewferr-ewf_table,ewf_cf-ewf_table
|
|
.short ewf_d0-ewf_table,ewf_d1-ewf_table,ewf_d2-ewf_table,ewf_d3-ewf_table
|
|
.short ewf_d4-ewf_table,ewf_d5-ewf_table,ewf_d6-ewf_table,ewf_d7-ewf_table
|
|
.short ewferr-ewf_table,ewf_d9-ewf_table,ewferr-ewf_table,ewf_db-ewf_table
|
|
.short ewferr-ewf_table,ewf_dd-ewf_table,ewferr-ewf_table,ewf_df-ewf_table
|
|
.short ewf_e0-ewf_table,ewf_e1-ewf_table,ewf_e2-ewf_table,ewf_e3-ewf_table
|
|
.short ewf_e4-ewf_table,ewf_e5-ewf_table,ewf_e6-ewf_table,ewf_e7-ewf_table
|
|
.short ewferr-ewf_table,ewf_e9-ewf_table,ewferr-ewf_table,ewf_eb-ewf_table
|
|
.short ewferr-ewf_table,ewf_ed-ewf_table,ewferr-ewf_table,ewf_ef-ewf_table
|
|
.short ewf_f0-ewf_table,ewf_f1-ewf_table,ewf_f2-ewf_table,ewf_f3-ewf_table
|
|
.short ewf_f4-ewf_table,ewf_f5-ewf_table,ewf_f6-ewf_table,ewf_f7-ewf_table
|
|
.short ewferr-ewf_table,ewf_f9-ewf_table,ewferr-ewf_table,ewf_fb-ewf_table
|
|
.short ewferr-ewf_table,ewf_fd-ewf_table,ewferr-ewf_table,ewf_ff-ewf_table
|
|
//d0.w * 1
|
|
ewf_00:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d0_off+6(a7),d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_01:
|
|
mvs.w d0_off+6(a7),d0
|
|
bra ewf_full
|
|
//d0.w * 2
|
|
ewf_02:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d0_off+6(a7),d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_03:
|
|
mvs.w d0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d0.w * 4
|
|
ewf_04:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d0_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_05:
|
|
mvs.w d0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d0.w * 8
|
|
ewf_06:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d0_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_07:
|
|
mvs.w d0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d0.l * 1
|
|
ewf_09:
|
|
move.l d0_off+4(a7),d0
|
|
bra ewf_full
|
|
//d0.l * 2
|
|
ewf_0b:
|
|
move.l d0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d0.l * 4
|
|
ewf_0d:
|
|
move.l d0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d0.l * 8
|
|
ewf_0f:
|
|
move.l d0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.w * 1
|
|
ewf_10:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d1_off+6(a7),d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_11:
|
|
mvs.w d1_off+6(a7),d0
|
|
bra ewf_full
|
|
//d1.w * 2
|
|
ewf_12:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d1_off+6(a7),d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_13:
|
|
mvs.w d1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.w * 4
|
|
ewf_14:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d1_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_15:
|
|
mvs.w d1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.w * 8
|
|
ewf_16:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d1_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_17:
|
|
mvs.w d1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.l * 1
|
|
ewf_19:
|
|
move.l d1_off+4(a7),d0
|
|
bra ewf_full
|
|
//d1.l * 2
|
|
ewf_1b:
|
|
move.l d1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.l * 4
|
|
ewf_1d:
|
|
move.l d1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d1.l * 8
|
|
ewf_1f:
|
|
move.l d1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.w * 1
|
|
ewf_20:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d2,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_21:
|
|
mvs.w d2,d0
|
|
bra ewf_full
|
|
//d2.w * 2
|
|
ewf_22:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d2,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_23:
|
|
mvs.w d2,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.w * 4
|
|
ewf_24:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d2,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_25:
|
|
mvs.w d2,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.w * 8
|
|
ewf_26:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d2,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_27:
|
|
mvs.w d2,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.l * 1
|
|
ewf_29:
|
|
move.l d2,d0
|
|
bra ewf_full
|
|
//d2.l * 2
|
|
ewf_2b:
|
|
move.l d2,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.l * 4
|
|
ewf_2d:
|
|
move.l d2,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d2.l * 8
|
|
ewf_2f:
|
|
move.l d2,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.w * 1
|
|
ewf_30:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d3,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_31:
|
|
mvs.w d3,d0
|
|
bra ewf_full
|
|
//d3.w * 2
|
|
ewf_32:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d3,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_33:
|
|
mvs.w d3,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.w * 4
|
|
ewf_34:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d3,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_35:
|
|
mvs.w d3,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.w * 8
|
|
ewf_36:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d3,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_37:
|
|
mvs.w d3,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.l * 1
|
|
ewf_39:
|
|
move.l d3,d0
|
|
bra ewf_full
|
|
//d3.l * 3
|
|
ewf_3b:
|
|
move.l d3,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.l * 4
|
|
ewf_3d:
|
|
move.l d3,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d3.l * 8
|
|
ewf_3f:
|
|
move.l d3,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.w * 1
|
|
ewf_40:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d4,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_41:
|
|
mvs.w d4,d0
|
|
bra ewf_full
|
|
//d4.w * 2
|
|
ewf_42:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d4,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_43:
|
|
mvs.w d4,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.w * 4
|
|
ewf_44:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d4,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_45:
|
|
mvs.w d4,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.w * 8
|
|
ewf_46:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d4,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_47:
|
|
mvs.w d4,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.l * 1
|
|
ewf_49:
|
|
move.l d4,d0
|
|
bra ewf_full
|
|
//d4.l * 4
|
|
ewf_4b:
|
|
move.l d4,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.l * 4
|
|
ewf_4d:
|
|
move.l d4,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d4.l * 8
|
|
ewf_4f:
|
|
move.l d4,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.w * 1
|
|
ewf_50:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d5,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_51:
|
|
mvs.w d5,d0
|
|
bra ewf_full
|
|
//d5.w * 2
|
|
ewf_52:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d5,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_53:
|
|
mvs.w d5,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.w * 4
|
|
ewf_54:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d5,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_55:
|
|
mvs.w d5,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.w * 8
|
|
ewf_56:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d5,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_57:
|
|
mvs.w d5,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.l * 1
|
|
ewf_59:
|
|
move.l d5,d0
|
|
bra ewf_full
|
|
//d5.l * 5
|
|
ewf_5b:
|
|
move.l d5,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.l * 4
|
|
ewf_5d:
|
|
move.l d5,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d5.l * 8
|
|
ewf_5f:
|
|
move.l d5,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.w * 1
|
|
ewf_60:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d6,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_61:
|
|
mvs.w d6,d0
|
|
bra ewf_full
|
|
//d6.w * 2
|
|
ewf_62:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d6,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_63:
|
|
mvs.w d6,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.w * 4
|
|
ewf_64:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d6,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_65:
|
|
mvs.w d6,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.w * 8
|
|
ewf_66:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d6,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_67:
|
|
mvs.w d6,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.l * 1
|
|
ewf_69:
|
|
move.l d6,d0
|
|
bra ewf_full
|
|
//d6.l * 6
|
|
ewf_6b:
|
|
move.l d6,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.l * 4
|
|
ewf_6d:
|
|
move.l d6,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d6.l * 8
|
|
ewf_6f:
|
|
move.l d6,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.w * 1
|
|
ewf_70:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d7,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_71:
|
|
mvs.w d7,d0
|
|
bra ewf_full
|
|
//d7.w * 2
|
|
ewf_72:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d7,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_73:
|
|
mvs.w d7,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.w * 4
|
|
ewf_74:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d7,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_75:
|
|
mvs.w d7,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.w * 8
|
|
ewf_76:
|
|
mvs.b (a0)+,d1
|
|
mvs.w d7,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_77:
|
|
mvs.w d7,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.l * 1
|
|
ewf_79:
|
|
move.l d7,d0
|
|
bra ewf_full
|
|
//d7.l * 7
|
|
ewf_7b:
|
|
move.l d7,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.l * 4
|
|
ewf_7d:
|
|
move.l d7,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//d7.l * 8
|
|
ewf_7f:
|
|
move.l d7,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.w * 1
|
|
ewf_80:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a0_off+6(a7),d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_81:
|
|
mvs.w a0_off+6(a7),d0
|
|
bra ewf_full
|
|
//a0.w * 2
|
|
ewf_82:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a0_off+6(a7),d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_83:
|
|
mvs.w a0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.w * 4
|
|
ewf_84:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a0_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_85:
|
|
mvs.w a0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.w * 8
|
|
ewf_86:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a0_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_87:
|
|
mvs.w a0_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.l * 1
|
|
ewf_89:
|
|
move.l a0_off+4(a7),d0
|
|
bra ewf_full
|
|
//a0.l * 2
|
|
ewf_8b:
|
|
move.l a0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.l * 4
|
|
ewf_8d:
|
|
move.l a0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a0.l * 8
|
|
ewf_8f:
|
|
move.l a0_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.w * 1
|
|
ewf_90:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a1_off+6(a7),d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_91:
|
|
mvs.w a1_off+6(a7),d0
|
|
bra ewf_full
|
|
//a1.w * 2
|
|
ewf_92:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a1_off+6(a7),d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_93:
|
|
mvs.w a1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.w * 4
|
|
ewf_94:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a1_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_95:
|
|
mvs.w a1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.w * 8
|
|
ewf_96:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a1_off+6(a7),d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_97:
|
|
mvs.w a1_off+6(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.l * 1
|
|
ewf_99:
|
|
move.l a1_off+4(a7),d0
|
|
bra ewf_full
|
|
//a1.l * 2
|
|
ewf_9b:
|
|
move.l a1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.l * 4
|
|
ewf_9d:
|
|
move.l a1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a1.l * 8
|
|
ewf_9f:
|
|
move.l a1_off+4(a7),d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.w * 1
|
|
ewf_a0:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a2,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_a1:
|
|
mvs.w a2,d0
|
|
bra ewf_full
|
|
//a2.w * 2
|
|
ewf_a2:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a2,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_a3:
|
|
mvs.w a2,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.w * 4
|
|
ewf_a4:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a2,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_a5:
|
|
mvs.w a2,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.w * 8
|
|
ewf_a6:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a2,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_a7:
|
|
mvs.w a2,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.l * 1
|
|
ewf_a9:
|
|
move.l a2,d0
|
|
bra ewf_full
|
|
//a2.l * 2
|
|
ewf_ab:
|
|
move.l a2,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.l * 4
|
|
ewf_ad:
|
|
move.l a2,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a2.l * 8
|
|
ewf_af:
|
|
move.l a2,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.w * 1
|
|
ewf_b0:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a3,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_b1:
|
|
mvs.w a3,d0
|
|
bra ewf_full
|
|
//a3.w * 2
|
|
ewf_b2:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a3,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_b3:
|
|
mvs.w a3,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.w * 4
|
|
ewf_b4:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a3,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_b5:
|
|
mvs.w a3,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.w * 8
|
|
ewf_b6:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a3,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_b7:
|
|
mvs.w a3,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.l * 1
|
|
ewf_b9:
|
|
move.l a3,d0
|
|
bra ewf_full
|
|
//a3.l * 3
|
|
ewf_bb:
|
|
move.l a3,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.l * 4
|
|
ewf_bd:
|
|
move.l a3,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a3.l * 8
|
|
ewf_bf:
|
|
move.l a3,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.w * 1
|
|
ewf_c0:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a4,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_c1:
|
|
mvs.w a4,d0
|
|
bra ewf_full
|
|
//a4.w * 2
|
|
ewf_c2:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a4,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_c3:
|
|
mvs.w a4,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.w * 4
|
|
ewf_c4:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a4,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_c5:
|
|
mvs.w a4,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.w * 8
|
|
ewf_c6:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a4,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_c7:
|
|
mvs.w a4,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.l * 1
|
|
ewf_c9:
|
|
move.l a4,d0
|
|
bra ewf_full
|
|
//a4.l * 4
|
|
ewf_cb:
|
|
move.l a4,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.l * 4
|
|
ewf_cd:
|
|
move.l a4,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a4.l * 8
|
|
ewf_cf:
|
|
move.l a4,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.w * 1
|
|
ewf_d0:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a5,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_d1:
|
|
mvs.w a5,d0
|
|
bra ewf_full
|
|
//a5.w * 2
|
|
ewf_d2:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a5,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_d3:
|
|
mvs.w a5,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.w * 4
|
|
ewf_d4:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a5,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_d5:
|
|
mvs.w a5,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.w * 8
|
|
ewf_d6:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a5,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_d7:
|
|
mvs.w a5,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.l * 1
|
|
ewf_d9:
|
|
move.l a5,d0
|
|
bra ewf_full
|
|
//a5.l * 5
|
|
ewf_db:
|
|
move.l a5,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.l * 4
|
|
ewf_dd:
|
|
move.l a5,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a5.l * 8
|
|
ewf_df:
|
|
move.l a5,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.w * 1
|
|
ewf_e0:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a6,d0
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_e1:
|
|
mvs.w a6,d0
|
|
bra ewf_full
|
|
//a6.w * 2
|
|
ewf_e2:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a6,d0
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_e3:
|
|
mvs.w a6,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.w * 4
|
|
ewf_e4:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a6,d0
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_e5:
|
|
mvs.w a6,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.w * 8
|
|
ewf_e6:
|
|
mvs.b (a0)+,d1
|
|
mvs.w a6,d0
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_e7:
|
|
mvs.w a6,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.l * 1
|
|
ewf_e9:
|
|
move.l a6,d0
|
|
bra ewf_full
|
|
//a6.l * 6
|
|
ewf_eb:
|
|
move.l a6,d0
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.l * 4
|
|
ewf_ed:
|
|
move.l a6,d0
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//a6.l * 8
|
|
ewf_ef:
|
|
move.l a6,d0
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.w * 1
|
|
ewf_f0:
|
|
mvs.b (a0)+,d1
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_f1:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
mvs.w a1,d0
|
|
move.l (a7)+,a1
|
|
bra ewf_full
|
|
//usp.w * 2
|
|
ewf_f2:
|
|
mvs.b (a0)+,d1
|
|
move.l usp,a1
|
|
mvs.w a1,d0
|
|
move.l (a7)+,a1
|
|
lea 0(a1,d0*2),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_f3:
|
|
move.l usp,a1
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.w * 4
|
|
ewf_f4:
|
|
mvs.b (a0)+,d1
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_f5:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.w * 8
|
|
ewf_f6:
|
|
mvs.b (a0)+,d1
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
lea 0(a1,d0*4),a1
|
|
lea 0(a1,d0*4),a1
|
|
add.l d1,a1
|
|
rts
|
|
ewf_f7:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.l * 1
|
|
ewf_f9:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
bra ewf_full
|
|
//usp.l * 7
|
|
ewf_fb:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #1,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.l * 4
|
|
ewf_fd:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #2,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//usp.l * 8
|
|
ewf_ff:
|
|
move.l a1,-(a7)
|
|
move.l usp,a1
|
|
add.l (a7)+,a1
|
|
move.w ccr,d1
|
|
asl.l #3,d0
|
|
move.w d1,ccr
|
|
bra ewf_full
|
|
//-----------------------------------------------------------------------------------
|
|
// extension full format rest von ewf
|
|
//--------------------------------------------------------------------
|
|
ewf_full:
|
|
mvz.b (a0)+,d1
|
|
mvs.w ewff_table-*-2(pc,d1*2),d1
|
|
jmp ewff_table-*-2(pc,d1)
|
|
ewff_table:
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //00
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //10
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_bsw-ewff_table,ewff_w0v-ewff_table,ewff_wwv-ewff_table,ewff_wlv-ewff_table //20
|
|
.short ewff_end-ewff_table,ewff_w0n-ewff_table,ewff_wwn-ewff_table,ewff_wln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_bsl-ewff_table,ewff_l0v-ewff_table,ewff_lwv-ewff_table,ewff_llv-ewff_table //30
|
|
.short ewff_end-ewff_table,ewff_l0n-ewff_table,ewff_lwn-ewff_table,ewff_lln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //40
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //50
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_bsw-ewff_table,ewff_wi0-ewff_table,ewff_wiw-ewff_table,ewff_wil-ewff_table //60
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_bsl-ewff_table,ewff_li0-ewff_table,ewff_liw-ewff_table,ewff_lil-ewff_table //70
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //80
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //90
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //a0
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_i0v-ewff_table,ewff_iwv-ewff_table,ewff_ilv-ewff_table //b0
|
|
.short ewff_end-ewff_table,ewff_i0n-ewff_table,ewff_iwn-ewff_table,ewff_iln-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //c0
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //d0
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //e0
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_mi0-ewff_table,ewff_miw-ewff_table,ewff_mil-ewff_table //f0
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
.short ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table,ewff_end-ewff_table
|
|
ewff_end:
|
|
rts
|
|
ewff_bsw:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_bsl:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_i0v:
|
|
add.l d0,a1
|
|
move.l (a1),a1
|
|
rts
|
|
ewff_iwv:
|
|
add.l d0,a1
|
|
move.l (a1),a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_ilv:
|
|
add.l d0,a1
|
|
move.l (a1),a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_i0n:
|
|
move.l (a1),a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_iwn:
|
|
move.l (a1),a1
|
|
add.l d0,a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_iln:
|
|
move.l (a1),a1
|
|
add.l d0,a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_mi0:
|
|
add.l d0,a1
|
|
rts
|
|
ewff_miw:
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_mil:
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_wi0:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_wiw:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_wil:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_li0:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_liw:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_lil:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
rts
|
|
ewff_w0v:
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
rts
|
|
ewff_wwv:
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_wlv:
|
|
mvs.w (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_l0v:
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
rts
|
|
ewff_lwv:
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_llv:
|
|
move.l (a0)+,d1
|
|
add.l d0,a1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
rts
|
|
ewff_w0n:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_wwn:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_wln:
|
|
mvs.w (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_l0n:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_lwn:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
mvs.w (a0)+,d0
|
|
add.l d0,a1
|
|
add.l d0,a1
|
|
rts
|
|
ewff_lln:
|
|
move.l (a0)+,d1
|
|
add.l d1,a1
|
|
move.l (a1),a1
|
|
move.l (a0)+,d0
|
|
add.l d0,a1
|
|
add.l d0,a1
|
|
rts
|
|
/************************************************************************/
|
|
#endif
|