?? cpuemu_03.c
字號:
#include "raine.h"#include "newmem.h"#include "readcpu.h"#include "newcpu.h"#include "cputbl.h"#pragma warning( disable : 4702 4100 )unsigned long op_e2d8_0(UINT32 opcode) /* LSRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa); m68k_areg(regs, srcreg) += 2;{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 6;}unsigned long op_e2e0_0(UINT32 opcode) /* LSRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) - 2;{ INT16 data = cpu_readmem24_word(dataa); m68k_areg (regs, srcreg) = dataa;{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 7;}unsigned long op_e2e8_0(UINT32 opcode) /* LSRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e2f0_0(UINT32 opcode) /* LSRW */{ UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{ unsigned int dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{ INT16 data = cpu_readmem24_word(dataa);{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}}return 9;}unsigned long op_e2f8_0(UINT32 opcode) /* LSRW */{{{ unsigned int dataa = (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e2f9_0(UINT32 opcode) /* LSRW */{{{ unsigned int dataa = get_ilong(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT32 val = (UINT16)data; UINT32 carry = val & 1; val >>= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(6);return 10;}unsigned long op_e3d0_0(UINT32 opcode) /* LSLW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 6;}unsigned long op_e3d8_0(UINT32 opcode) /* LSLW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa); m68k_areg(regs, srcreg) += 2;{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 6;}unsigned long op_e3e0_0(UINT32 opcode) /* LSLW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) - 2;{ INT16 data = cpu_readmem24_word(dataa); m68k_areg (regs, srcreg) = dataa;{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 7;}unsigned long op_e3e8_0(UINT32 opcode) /* LSLW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e3f0_0(UINT32 opcode) /* LSLW */{ UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{ unsigned int dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}}return 9;}unsigned long op_e3f8_0(UINT32 opcode) /* LSLW */{{{ unsigned int dataa = (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e3f9_0(UINT32 opcode) /* LSLW */{{{ unsigned int dataa = get_ilong(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry >> 15); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(6);return 10;}unsigned long op_e4d0_0(UINT32 opcode) /* ROXRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 6;}unsigned long op_e4d8_0(UINT32 opcode) /* ROXRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa); m68k_areg(regs, srcreg) += 2;{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 6;}unsigned long op_e4e0_0(UINT32 opcode) /* ROXRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) - 2;{ INT16 data = cpu_readmem24_word(dataa); m68k_areg (regs, srcreg) = dataa;{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(2);return 7;}unsigned long op_e4e8_0(UINT32 opcode) /* ROXRW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e4f0_0(UINT32 opcode) /* ROXRW */{ UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{ unsigned int dataa = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}}return 9;}unsigned long op_e4f8_0(UINT32 opcode) /* ROXRW */{{{ unsigned int dataa = (INT32)(INT16)get_iword(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(4);return 8;}unsigned long op_e4f9_0(UINT32 opcode) /* ROXRW */{{{ unsigned int dataa = get_ilong(2);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 1; val >>= 1; if (GET_XFLG) val |= 0x8000; CLEAR_CZNV; SET_ZFLG (((INT16)(val)) == 0); SET_NFLG (((INT16)(val)) < 0);SET_CFLG (carry); COPY_CARRY; cpu_writemem24_word(dataa,val);}}}}m68k_incpc(6);return 10;}unsigned long op_e5d0_0(UINT32 opcode) /* ROXLW */{ UINT32 srcreg = (opcode & 7);{{ unsigned int dataa = m68k_areg(regs, srcreg);{ INT16 data = cpu_readmem24_word(dataa);{ UINT16 val = data; UINT32 carry = val & 0x8000; val <<= 1;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -