/* $eb ADDB indexed ***** */ M6800_INLINE void addb_ix( void ) { UINT16 t,r; IDXBYTE(t); r = B+t; CLR_HNZVC; SET_FLAGS8(B,t,r); SET_H(B,t,r); B = r; }
/* $70 NEG extended ?**** */ INLINE void neg_ex( void ) { UINT16 r,t; EXTBYTE(t); r=-t; CLR_NZVC; SET_FLAGS8(0,t,r); WM(EAD,r); }
/* $79 ROL extended -**** */ INLINE void rol_ex( void ) { UINT16 t,r; EXTBYTE(t); r = CC&0x01; r |= t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); WM(EAD,r); }
/* $49 ROLA inherent -**** */ INLINE void rola( void ) { UINT16 t,r; t = A; r = CC&0x01; r |= t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); A=r; }
/* $58 ASLB inherent ?**** */ INLINE void aslb( void ) { UINT16 r; r=B<<1; CLR_NZVC; SET_FLAGS8(B,B,r); B=r; }
/* $fb ADDB extended ***** */ INLINE void addb_ex( void ) { UINT16 t,r; EXTBYTE(t); r = B+t; CLR_HNZVC; SET_FLAGS8(B,t,r); SET_H(B,t,r); B = r; }
/* $40 NEGA inherent ?**** */ INLINE void nega( void ) { UINT16 r; r=-A; CLR_NZVC; SET_FLAGS8(0,A,r); A=r; }
/* $90 SUBA direct ?**** */ INLINE void suba_di( void ) { UINT16 t,r; DIRBYTE(t); r = A-t; CLR_NZVC; SET_FLAGS8(A,t,r); A = r; }
/* $10 SBA inherent -**** */ INLINE void sba (void) { UINT16 t; t=A-B; CLR_NZVC; SET_FLAGS8(A,B,t); A=t; }
/* $82 SBCA immediate ?**** */ M6800_INLINE void sbca_im( void ) { UINT16 t,r; IMMBYTE(t); r = A-t-(CC&0x01); CLR_NZVC; SET_FLAGS8(A,t,r); A = r; }
// actually this is ADDX, causes garbage in nightgal.cpp otherwise INLINE void adcx_im( void ) { UINT16 t,r; IMMBYTE(t); r = X+t/*+(CC&0x01)*/; CLR_HNZVC; SET_FLAGS8(X,t,r); SET_H(X,t,r); X = r; }
/* $69 ROL indexed -**** */ M6800_INLINE void rol_ix( void ) { UINT16 t,r; IDXBYTE(t); r = CC&0x01; r |= t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); WM(EAD,r); }
/* $68 ASL indexed ?**** */ M6800_INLINE void asl_ix( void ) { UINT16 t,r; IDXBYTE(t); r=t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); WM(EAD,r); }
/* $60 NEG indexed ?**** */ M6800_INLINE void neg_ix( void ) { UINT16 r,t; IDXBYTE(t); r=-t; CLR_NZVC; SET_FLAGS8(0,t,r); WM(EAD,r); }
/* $f2 SBCB extended ?**** */ INLINE void sbcb_ex( void ) { UINT16 t,r; EXTBYTE(t); r = B-t-(CC&0x01); CLR_NZVC; SET_FLAGS8(B,t,r); B = r; }
/* $b0 SUBA extended ?**** */ INLINE void suba_ex( void ) { UINT16 t,r; EXTBYTE(t); r = A-t; CLR_NZVC; SET_FLAGS8(A,t,r); A = r; }
/* $f9 ADCB extended ***** */ INLINE void adcb_ex( void ) { UINT16 t,r; EXTBYTE(t); r = B+t+(CC&0x01); CLR_HNZVC; SET_FLAGS8(B,t,r); SET_H(B,t,r); B = r; }
/* $b2 SBCA extended ?**** */ INLINE void sbca_ex( void ) { UINT16 t,r; EXTBYTE(t); r = A-t-(CC&0x01); CLR_NZVC; SET_FLAGS8(A,t,r); A = r; }
/* $1b ABA inherent ***** */ INLINE void aba (void) { UINT16 t; t=A+B; CLR_HNZVC; SET_FLAGS8(A,B,t); SET_H(A,B,t); A=t; }
/* $b9 ADCA extended ***** */ INLINE void adca_ex( void ) { UINT16 t,r; EXTBYTE(t); r = A+t+(CC&0x01); CLR_HNZVC; SET_FLAGS8(A,t,r); SET_H(A,t,r); A = r; }
/* $48 ASLA inherent ?**** */ INLINE void asla( void ) { UINT16 r; r=A<<1; CLR_NZVC; SET_FLAGS8(A,A,r); A=r; }
/* $bb ADDA extended ***** */ INLINE void adda_ex( void ) { UINT16 t,r; EXTBYTE(t); r = A+t; CLR_HNZVC; SET_FLAGS8(A,t,r); SET_H(A,t,r); A = r; }
/* $50 NEGB inherent ?**** */ INLINE void negb( void ) { UINT16 r; r=-B; CLR_NZVC; SET_FLAGS8(0,B,r); B=r; }
/* $c0 SUBB immediate ?**** */ INLINE void subb_im( void ) { UINT16 t,r; IMMBYTE(t); r = B-t; CLR_NZVC; SET_FLAGS8(B,t,r); B = r; }
/* $59 ROLB inherent -**** */ INLINE void rolb( void ) { UINT16 t,r; t = B; r = CC&0x01; r |= t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); B=r; }
/* $d0 SUBB direct ?**** */ INLINE void subb_di( void ) { UINT16 t,r; DIRBYTE(t); r = B-t; CLR_NZVC; SET_FLAGS8(B,t,r); B = r; }
/* $78 ASL extended ?**** */ INLINE void asl_ex( void ) { UINT16 t,r; EXTBYTE(t); r=t<<1; CLR_NZVC; SET_FLAGS8(t,t,r); WM(EAD,r); }
/* $f0 SUBB extended ?**** */ INLINE void subb_ex( void ) { UINT16 t,r; EXTBYTE(t); r = B-t; CLR_NZVC; SET_FLAGS8(B,t,r); B = r; }
/* $80 SUBA immediate ?**** */ INLINE void suba_im( void ) { UINT16 t,r; IMMBYTE(t); r = A-t; CLR_NZVC; SET_FLAGS8(A,t,r); A = r; }
/* $e2 SBCB indexed ?**** */ M6800_INLINE void sbcb_ix( void ) { UINT16 t,r; IDXBYTE(t); r = B-t-(CC&0x01); CLR_NZVC; SET_FLAGS8(B,t,r); B = r; }