//-------------------------------------------------------------------- // and //-------------------------------------------------------------------- /*****************************************************************************************/ //-------------------------------------------------------------------- // byt //-------------------------------------------------------------------- //-------------------------------------------------------------------- // and.b #im,dx //-------------------------------------------------------------------- andbir_macro:.macro move.w (a0)+,d0 extb.l d0 mvs.b \2,d1 and.l d0,d1 set_cc0 move.b d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and ea,dx //-------------------------------------------------------------------- anddd:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and ea(l)->dy(w),dx z.B. für USP //-------------------------------------------------------------------- andddd:.macro #ifdef halten_and halt #endif move.l \1,a1 mvs.\3 a1,d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and (ea)->dy,dx //-------------------------------------------------------------------- anddda:.macro #ifdef halten_and halt #endif move.l \1,a1 mvs.\3 (a1),d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and ea->ay,(ay)+,dx //-------------------------------------------------------------------- andddai:.macro #ifdef halten_and halt #endif move.l \1,a1 mvs.\3 (a1)+,d0 move.l a1,\1 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and ea->ay,-(ay),dx //-------------------------------------------------------------------- andddad:.macro #ifdef halten_and halt #endif move.l \1,a1 mvs.\3 -(a1),d0 move.l a1,\1 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and d16(ay),dx //-------------------------------------------------------------------- andd16ad:.macro #ifdef halten_and halt #endif move.l \1,a1 mvs.w (a0)+,d0 add.l d0,a1 mvs.\3 (a1),d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and d8(ay,dy),dx //-------------------------------------------------------------------- andd8ad:.macro #ifdef halten_and 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 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and xxx.w,dx //-------------------------------------------------------------------- andxwd:.macro #ifdef halten_and halt #endif move.w (a0)+,a1 mvs.\3 (a1),d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and xxx.l,dx //-------------------------------------------------------------------- andxld:.macro #ifdef halten_and halt #endif move.l (a0)+,a1 mvs.\3 (a1),d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and d16(pc),dx //-------------------------------------------------------------------- andd16pcd:.macro #ifdef halten_and halt #endif move.l a0,a1 mvs.w (a0)+,d0 add.l d0,a1 mvs.\3 (a1),d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and d8(pc,dy),dx //-------------------------------------------------------------------- andd8pcd:.macro #ifdef halten_and 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 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // and dx,ea //-------------------------------------------------------------------- //-------------------------------------------------------------------- // // and dx,(ea)->dy //-------------------------------------------------------------------- andeda:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.l \2,a1 mvs.\3 (a1),d1 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // and dx,ea->ay,(ay)+ //-------------------------------------------------------------------- andedai:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.l \2,a1 mvs.\3 (a1),d1 and.l d0,d1 set_cc0 move.\3 d1,(a1)+ move.l a1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and dx,ea->ay,(ay)+ //-------------------------------------------------------------------- andedaid:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 mvs.\3 \2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2+ ii_end .endm; //-------------------------------------------------------------------- // // and dx,ea->ay,-(ay) //-------------------------------------------------------------------- andedad:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.l \2,a1 mvs.\3 -(a1),d1 move.l a1,\2 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // and dx,ea->ay,-(ay) //-------------------------------------------------------------------- andedadd:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 mvs.\3 -\2,d1 and.l d0,d1 set_cc0 move.\3 d1,\2 ii_end .endm; //-------------------------------------------------------------------- // // and dx,d16(ay) //-------------------------------------------------------------------- ande16ad:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.l \2,a1 mvs.w (a0)+,d1 add.l d1,a1 mvs.\3 (a1),d1 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // and.w dx,d8(ay,dy) //-------------------------------------------------------------------- ande8ad:.macro #ifdef halten_and 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 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // and dx,xxx.w //-------------------------------------------------------------------- andxwe:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.w (a0)+,a1 mvs.\3 (a1),d1 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // and dx,xxx.l //-------------------------------------------------------------------- andxle:.macro #ifdef halten_and halt #endif mvs.\3 \1,d0 move.l (a0)+,a1 mvs.\3 (a1),d1 and.l d0,d1 set_cc0 move.\3 d1,(a1) ii_end .endm; //-------------------------------------------------------------------- // // anda.w ea,ax //-------------------------------------------------------------------- andaw:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // and.w ea,usp //-------------------------------------------------------------------- andawa7:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w usp?,ax //-------------------------------------------------------------------- andawu:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w usp?,usp //-------------------------------------------------------------------- andawua7:.macro andawu \1,\2 .endm; //-------------------------------------------------------------------- // // anda.w d16(ay),ax //-------------------------------------------------------------------- andawd16a:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w d8(ay,dy),ax //-------------------------------------------------------------------- andawd8a:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w xxx.w,ax //-------------------------------------------------------------------- andawxwax:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w xxx.l,ax //-------------------------------------------------------------------- andawxlax:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w d16(pc),ax //-------------------------------------------------------------------- andawd16pcax:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w d8(pc,dy),ax //-------------------------------------------------------------------- andawd8pcax:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.w #im,ax //-------------------------------------------------------------------- andawim:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.l d8(ay,dy),ax //-------------------------------------------------------------------- andald8a:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // anda.l d8(pc,dy),ax //-------------------------------------------------------------------- andald8pcax:.macro jmp ii_error .endm; //***************************************************************************************** // spezial addx subx etc. //-------------------------------------------------------------------- //-------------------------------------------------------------------- // // addx dy,dx //-------------------------------------------------------------------- anddx:.macro jmp ii_error .endm; //-------------------------------------------------------------------- // // addx -(ay),-(ax) //-------------------------------------------------------------------- anddax:.macro jmp ii_error .endm; //--------------------------------------------------------------------