cleaned up project:
-moved all includes into "include" directory -extracted "wait...()"-routines into separate files
This commit is contained in:
581
include/ii_add.h
581
include/ii_add.h
@@ -1,581 +0,0 @@
|
||||
//--------------------------------------------------------------------
|
||||
// add
|
||||
//--------------------------------------------------------------------
|
||||
/*****************************************************************************************/
|
||||
//--------------------------------------------------------------------
|
||||
// byt
|
||||
//--------------------------------------------------------------------
|
||||
//--------------------------------------------------------------------
|
||||
// add.b #im,dx
|
||||
//--------------------------------------------------------------------
|
||||
addbir_macro:.macro
|
||||
move.w (a0)+,d0
|
||||
extb.l d0
|
||||
mvs.b \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.b d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add ea,dx
|
||||
//--------------------------------------------------------------------
|
||||
adddd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add ea,dx (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
addddd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.\3 a1,d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add (ea),dx (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
adddda:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add (ay)+,dx (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
addddai:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.\3 (a1)+,d0
|
||||
move.l a1,\1
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add -(ay),dx (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
addddad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.\3 -(a1),d0
|
||||
move.l a1,\1
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add d16(ay),dx
|
||||
//--------------------------------------------------------------------
|
||||
addd16ad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.w (a0)+,d0
|
||||
add.l d0,a1
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add d8(ay,dy),dx
|
||||
//--------------------------------------------------------------------
|
||||
addd8ad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
jsr ewf
|
||||
.ifc \3,l
|
||||
move.l (a1),d0
|
||||
move.l \2,d1
|
||||
.else
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
.endif
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add xxx.w,dx
|
||||
//--------------------------------------------------------------------
|
||||
addxwd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.w (a0)+,a1
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add xxx.l,dx
|
||||
//--------------------------------------------------------------------
|
||||
addxld:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l (a0)+,a1
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add d16(pc),dx
|
||||
//--------------------------------------------------------------------
|
||||
addd16pcd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,a1
|
||||
mvs.w (a0)+,d0
|
||||
add.l d0,a1
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add d8(pc,dy),dx
|
||||
//--------------------------------------------------------------------
|
||||
addd8pcd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,a1
|
||||
jsr ewf
|
||||
.ifc \3,l
|
||||
move.l (a1),d0
|
||||
move.l \2,d1
|
||||
.else
|
||||
mvs.\3 (a1),d0
|
||||
mvs.\3 \2,d1
|
||||
.endif
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// add dy,ea
|
||||
//--------------------------------------------------------------------
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,(ay) (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
addeda:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.l \2,a1
|
||||
mvs.\3 (a1),d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,(ay)+ (first ea->a1 z.B. f<>r a0,a1,USP)
|
||||
//--------------------------------------------------------------------
|
||||
addedai:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.l \2,a1
|
||||
mvs.\3 (a1),d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)+
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,(ay)+
|
||||
//--------------------------------------------------------------------
|
||||
addedaid:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
mvs.\3 \2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2+
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,-(ay)
|
||||
//--------------------------------------------------------------------
|
||||
addedad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.l \2,a1
|
||||
mvs.\3 -(a1),d1
|
||||
move.l a1,\2
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,-(ay)
|
||||
//--------------------------------------------------------------------
|
||||
addedadd:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
mvs.\3 -\2,d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,d16(ay)
|
||||
//--------------------------------------------------------------------
|
||||
adde16ad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.l \2,a1
|
||||
mvs.w (a0)+,d1
|
||||
add.l d1,a1
|
||||
mvs.\3 (a1),d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add.w d8(ay,dy),dx
|
||||
//--------------------------------------------------------------------
|
||||
adde8ad:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \2,a1
|
||||
jsr ewf
|
||||
.ifc \3,l
|
||||
move.l (a1),d1
|
||||
move.l \1,d0
|
||||
.else
|
||||
mvs.\3 (a1),d1
|
||||
mvs.\3 \1,d0
|
||||
.endif
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,xxx.w
|
||||
//--------------------------------------------------------------------
|
||||
addxwe:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.w (a0)+,a1
|
||||
mvs.\3 (a1),d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // add dx,xxx.l
|
||||
//--------------------------------------------------------------------
|
||||
addxle:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.\3 \1,d0
|
||||
move.l (a0)+,a1
|
||||
mvs.\3 (a1),d1
|
||||
add.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
/******************************************************/
|
||||
// adress register
|
||||
/******************************************************/
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w ea,ax (ea = dx;ax;(ax);(ax)+,-(ax)
|
||||
//--------------------------------------------------------------------
|
||||
addaw:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,pc_off(a7) // pc auf next
|
||||
movem.l (a7),d0/d1/a0/a1 // register zurp<72>ck
|
||||
mvs.w \1,d0
|
||||
adda.l d0,\2
|
||||
move.l d0_off(a7),d0
|
||||
lea ii_ss(a7),a7 // stack erh<72>hen
|
||||
rte
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// add.w ea,usp
|
||||
//--------------------------------------------------------------------
|
||||
addawa7:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.w \1,d0
|
||||
move.l usp,a1
|
||||
add.l d0,a1
|
||||
move.l a1,usp
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w ea,usp (ea = dx;ax;(ax);(ax)+,-(ax)
|
||||
//--------------------------------------------------------------------
|
||||
addawu:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,pc_off(a7) // pc auf next
|
||||
movem.l (a7),d0/d1/a0/a1 // register zurp<72>ck
|
||||
move.l a7,_a7_save
|
||||
move.l usp,a7
|
||||
move.l \1,d0
|
||||
adda.l d0,\2
|
||||
move.l a7,usp
|
||||
move.l _a7_save,a7
|
||||
move.l d0_off(a7),d0
|
||||
lea ii_ss(a7),a7 // stack erh<72>hen
|
||||
rte
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w ea,usp (ea = a7 => dx;ax;(ax);(ax)+,-(ax)
|
||||
//--------------------------------------------------------------------
|
||||
addawua7:.macro
|
||||
addawu \1,\2
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w d16(ay),ax
|
||||
//--------------------------------------------------------------------
|
||||
addawd16a:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.w (a0)+,d0
|
||||
adda.l d0,a1
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
add.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w d8(ay,dy),ax
|
||||
//--------------------------------------------------------------------
|
||||
addawd8a:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
jsr ewf
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
add.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w xxx.w,ax
|
||||
//--------------------------------------------------------------------
|
||||
addawxwax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.w \1,a1
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w xxx.l,ax
|
||||
//--------------------------------------------------------------------
|
||||
addawxlax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w d16(pc),ax
|
||||
//--------------------------------------------------------------------
|
||||
addawd16pcax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.w \1,a1
|
||||
adda.l a0,a1
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w d8(pc,dy),ax
|
||||
//--------------------------------------------------------------------
|
||||
addawd8pcax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,a1
|
||||
jsr ewf
|
||||
mvs.w (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.w #im,ax
|
||||
//--------------------------------------------------------------------
|
||||
addawim:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
mvs.w \1,d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.l d8(ay,dy),ax
|
||||
//--------------------------------------------------------------------
|
||||
addald8a:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l \1,a1
|
||||
jsr ewf
|
||||
move.l (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // adda.l d8(pc,dy),ax
|
||||
//--------------------------------------------------------------------
|
||||
addakd8pcax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.l a0,a1
|
||||
jsr ewf
|
||||
move.l (a1),d0
|
||||
move.l \2,a1
|
||||
adda.l d0,a1
|
||||
move.l a1,\2
|
||||
ii_end
|
||||
.endm;
|
||||
//*****************************************************************************************
|
||||
// addx
|
||||
//*****************************************************************************************
|
||||
//--------------------------------------------------------------------
|
||||
// // addx dy,dx
|
||||
//--------------------------------------------------------------------
|
||||
adddx:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.b sr_off+1(a7),d0 //ccr holen
|
||||
move d0,ccr //setzen
|
||||
mvs.\3 \2,d0
|
||||
mvs.\3 \1,d1
|
||||
addx.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,\1
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
// // addx -(ay),-(ax)
|
||||
//--------------------------------------------------------------------
|
||||
adddax:.macro
|
||||
#ifdef halten_add
|
||||
halt
|
||||
#endif
|
||||
move.b sr_off+1(a7),d0 //ccr holen
|
||||
move d0,ccr //setzen
|
||||
move.l \1,a1
|
||||
.ifc \3,l
|
||||
move.l -(a1),d0
|
||||
.else
|
||||
mvs.\3 -(a1),d0
|
||||
.endif
|
||||
move.l \2,a1
|
||||
.ifc \3,l
|
||||
move.l -(a1),d0
|
||||
.else
|
||||
mvs.\3 -(a1),d1
|
||||
.endif
|
||||
addx.l d0,d1
|
||||
set_cc0
|
||||
move.\3 d1,(a1)
|
||||
ii_end
|
||||
.endm;
|
||||
//--------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user