|
|
1.1 ! root 1: /*****************************************************************************/ ! 2: /* Generator - Sega Genesis emulation - (c) James Ponder 1997-1998 */ ! 3: /*****************************************************************************/ ! 4: /* */ ! 5: /* cpu68k-2.c */ ! 6: /* */ ! 7: /*****************************************************************************/ ! 8: ! 9: #include "generator.h" ! 10: #include "cpu68k.h" ! 11: #include "mem68k.h" ! 12: #include "reg68k.h" ! 13: ! 14: #include "cpu68k-inline.h" ! 15: ! 16: #include <stdio.h> ! 17: ! 18: void cpu_op_318a(t_ipc *ipc) /* MOVE */ { ! 19: /* mask f1f8, bits 2000, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 20: int srcreg = (ipc->opcode >> 0) & 7; ! 21: uint32 srcdata = DATAREG(srcreg); ! 22: int dstreg = (ipc->opcode >> 9) & 7; ! 23: uint32 outdata = srcdata; ! 24: ! 25: DATAREG(dstreg) = outdata; ! 26: PC+= 2; ! 27: } ! 28: ! 29: void cpu_op_318b(t_ipc *ipc) /* MOVE */ { ! 30: /* mask f1f8, bits 2000, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 31: int srcreg = (ipc->opcode >> 0) & 7; ! 32: uint32 srcdata = DATAREG(srcreg); ! 33: int dstreg = (ipc->opcode >> 9) & 7; ! 34: uint32 outdata = srcdata; ! 35: ! 36: DATAREG(dstreg) = outdata; ! 37: ! 38: VFLAG = 0; ! 39: CFLAG = 0; ! 40: NFLAG = ((sint32)outdata) < 0; ! 41: ZFLAG = !outdata; ! 42: PC+= 2; ! 43: } ! 44: ! 45: void cpu_op_319a(t_ipc *ipc) /* MOVE */ { ! 46: /* mask f1f8, bits 2080, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 47: int srcreg = (ipc->opcode >> 0) & 7; ! 48: uint32 srcdata = DATAREG(srcreg); ! 49: int dstreg = (ipc->opcode >> 9) & 7; ! 50: uint32 dstaddr = ADDRREG(dstreg); ! 51: uint32 outdata = srcdata; ! 52: ! 53: storelong(dstaddr, outdata); ! 54: PC+= 2; ! 55: } ! 56: ! 57: void cpu_op_319b(t_ipc *ipc) /* MOVE */ { ! 58: /* mask f1f8, bits 2080, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 59: int srcreg = (ipc->opcode >> 0) & 7; ! 60: uint32 srcdata = DATAREG(srcreg); ! 61: int dstreg = (ipc->opcode >> 9) & 7; ! 62: uint32 dstaddr = ADDRREG(dstreg); ! 63: uint32 outdata = srcdata; ! 64: ! 65: storelong(dstaddr, outdata); ! 66: ! 67: VFLAG = 0; ! 68: CFLAG = 0; ! 69: NFLAG = ((sint32)outdata) < 0; ! 70: ZFLAG = !outdata; ! 71: PC+= 2; ! 72: } ! 73: ! 74: void cpu_op_320a(t_ipc *ipc) /* MOVE */ { ! 75: /* mask f1f8, bits 20c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 76: int srcreg = (ipc->opcode >> 0) & 7; ! 77: uint32 srcdata = DATAREG(srcreg); ! 78: int dstreg = (ipc->opcode >> 9) & 7; ! 79: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 80: uint32 outdata = srcdata; ! 81: ! 82: storelong(dstaddr, outdata); ! 83: PC+= 2; ! 84: } ! 85: ! 86: void cpu_op_320b(t_ipc *ipc) /* MOVE */ { ! 87: /* mask f1f8, bits 20c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 88: int srcreg = (ipc->opcode >> 0) & 7; ! 89: uint32 srcdata = DATAREG(srcreg); ! 90: int dstreg = (ipc->opcode >> 9) & 7; ! 91: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 92: uint32 outdata = srcdata; ! 93: ! 94: storelong(dstaddr, outdata); ! 95: ! 96: VFLAG = 0; ! 97: CFLAG = 0; ! 98: NFLAG = ((sint32)outdata) < 0; ! 99: ZFLAG = !outdata; ! 100: PC+= 2; ! 101: } ! 102: ! 103: void cpu_op_321a(t_ipc *ipc) /* MOVE */ { ! 104: /* mask f1f8, bits 2100, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 105: int srcreg = (ipc->opcode >> 0) & 7; ! 106: uint32 srcdata = DATAREG(srcreg); ! 107: int dstreg = (ipc->opcode >> 9) & 7; ! 108: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 109: uint32 outdata = srcdata; ! 110: ! 111: storelong(dstaddr, outdata); ! 112: PC+= 2; ! 113: } ! 114: ! 115: void cpu_op_321b(t_ipc *ipc) /* MOVE */ { ! 116: /* mask f1f8, bits 2100, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 117: int srcreg = (ipc->opcode >> 0) & 7; ! 118: uint32 srcdata = DATAREG(srcreg); ! 119: int dstreg = (ipc->opcode >> 9) & 7; ! 120: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 121: uint32 outdata = srcdata; ! 122: ! 123: storelong(dstaddr, outdata); ! 124: ! 125: VFLAG = 0; ! 126: CFLAG = 0; ! 127: NFLAG = ((sint32)outdata) < 0; ! 128: ZFLAG = !outdata; ! 129: PC+= 2; ! 130: } ! 131: ! 132: void cpu_op_322a(t_ipc *ipc) /* MOVE */ { ! 133: /* mask f1f8, bits 2140, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 134: int srcreg = (ipc->opcode >> 0) & 7; ! 135: uint32 srcdata = DATAREG(srcreg); ! 136: int dstreg = (ipc->opcode >> 9) & 7; ! 137: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 138: uint32 outdata = srcdata; ! 139: ! 140: storelong(dstaddr, outdata); ! 141: PC+= 4; ! 142: } ! 143: ! 144: void cpu_op_322b(t_ipc *ipc) /* MOVE */ { ! 145: /* mask f1f8, bits 2140, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 146: int srcreg = (ipc->opcode >> 0) & 7; ! 147: uint32 srcdata = DATAREG(srcreg); ! 148: int dstreg = (ipc->opcode >> 9) & 7; ! 149: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 150: uint32 outdata = srcdata; ! 151: ! 152: storelong(dstaddr, outdata); ! 153: ! 154: VFLAG = 0; ! 155: CFLAG = 0; ! 156: NFLAG = ((sint32)outdata) < 0; ! 157: ZFLAG = !outdata; ! 158: PC+= 4; ! 159: } ! 160: ! 161: void cpu_op_323a(t_ipc *ipc) /* MOVE */ { ! 162: /* mask f1f8, bits 2180, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 163: int srcreg = (ipc->opcode >> 0) & 7; ! 164: uint32 srcdata = DATAREG(srcreg); ! 165: int dstreg = (ipc->opcode >> 9) & 7; ! 166: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 167: uint32 outdata = srcdata; ! 168: ! 169: storelong(dstaddr, outdata); ! 170: PC+= 4; ! 171: } ! 172: ! 173: void cpu_op_323b(t_ipc *ipc) /* MOVE */ { ! 174: /* mask f1f8, bits 2180, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 175: int srcreg = (ipc->opcode >> 0) & 7; ! 176: uint32 srcdata = DATAREG(srcreg); ! 177: int dstreg = (ipc->opcode >> 9) & 7; ! 178: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 179: uint32 outdata = srcdata; ! 180: ! 181: storelong(dstaddr, outdata); ! 182: ! 183: VFLAG = 0; ! 184: CFLAG = 0; ! 185: NFLAG = ((sint32)outdata) < 0; ! 186: ZFLAG = !outdata; ! 187: PC+= 4; ! 188: } ! 189: ! 190: void cpu_op_324a(t_ipc *ipc) /* MOVE */ { ! 191: /* mask fff8, bits 21c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 192: int srcreg = (ipc->opcode >> 0) & 7; ! 193: uint32 srcdata = DATAREG(srcreg); ! 194: uint32 dstaddr = ipc->dst; ! 195: uint32 outdata = srcdata; ! 196: ! 197: storelong(dstaddr, outdata); ! 198: PC+= 4; ! 199: } ! 200: ! 201: void cpu_op_324b(t_ipc *ipc) /* MOVE */ { ! 202: /* mask fff8, bits 21c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 203: int srcreg = (ipc->opcode >> 0) & 7; ! 204: uint32 srcdata = DATAREG(srcreg); ! 205: uint32 dstaddr = ipc->dst; ! 206: uint32 outdata = srcdata; ! 207: ! 208: storelong(dstaddr, outdata); ! 209: ! 210: VFLAG = 0; ! 211: CFLAG = 0; ! 212: NFLAG = ((sint32)outdata) < 0; ! 213: ZFLAG = !outdata; ! 214: PC+= 4; ! 215: } ! 216: ! 217: void cpu_op_325a(t_ipc *ipc) /* MOVE */ { ! 218: /* mask fff8, bits 23c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 219: int srcreg = (ipc->opcode >> 0) & 7; ! 220: uint32 srcdata = DATAREG(srcreg); ! 221: uint32 dstaddr = ipc->dst; ! 222: uint32 outdata = srcdata; ! 223: ! 224: storelong(dstaddr, outdata); ! 225: PC+= 6; ! 226: } ! 227: ! 228: void cpu_op_325b(t_ipc *ipc) /* MOVE */ { ! 229: /* mask fff8, bits 23c0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 0, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 230: int srcreg = (ipc->opcode >> 0) & 7; ! 231: uint32 srcdata = DATAREG(srcreg); ! 232: uint32 dstaddr = ipc->dst; ! 233: uint32 outdata = srcdata; ! 234: ! 235: storelong(dstaddr, outdata); ! 236: ! 237: VFLAG = 0; ! 238: CFLAG = 0; ! 239: NFLAG = ((sint32)outdata) < 0; ! 240: ZFLAG = !outdata; ! 241: PC+= 6; ! 242: } ! 243: ! 244: void cpu_op_326a(t_ipc *ipc) /* MOVE */ { ! 245: /* mask f1f8, bits 2008, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 246: int srcreg = (ipc->opcode >> 0) & 7; ! 247: uint32 srcdata = ADDRREG(srcreg); ! 248: int dstreg = (ipc->opcode >> 9) & 7; ! 249: uint32 outdata = srcdata; ! 250: ! 251: DATAREG(dstreg) = outdata; ! 252: PC+= 2; ! 253: } ! 254: ! 255: void cpu_op_326b(t_ipc *ipc) /* MOVE */ { ! 256: /* mask f1f8, bits 2008, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 257: int srcreg = (ipc->opcode >> 0) & 7; ! 258: uint32 srcdata = ADDRREG(srcreg); ! 259: int dstreg = (ipc->opcode >> 9) & 7; ! 260: uint32 outdata = srcdata; ! 261: ! 262: DATAREG(dstreg) = outdata; ! 263: ! 264: VFLAG = 0; ! 265: CFLAG = 0; ! 266: NFLAG = ((sint32)outdata) < 0; ! 267: ZFLAG = !outdata; ! 268: PC+= 2; ! 269: } ! 270: ! 271: void cpu_op_327a(t_ipc *ipc) /* MOVE */ { ! 272: /* mask f1f8, bits 2088, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 273: int srcreg = (ipc->opcode >> 0) & 7; ! 274: uint32 srcdata = ADDRREG(srcreg); ! 275: int dstreg = (ipc->opcode >> 9) & 7; ! 276: uint32 dstaddr = ADDRREG(dstreg); ! 277: uint32 outdata = srcdata; ! 278: ! 279: storelong(dstaddr, outdata); ! 280: PC+= 2; ! 281: } ! 282: ! 283: void cpu_op_327b(t_ipc *ipc) /* MOVE */ { ! 284: /* mask f1f8, bits 2088, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 285: int srcreg = (ipc->opcode >> 0) & 7; ! 286: uint32 srcdata = ADDRREG(srcreg); ! 287: int dstreg = (ipc->opcode >> 9) & 7; ! 288: uint32 dstaddr = ADDRREG(dstreg); ! 289: uint32 outdata = srcdata; ! 290: ! 291: storelong(dstaddr, outdata); ! 292: ! 293: VFLAG = 0; ! 294: CFLAG = 0; ! 295: NFLAG = ((sint32)outdata) < 0; ! 296: ZFLAG = !outdata; ! 297: PC+= 2; ! 298: } ! 299: ! 300: void cpu_op_328a(t_ipc *ipc) /* MOVE */ { ! 301: /* mask f1f8, bits 20c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 302: int srcreg = (ipc->opcode >> 0) & 7; ! 303: uint32 srcdata = ADDRREG(srcreg); ! 304: int dstreg = (ipc->opcode >> 9) & 7; ! 305: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 306: uint32 outdata = srcdata; ! 307: ! 308: storelong(dstaddr, outdata); ! 309: PC+= 2; ! 310: } ! 311: ! 312: void cpu_op_328b(t_ipc *ipc) /* MOVE */ { ! 313: /* mask f1f8, bits 20c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 314: int srcreg = (ipc->opcode >> 0) & 7; ! 315: uint32 srcdata = ADDRREG(srcreg); ! 316: int dstreg = (ipc->opcode >> 9) & 7; ! 317: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 318: uint32 outdata = srcdata; ! 319: ! 320: storelong(dstaddr, outdata); ! 321: ! 322: VFLAG = 0; ! 323: CFLAG = 0; ! 324: NFLAG = ((sint32)outdata) < 0; ! 325: ZFLAG = !outdata; ! 326: PC+= 2; ! 327: } ! 328: ! 329: void cpu_op_329a(t_ipc *ipc) /* MOVE */ { ! 330: /* mask f1f8, bits 2108, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 331: int srcreg = (ipc->opcode >> 0) & 7; ! 332: uint32 srcdata = ADDRREG(srcreg); ! 333: int dstreg = (ipc->opcode >> 9) & 7; ! 334: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 335: uint32 outdata = srcdata; ! 336: ! 337: storelong(dstaddr, outdata); ! 338: PC+= 2; ! 339: } ! 340: ! 341: void cpu_op_329b(t_ipc *ipc) /* MOVE */ { ! 342: /* mask f1f8, bits 2108, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 343: int srcreg = (ipc->opcode >> 0) & 7; ! 344: uint32 srcdata = ADDRREG(srcreg); ! 345: int dstreg = (ipc->opcode >> 9) & 7; ! 346: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 347: uint32 outdata = srcdata; ! 348: ! 349: storelong(dstaddr, outdata); ! 350: ! 351: VFLAG = 0; ! 352: CFLAG = 0; ! 353: NFLAG = ((sint32)outdata) < 0; ! 354: ZFLAG = !outdata; ! 355: PC+= 2; ! 356: } ! 357: ! 358: void cpu_op_330a(t_ipc *ipc) /* MOVE */ { ! 359: /* mask f1f8, bits 2148, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 360: int srcreg = (ipc->opcode >> 0) & 7; ! 361: uint32 srcdata = ADDRREG(srcreg); ! 362: int dstreg = (ipc->opcode >> 9) & 7; ! 363: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 364: uint32 outdata = srcdata; ! 365: ! 366: storelong(dstaddr, outdata); ! 367: PC+= 4; ! 368: } ! 369: ! 370: void cpu_op_330b(t_ipc *ipc) /* MOVE */ { ! 371: /* mask f1f8, bits 2148, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 372: int srcreg = (ipc->opcode >> 0) & 7; ! 373: uint32 srcdata = ADDRREG(srcreg); ! 374: int dstreg = (ipc->opcode >> 9) & 7; ! 375: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 376: uint32 outdata = srcdata; ! 377: ! 378: storelong(dstaddr, outdata); ! 379: ! 380: VFLAG = 0; ! 381: CFLAG = 0; ! 382: NFLAG = ((sint32)outdata) < 0; ! 383: ZFLAG = !outdata; ! 384: PC+= 4; ! 385: } ! 386: ! 387: void cpu_op_331a(t_ipc *ipc) /* MOVE */ { ! 388: /* mask f1f8, bits 2188, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 389: int srcreg = (ipc->opcode >> 0) & 7; ! 390: uint32 srcdata = ADDRREG(srcreg); ! 391: int dstreg = (ipc->opcode >> 9) & 7; ! 392: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 393: uint32 outdata = srcdata; ! 394: ! 395: storelong(dstaddr, outdata); ! 396: PC+= 4; ! 397: } ! 398: ! 399: void cpu_op_331b(t_ipc *ipc) /* MOVE */ { ! 400: /* mask f1f8, bits 2188, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 401: int srcreg = (ipc->opcode >> 0) & 7; ! 402: uint32 srcdata = ADDRREG(srcreg); ! 403: int dstreg = (ipc->opcode >> 9) & 7; ! 404: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 405: uint32 outdata = srcdata; ! 406: ! 407: storelong(dstaddr, outdata); ! 408: ! 409: VFLAG = 0; ! 410: CFLAG = 0; ! 411: NFLAG = ((sint32)outdata) < 0; ! 412: ZFLAG = !outdata; ! 413: PC+= 4; ! 414: } ! 415: ! 416: void cpu_op_332a(t_ipc *ipc) /* MOVE */ { ! 417: /* mask fff8, bits 21c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 418: int srcreg = (ipc->opcode >> 0) & 7; ! 419: uint32 srcdata = ADDRREG(srcreg); ! 420: uint32 dstaddr = ipc->dst; ! 421: uint32 outdata = srcdata; ! 422: ! 423: storelong(dstaddr, outdata); ! 424: PC+= 4; ! 425: } ! 426: ! 427: void cpu_op_332b(t_ipc *ipc) /* MOVE */ { ! 428: /* mask fff8, bits 21c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 429: int srcreg = (ipc->opcode >> 0) & 7; ! 430: uint32 srcdata = ADDRREG(srcreg); ! 431: uint32 dstaddr = ipc->dst; ! 432: uint32 outdata = srcdata; ! 433: ! 434: storelong(dstaddr, outdata); ! 435: ! 436: VFLAG = 0; ! 437: CFLAG = 0; ! 438: NFLAG = ((sint32)outdata) < 0; ! 439: ZFLAG = !outdata; ! 440: PC+= 4; ! 441: } ! 442: ! 443: void cpu_op_333a(t_ipc *ipc) /* MOVE */ { ! 444: /* mask fff8, bits 23c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 445: int srcreg = (ipc->opcode >> 0) & 7; ! 446: uint32 srcdata = ADDRREG(srcreg); ! 447: uint32 dstaddr = ipc->dst; ! 448: uint32 outdata = srcdata; ! 449: ! 450: storelong(dstaddr, outdata); ! 451: PC+= 6; ! 452: } ! 453: ! 454: void cpu_op_333b(t_ipc *ipc) /* MOVE */ { ! 455: /* mask fff8, bits 23c8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 1, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 456: int srcreg = (ipc->opcode >> 0) & 7; ! 457: uint32 srcdata = ADDRREG(srcreg); ! 458: uint32 dstaddr = ipc->dst; ! 459: uint32 outdata = srcdata; ! 460: ! 461: storelong(dstaddr, outdata); ! 462: ! 463: VFLAG = 0; ! 464: CFLAG = 0; ! 465: NFLAG = ((sint32)outdata) < 0; ! 466: ZFLAG = !outdata; ! 467: PC+= 6; ! 468: } ! 469: ! 470: void cpu_op_334a(t_ipc *ipc) /* MOVE */ { ! 471: /* mask f1f8, bits 2010, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 472: int srcreg = (ipc->opcode >> 0) & 7; ! 473: uint32 srcaddr = ADDRREG(srcreg); ! 474: uint32 srcdata = fetchlong(srcaddr); ! 475: int dstreg = (ipc->opcode >> 9) & 7; ! 476: uint32 outdata = srcdata; ! 477: ! 478: DATAREG(dstreg) = outdata; ! 479: PC+= 2; ! 480: } ! 481: ! 482: void cpu_op_334b(t_ipc *ipc) /* MOVE */ { ! 483: /* mask f1f8, bits 2010, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 484: int srcreg = (ipc->opcode >> 0) & 7; ! 485: uint32 srcaddr = ADDRREG(srcreg); ! 486: uint32 srcdata = fetchlong(srcaddr); ! 487: int dstreg = (ipc->opcode >> 9) & 7; ! 488: uint32 outdata = srcdata; ! 489: ! 490: DATAREG(dstreg) = outdata; ! 491: ! 492: VFLAG = 0; ! 493: CFLAG = 0; ! 494: NFLAG = ((sint32)outdata) < 0; ! 495: ZFLAG = !outdata; ! 496: PC+= 2; ! 497: } ! 498: ! 499: void cpu_op_335a(t_ipc *ipc) /* MOVE */ { ! 500: /* mask f1f8, bits 2090, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 501: int srcreg = (ipc->opcode >> 0) & 7; ! 502: uint32 srcaddr = ADDRREG(srcreg); ! 503: uint32 srcdata = fetchlong(srcaddr); ! 504: int dstreg = (ipc->opcode >> 9) & 7; ! 505: uint32 dstaddr = ADDRREG(dstreg); ! 506: uint32 outdata = srcdata; ! 507: ! 508: storelong(dstaddr, outdata); ! 509: PC+= 2; ! 510: } ! 511: ! 512: void cpu_op_335b(t_ipc *ipc) /* MOVE */ { ! 513: /* mask f1f8, bits 2090, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 514: int srcreg = (ipc->opcode >> 0) & 7; ! 515: uint32 srcaddr = ADDRREG(srcreg); ! 516: uint32 srcdata = fetchlong(srcaddr); ! 517: int dstreg = (ipc->opcode >> 9) & 7; ! 518: uint32 dstaddr = ADDRREG(dstreg); ! 519: uint32 outdata = srcdata; ! 520: ! 521: storelong(dstaddr, outdata); ! 522: ! 523: VFLAG = 0; ! 524: CFLAG = 0; ! 525: NFLAG = ((sint32)outdata) < 0; ! 526: ZFLAG = !outdata; ! 527: PC+= 2; ! 528: } ! 529: ! 530: void cpu_op_336a(t_ipc *ipc) /* MOVE */ { ! 531: /* mask f1f8, bits 20d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 532: int srcreg = (ipc->opcode >> 0) & 7; ! 533: uint32 srcaddr = ADDRREG(srcreg); ! 534: uint32 srcdata = fetchlong(srcaddr); ! 535: int dstreg = (ipc->opcode >> 9) & 7; ! 536: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 537: uint32 outdata = srcdata; ! 538: ! 539: storelong(dstaddr, outdata); ! 540: PC+= 2; ! 541: } ! 542: ! 543: void cpu_op_336b(t_ipc *ipc) /* MOVE */ { ! 544: /* mask f1f8, bits 20d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 545: int srcreg = (ipc->opcode >> 0) & 7; ! 546: uint32 srcaddr = ADDRREG(srcreg); ! 547: uint32 srcdata = fetchlong(srcaddr); ! 548: int dstreg = (ipc->opcode >> 9) & 7; ! 549: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 550: uint32 outdata = srcdata; ! 551: ! 552: storelong(dstaddr, outdata); ! 553: ! 554: VFLAG = 0; ! 555: CFLAG = 0; ! 556: NFLAG = ((sint32)outdata) < 0; ! 557: ZFLAG = !outdata; ! 558: PC+= 2; ! 559: } ! 560: ! 561: void cpu_op_337a(t_ipc *ipc) /* MOVE */ { ! 562: /* mask f1f8, bits 2110, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 563: int srcreg = (ipc->opcode >> 0) & 7; ! 564: uint32 srcaddr = ADDRREG(srcreg); ! 565: uint32 srcdata = fetchlong(srcaddr); ! 566: int dstreg = (ipc->opcode >> 9) & 7; ! 567: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 568: uint32 outdata = srcdata; ! 569: ! 570: storelong(dstaddr, outdata); ! 571: PC+= 2; ! 572: } ! 573: ! 574: void cpu_op_337b(t_ipc *ipc) /* MOVE */ { ! 575: /* mask f1f8, bits 2110, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 576: int srcreg = (ipc->opcode >> 0) & 7; ! 577: uint32 srcaddr = ADDRREG(srcreg); ! 578: uint32 srcdata = fetchlong(srcaddr); ! 579: int dstreg = (ipc->opcode >> 9) & 7; ! 580: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 581: uint32 outdata = srcdata; ! 582: ! 583: storelong(dstaddr, outdata); ! 584: ! 585: VFLAG = 0; ! 586: CFLAG = 0; ! 587: NFLAG = ((sint32)outdata) < 0; ! 588: ZFLAG = !outdata; ! 589: PC+= 2; ! 590: } ! 591: ! 592: void cpu_op_338a(t_ipc *ipc) /* MOVE */ { ! 593: /* mask f1f8, bits 2150, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 594: int srcreg = (ipc->opcode >> 0) & 7; ! 595: uint32 srcaddr = ADDRREG(srcreg); ! 596: uint32 srcdata = fetchlong(srcaddr); ! 597: int dstreg = (ipc->opcode >> 9) & 7; ! 598: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 599: uint32 outdata = srcdata; ! 600: ! 601: storelong(dstaddr, outdata); ! 602: PC+= 4; ! 603: } ! 604: ! 605: void cpu_op_338b(t_ipc *ipc) /* MOVE */ { ! 606: /* mask f1f8, bits 2150, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 607: int srcreg = (ipc->opcode >> 0) & 7; ! 608: uint32 srcaddr = ADDRREG(srcreg); ! 609: uint32 srcdata = fetchlong(srcaddr); ! 610: int dstreg = (ipc->opcode >> 9) & 7; ! 611: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 612: uint32 outdata = srcdata; ! 613: ! 614: storelong(dstaddr, outdata); ! 615: ! 616: VFLAG = 0; ! 617: CFLAG = 0; ! 618: NFLAG = ((sint32)outdata) < 0; ! 619: ZFLAG = !outdata; ! 620: PC+= 4; ! 621: } ! 622: ! 623: void cpu_op_339a(t_ipc *ipc) /* MOVE */ { ! 624: /* mask f1f8, bits 2190, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 625: int srcreg = (ipc->opcode >> 0) & 7; ! 626: uint32 srcaddr = ADDRREG(srcreg); ! 627: uint32 srcdata = fetchlong(srcaddr); ! 628: int dstreg = (ipc->opcode >> 9) & 7; ! 629: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 630: uint32 outdata = srcdata; ! 631: ! 632: storelong(dstaddr, outdata); ! 633: PC+= 4; ! 634: } ! 635: ! 636: void cpu_op_339b(t_ipc *ipc) /* MOVE */ { ! 637: /* mask f1f8, bits 2190, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 638: int srcreg = (ipc->opcode >> 0) & 7; ! 639: uint32 srcaddr = ADDRREG(srcreg); ! 640: uint32 srcdata = fetchlong(srcaddr); ! 641: int dstreg = (ipc->opcode >> 9) & 7; ! 642: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 643: uint32 outdata = srcdata; ! 644: ! 645: storelong(dstaddr, outdata); ! 646: ! 647: VFLAG = 0; ! 648: CFLAG = 0; ! 649: NFLAG = ((sint32)outdata) < 0; ! 650: ZFLAG = !outdata; ! 651: PC+= 4; ! 652: } ! 653: ! 654: void cpu_op_340a(t_ipc *ipc) /* MOVE */ { ! 655: /* mask fff8, bits 21d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 656: int srcreg = (ipc->opcode >> 0) & 7; ! 657: uint32 srcaddr = ADDRREG(srcreg); ! 658: uint32 srcdata = fetchlong(srcaddr); ! 659: uint32 dstaddr = ipc->dst; ! 660: uint32 outdata = srcdata; ! 661: ! 662: storelong(dstaddr, outdata); ! 663: PC+= 4; ! 664: } ! 665: ! 666: void cpu_op_340b(t_ipc *ipc) /* MOVE */ { ! 667: /* mask fff8, bits 21d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 668: int srcreg = (ipc->opcode >> 0) & 7; ! 669: uint32 srcaddr = ADDRREG(srcreg); ! 670: uint32 srcdata = fetchlong(srcaddr); ! 671: uint32 dstaddr = ipc->dst; ! 672: uint32 outdata = srcdata; ! 673: ! 674: storelong(dstaddr, outdata); ! 675: ! 676: VFLAG = 0; ! 677: CFLAG = 0; ! 678: NFLAG = ((sint32)outdata) < 0; ! 679: ZFLAG = !outdata; ! 680: PC+= 4; ! 681: } ! 682: ! 683: void cpu_op_341a(t_ipc *ipc) /* MOVE */ { ! 684: /* mask fff8, bits 23d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 685: int srcreg = (ipc->opcode >> 0) & 7; ! 686: uint32 srcaddr = ADDRREG(srcreg); ! 687: uint32 srcdata = fetchlong(srcaddr); ! 688: uint32 dstaddr = ipc->dst; ! 689: uint32 outdata = srcdata; ! 690: ! 691: storelong(dstaddr, outdata); ! 692: PC+= 6; ! 693: } ! 694: ! 695: void cpu_op_341b(t_ipc *ipc) /* MOVE */ { ! 696: /* mask fff8, bits 23d0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 2, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 697: int srcreg = (ipc->opcode >> 0) & 7; ! 698: uint32 srcaddr = ADDRREG(srcreg); ! 699: uint32 srcdata = fetchlong(srcaddr); ! 700: uint32 dstaddr = ipc->dst; ! 701: uint32 outdata = srcdata; ! 702: ! 703: storelong(dstaddr, outdata); ! 704: ! 705: VFLAG = 0; ! 706: CFLAG = 0; ! 707: NFLAG = ((sint32)outdata) < 0; ! 708: ZFLAG = !outdata; ! 709: PC+= 6; ! 710: } ! 711: ! 712: void cpu_op_342a(t_ipc *ipc) /* MOVE */ { ! 713: /* mask f1f8, bits 2018, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 714: int srcreg = (ipc->opcode >> 0) & 7; ! 715: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 716: uint32 srcdata = fetchlong(srcaddr); ! 717: int dstreg = (ipc->opcode >> 9) & 7; ! 718: uint32 outdata = srcdata; ! 719: ! 720: DATAREG(dstreg) = outdata; ! 721: PC+= 2; ! 722: } ! 723: ! 724: void cpu_op_342b(t_ipc *ipc) /* MOVE */ { ! 725: /* mask f1f8, bits 2018, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 726: int srcreg = (ipc->opcode >> 0) & 7; ! 727: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 728: uint32 srcdata = fetchlong(srcaddr); ! 729: int dstreg = (ipc->opcode >> 9) & 7; ! 730: uint32 outdata = srcdata; ! 731: ! 732: DATAREG(dstreg) = outdata; ! 733: ! 734: VFLAG = 0; ! 735: CFLAG = 0; ! 736: NFLAG = ((sint32)outdata) < 0; ! 737: ZFLAG = !outdata; ! 738: PC+= 2; ! 739: } ! 740: ! 741: void cpu_op_343a(t_ipc *ipc) /* MOVE */ { ! 742: /* mask f1f8, bits 2098, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 743: int srcreg = (ipc->opcode >> 0) & 7; ! 744: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 745: uint32 srcdata = fetchlong(srcaddr); ! 746: int dstreg = (ipc->opcode >> 9) & 7; ! 747: uint32 dstaddr = ADDRREG(dstreg); ! 748: uint32 outdata = srcdata; ! 749: ! 750: storelong(dstaddr, outdata); ! 751: PC+= 2; ! 752: } ! 753: ! 754: void cpu_op_343b(t_ipc *ipc) /* MOVE */ { ! 755: /* mask f1f8, bits 2098, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 756: int srcreg = (ipc->opcode >> 0) & 7; ! 757: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 758: uint32 srcdata = fetchlong(srcaddr); ! 759: int dstreg = (ipc->opcode >> 9) & 7; ! 760: uint32 dstaddr = ADDRREG(dstreg); ! 761: uint32 outdata = srcdata; ! 762: ! 763: storelong(dstaddr, outdata); ! 764: ! 765: VFLAG = 0; ! 766: CFLAG = 0; ! 767: NFLAG = ((sint32)outdata) < 0; ! 768: ZFLAG = !outdata; ! 769: PC+= 2; ! 770: } ! 771: ! 772: void cpu_op_344a(t_ipc *ipc) /* MOVE */ { ! 773: /* mask f1f8, bits 20d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 774: int srcreg = (ipc->opcode >> 0) & 7; ! 775: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 776: uint32 srcdata = fetchlong(srcaddr); ! 777: int dstreg = (ipc->opcode >> 9) & 7; ! 778: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 779: uint32 outdata = srcdata; ! 780: ! 781: storelong(dstaddr, outdata); ! 782: PC+= 2; ! 783: } ! 784: ! 785: void cpu_op_344b(t_ipc *ipc) /* MOVE */ { ! 786: /* mask f1f8, bits 20d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 787: int srcreg = (ipc->opcode >> 0) & 7; ! 788: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 789: uint32 srcdata = fetchlong(srcaddr); ! 790: int dstreg = (ipc->opcode >> 9) & 7; ! 791: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 792: uint32 outdata = srcdata; ! 793: ! 794: storelong(dstaddr, outdata); ! 795: ! 796: VFLAG = 0; ! 797: CFLAG = 0; ! 798: NFLAG = ((sint32)outdata) < 0; ! 799: ZFLAG = !outdata; ! 800: PC+= 2; ! 801: } ! 802: ! 803: void cpu_op_345a(t_ipc *ipc) /* MOVE */ { ! 804: /* mask f1f8, bits 2118, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 805: int srcreg = (ipc->opcode >> 0) & 7; ! 806: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 807: uint32 srcdata = fetchlong(srcaddr); ! 808: int dstreg = (ipc->opcode >> 9) & 7; ! 809: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 810: uint32 outdata = srcdata; ! 811: ! 812: storelong(dstaddr, outdata); ! 813: PC+= 2; ! 814: } ! 815: ! 816: void cpu_op_345b(t_ipc *ipc) /* MOVE */ { ! 817: /* mask f1f8, bits 2118, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 818: int srcreg = (ipc->opcode >> 0) & 7; ! 819: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 820: uint32 srcdata = fetchlong(srcaddr); ! 821: int dstreg = (ipc->opcode >> 9) & 7; ! 822: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 823: uint32 outdata = srcdata; ! 824: ! 825: storelong(dstaddr, outdata); ! 826: ! 827: VFLAG = 0; ! 828: CFLAG = 0; ! 829: NFLAG = ((sint32)outdata) < 0; ! 830: ZFLAG = !outdata; ! 831: PC+= 2; ! 832: } ! 833: ! 834: void cpu_op_346a(t_ipc *ipc) /* MOVE */ { ! 835: /* mask f1f8, bits 2158, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 836: int srcreg = (ipc->opcode >> 0) & 7; ! 837: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 838: uint32 srcdata = fetchlong(srcaddr); ! 839: int dstreg = (ipc->opcode >> 9) & 7; ! 840: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 841: uint32 outdata = srcdata; ! 842: ! 843: storelong(dstaddr, outdata); ! 844: PC+= 4; ! 845: } ! 846: ! 847: void cpu_op_346b(t_ipc *ipc) /* MOVE */ { ! 848: /* mask f1f8, bits 2158, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 849: int srcreg = (ipc->opcode >> 0) & 7; ! 850: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 851: uint32 srcdata = fetchlong(srcaddr); ! 852: int dstreg = (ipc->opcode >> 9) & 7; ! 853: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 854: uint32 outdata = srcdata; ! 855: ! 856: storelong(dstaddr, outdata); ! 857: ! 858: VFLAG = 0; ! 859: CFLAG = 0; ! 860: NFLAG = ((sint32)outdata) < 0; ! 861: ZFLAG = !outdata; ! 862: PC+= 4; ! 863: } ! 864: ! 865: void cpu_op_347a(t_ipc *ipc) /* MOVE */ { ! 866: /* mask f1f8, bits 2198, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 867: int srcreg = (ipc->opcode >> 0) & 7; ! 868: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 869: uint32 srcdata = fetchlong(srcaddr); ! 870: int dstreg = (ipc->opcode >> 9) & 7; ! 871: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 872: uint32 outdata = srcdata; ! 873: ! 874: storelong(dstaddr, outdata); ! 875: PC+= 4; ! 876: } ! 877: ! 878: void cpu_op_347b(t_ipc *ipc) /* MOVE */ { ! 879: /* mask f1f8, bits 2198, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 880: int srcreg = (ipc->opcode >> 0) & 7; ! 881: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 882: uint32 srcdata = fetchlong(srcaddr); ! 883: int dstreg = (ipc->opcode >> 9) & 7; ! 884: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 885: uint32 outdata = srcdata; ! 886: ! 887: storelong(dstaddr, outdata); ! 888: ! 889: VFLAG = 0; ! 890: CFLAG = 0; ! 891: NFLAG = ((sint32)outdata) < 0; ! 892: ZFLAG = !outdata; ! 893: PC+= 4; ! 894: } ! 895: ! 896: void cpu_op_348a(t_ipc *ipc) /* MOVE */ { ! 897: /* mask fff8, bits 21d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 898: int srcreg = (ipc->opcode >> 0) & 7; ! 899: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 900: uint32 srcdata = fetchlong(srcaddr); ! 901: uint32 dstaddr = ipc->dst; ! 902: uint32 outdata = srcdata; ! 903: ! 904: storelong(dstaddr, outdata); ! 905: PC+= 4; ! 906: } ! 907: ! 908: void cpu_op_348b(t_ipc *ipc) /* MOVE */ { ! 909: /* mask fff8, bits 21d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 910: int srcreg = (ipc->opcode >> 0) & 7; ! 911: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 912: uint32 srcdata = fetchlong(srcaddr); ! 913: uint32 dstaddr = ipc->dst; ! 914: uint32 outdata = srcdata; ! 915: ! 916: storelong(dstaddr, outdata); ! 917: ! 918: VFLAG = 0; ! 919: CFLAG = 0; ! 920: NFLAG = ((sint32)outdata) < 0; ! 921: ZFLAG = !outdata; ! 922: PC+= 4; ! 923: } ! 924: ! 925: void cpu_op_349a(t_ipc *ipc) /* MOVE */ { ! 926: /* mask fff8, bits 23d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 927: int srcreg = (ipc->opcode >> 0) & 7; ! 928: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 929: uint32 srcdata = fetchlong(srcaddr); ! 930: uint32 dstaddr = ipc->dst; ! 931: uint32 outdata = srcdata; ! 932: ! 933: storelong(dstaddr, outdata); ! 934: PC+= 6; ! 935: } ! 936: ! 937: void cpu_op_349b(t_ipc *ipc) /* MOVE */ { ! 938: /* mask fff8, bits 23d8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 3, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 939: int srcreg = (ipc->opcode >> 0) & 7; ! 940: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 941: uint32 srcdata = fetchlong(srcaddr); ! 942: uint32 dstaddr = ipc->dst; ! 943: uint32 outdata = srcdata; ! 944: ! 945: storelong(dstaddr, outdata); ! 946: ! 947: VFLAG = 0; ! 948: CFLAG = 0; ! 949: NFLAG = ((sint32)outdata) < 0; ! 950: ZFLAG = !outdata; ! 951: PC+= 6; ! 952: } ! 953: ! 954: void cpu_op_350a(t_ipc *ipc) /* MOVE */ { ! 955: /* mask f1f8, bits 2020, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 956: int srcreg = (ipc->opcode >> 0) & 7; ! 957: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 958: uint32 srcdata = fetchlong(srcaddr); ! 959: int dstreg = (ipc->opcode >> 9) & 7; ! 960: uint32 outdata = srcdata; ! 961: ! 962: DATAREG(dstreg) = outdata; ! 963: PC+= 2; ! 964: } ! 965: ! 966: void cpu_op_350b(t_ipc *ipc) /* MOVE */ { ! 967: /* mask f1f8, bits 2020, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 968: int srcreg = (ipc->opcode >> 0) & 7; ! 969: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 970: uint32 srcdata = fetchlong(srcaddr); ! 971: int dstreg = (ipc->opcode >> 9) & 7; ! 972: uint32 outdata = srcdata; ! 973: ! 974: DATAREG(dstreg) = outdata; ! 975: ! 976: VFLAG = 0; ! 977: CFLAG = 0; ! 978: NFLAG = ((sint32)outdata) < 0; ! 979: ZFLAG = !outdata; ! 980: PC+= 2; ! 981: } ! 982: ! 983: void cpu_op_351a(t_ipc *ipc) /* MOVE */ { ! 984: /* mask f1f8, bits 20a0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 985: int srcreg = (ipc->opcode >> 0) & 7; ! 986: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 987: uint32 srcdata = fetchlong(srcaddr); ! 988: int dstreg = (ipc->opcode >> 9) & 7; ! 989: uint32 dstaddr = ADDRREG(dstreg); ! 990: uint32 outdata = srcdata; ! 991: ! 992: storelong(dstaddr, outdata); ! 993: PC+= 2; ! 994: } ! 995: ! 996: void cpu_op_351b(t_ipc *ipc) /* MOVE */ { ! 997: /* mask f1f8, bits 20a0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 998: int srcreg = (ipc->opcode >> 0) & 7; ! 999: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1000: uint32 srcdata = fetchlong(srcaddr); ! 1001: int dstreg = (ipc->opcode >> 9) & 7; ! 1002: uint32 dstaddr = ADDRREG(dstreg); ! 1003: uint32 outdata = srcdata; ! 1004: ! 1005: storelong(dstaddr, outdata); ! 1006: ! 1007: VFLAG = 0; ! 1008: CFLAG = 0; ! 1009: NFLAG = ((sint32)outdata) < 0; ! 1010: ZFLAG = !outdata; ! 1011: PC+= 2; ! 1012: } ! 1013: ! 1014: void cpu_op_352a(t_ipc *ipc) /* MOVE */ { ! 1015: /* mask f1f8, bits 20e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1016: int srcreg = (ipc->opcode >> 0) & 7; ! 1017: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1018: uint32 srcdata = fetchlong(srcaddr); ! 1019: int dstreg = (ipc->opcode >> 9) & 7; ! 1020: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1021: uint32 outdata = srcdata; ! 1022: ! 1023: storelong(dstaddr, outdata); ! 1024: PC+= 2; ! 1025: } ! 1026: ! 1027: void cpu_op_352b(t_ipc *ipc) /* MOVE */ { ! 1028: /* mask f1f8, bits 20e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1029: int srcreg = (ipc->opcode >> 0) & 7; ! 1030: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1031: uint32 srcdata = fetchlong(srcaddr); ! 1032: int dstreg = (ipc->opcode >> 9) & 7; ! 1033: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1034: uint32 outdata = srcdata; ! 1035: ! 1036: storelong(dstaddr, outdata); ! 1037: ! 1038: VFLAG = 0; ! 1039: CFLAG = 0; ! 1040: NFLAG = ((sint32)outdata) < 0; ! 1041: ZFLAG = !outdata; ! 1042: PC+= 2; ! 1043: } ! 1044: ! 1045: void cpu_op_353a(t_ipc *ipc) /* MOVE */ { ! 1046: /* mask f1f8, bits 2120, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1047: int srcreg = (ipc->opcode >> 0) & 7; ! 1048: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1049: uint32 srcdata = fetchlong(srcaddr); ! 1050: int dstreg = (ipc->opcode >> 9) & 7; ! 1051: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1052: uint32 outdata = srcdata; ! 1053: ! 1054: storelong(dstaddr, outdata); ! 1055: PC+= 2; ! 1056: } ! 1057: ! 1058: void cpu_op_353b(t_ipc *ipc) /* MOVE */ { ! 1059: /* mask f1f8, bits 2120, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1060: int srcreg = (ipc->opcode >> 0) & 7; ! 1061: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1062: uint32 srcdata = fetchlong(srcaddr); ! 1063: int dstreg = (ipc->opcode >> 9) & 7; ! 1064: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1065: uint32 outdata = srcdata; ! 1066: ! 1067: storelong(dstaddr, outdata); ! 1068: ! 1069: VFLAG = 0; ! 1070: CFLAG = 0; ! 1071: NFLAG = ((sint32)outdata) < 0; ! 1072: ZFLAG = !outdata; ! 1073: PC+= 2; ! 1074: } ! 1075: ! 1076: void cpu_op_354a(t_ipc *ipc) /* MOVE */ { ! 1077: /* mask f1f8, bits 2160, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1078: int srcreg = (ipc->opcode >> 0) & 7; ! 1079: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1080: uint32 srcdata = fetchlong(srcaddr); ! 1081: int dstreg = (ipc->opcode >> 9) & 7; ! 1082: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1083: uint32 outdata = srcdata; ! 1084: ! 1085: storelong(dstaddr, outdata); ! 1086: PC+= 4; ! 1087: } ! 1088: ! 1089: void cpu_op_354b(t_ipc *ipc) /* MOVE */ { ! 1090: /* mask f1f8, bits 2160, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1091: int srcreg = (ipc->opcode >> 0) & 7; ! 1092: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1093: uint32 srcdata = fetchlong(srcaddr); ! 1094: int dstreg = (ipc->opcode >> 9) & 7; ! 1095: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1096: uint32 outdata = srcdata; ! 1097: ! 1098: storelong(dstaddr, outdata); ! 1099: ! 1100: VFLAG = 0; ! 1101: CFLAG = 0; ! 1102: NFLAG = ((sint32)outdata) < 0; ! 1103: ZFLAG = !outdata; ! 1104: PC+= 4; ! 1105: } ! 1106: ! 1107: void cpu_op_355a(t_ipc *ipc) /* MOVE */ { ! 1108: /* mask f1f8, bits 21a0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1109: int srcreg = (ipc->opcode >> 0) & 7; ! 1110: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1111: uint32 srcdata = fetchlong(srcaddr); ! 1112: int dstreg = (ipc->opcode >> 9) & 7; ! 1113: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1114: uint32 outdata = srcdata; ! 1115: ! 1116: storelong(dstaddr, outdata); ! 1117: PC+= 4; ! 1118: } ! 1119: ! 1120: void cpu_op_355b(t_ipc *ipc) /* MOVE */ { ! 1121: /* mask f1f8, bits 21a0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1122: int srcreg = (ipc->opcode >> 0) & 7; ! 1123: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1124: uint32 srcdata = fetchlong(srcaddr); ! 1125: int dstreg = (ipc->opcode >> 9) & 7; ! 1126: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1127: uint32 outdata = srcdata; ! 1128: ! 1129: storelong(dstaddr, outdata); ! 1130: ! 1131: VFLAG = 0; ! 1132: CFLAG = 0; ! 1133: NFLAG = ((sint32)outdata) < 0; ! 1134: ZFLAG = !outdata; ! 1135: PC+= 4; ! 1136: } ! 1137: ! 1138: void cpu_op_356a(t_ipc *ipc) /* MOVE */ { ! 1139: /* mask fff8, bits 21e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1140: int srcreg = (ipc->opcode >> 0) & 7; ! 1141: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1142: uint32 srcdata = fetchlong(srcaddr); ! 1143: uint32 dstaddr = ipc->dst; ! 1144: uint32 outdata = srcdata; ! 1145: ! 1146: storelong(dstaddr, outdata); ! 1147: PC+= 4; ! 1148: } ! 1149: ! 1150: void cpu_op_356b(t_ipc *ipc) /* MOVE */ { ! 1151: /* mask fff8, bits 21e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1152: int srcreg = (ipc->opcode >> 0) & 7; ! 1153: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1154: uint32 srcdata = fetchlong(srcaddr); ! 1155: uint32 dstaddr = ipc->dst; ! 1156: uint32 outdata = srcdata; ! 1157: ! 1158: storelong(dstaddr, outdata); ! 1159: ! 1160: VFLAG = 0; ! 1161: CFLAG = 0; ! 1162: NFLAG = ((sint32)outdata) < 0; ! 1163: ZFLAG = !outdata; ! 1164: PC+= 4; ! 1165: } ! 1166: ! 1167: void cpu_op_357a(t_ipc *ipc) /* MOVE */ { ! 1168: /* mask fff8, bits 23e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1169: int srcreg = (ipc->opcode >> 0) & 7; ! 1170: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1171: uint32 srcdata = fetchlong(srcaddr); ! 1172: uint32 dstaddr = ipc->dst; ! 1173: uint32 outdata = srcdata; ! 1174: ! 1175: storelong(dstaddr, outdata); ! 1176: PC+= 6; ! 1177: } ! 1178: ! 1179: void cpu_op_357b(t_ipc *ipc) /* MOVE */ { ! 1180: /* mask fff8, bits 23e0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 4, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1181: int srcreg = (ipc->opcode >> 0) & 7; ! 1182: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 1183: uint32 srcdata = fetchlong(srcaddr); ! 1184: uint32 dstaddr = ipc->dst; ! 1185: uint32 outdata = srcdata; ! 1186: ! 1187: storelong(dstaddr, outdata); ! 1188: ! 1189: VFLAG = 0; ! 1190: CFLAG = 0; ! 1191: NFLAG = ((sint32)outdata) < 0; ! 1192: ZFLAG = !outdata; ! 1193: PC+= 6; ! 1194: } ! 1195: ! 1196: void cpu_op_358a(t_ipc *ipc) /* MOVE */ { ! 1197: /* mask f1f8, bits 2028, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1198: int srcreg = (ipc->opcode >> 0) & 7; ! 1199: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1200: uint32 srcdata = fetchlong(srcaddr); ! 1201: int dstreg = (ipc->opcode >> 9) & 7; ! 1202: uint32 outdata = srcdata; ! 1203: ! 1204: DATAREG(dstreg) = outdata; ! 1205: PC+= 4; ! 1206: } ! 1207: ! 1208: void cpu_op_358b(t_ipc *ipc) /* MOVE */ { ! 1209: /* mask f1f8, bits 2028, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1210: int srcreg = (ipc->opcode >> 0) & 7; ! 1211: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1212: uint32 srcdata = fetchlong(srcaddr); ! 1213: int dstreg = (ipc->opcode >> 9) & 7; ! 1214: uint32 outdata = srcdata; ! 1215: ! 1216: DATAREG(dstreg) = outdata; ! 1217: ! 1218: VFLAG = 0; ! 1219: CFLAG = 0; ! 1220: NFLAG = ((sint32)outdata) < 0; ! 1221: ZFLAG = !outdata; ! 1222: PC+= 4; ! 1223: } ! 1224: ! 1225: void cpu_op_359a(t_ipc *ipc) /* MOVE */ { ! 1226: /* mask f1f8, bits 20a8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1227: int srcreg = (ipc->opcode >> 0) & 7; ! 1228: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1229: uint32 srcdata = fetchlong(srcaddr); ! 1230: int dstreg = (ipc->opcode >> 9) & 7; ! 1231: uint32 dstaddr = ADDRREG(dstreg); ! 1232: uint32 outdata = srcdata; ! 1233: ! 1234: storelong(dstaddr, outdata); ! 1235: PC+= 4; ! 1236: } ! 1237: ! 1238: void cpu_op_359b(t_ipc *ipc) /* MOVE */ { ! 1239: /* mask f1f8, bits 20a8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1240: int srcreg = (ipc->opcode >> 0) & 7; ! 1241: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1242: uint32 srcdata = fetchlong(srcaddr); ! 1243: int dstreg = (ipc->opcode >> 9) & 7; ! 1244: uint32 dstaddr = ADDRREG(dstreg); ! 1245: uint32 outdata = srcdata; ! 1246: ! 1247: storelong(dstaddr, outdata); ! 1248: ! 1249: VFLAG = 0; ! 1250: CFLAG = 0; ! 1251: NFLAG = ((sint32)outdata) < 0; ! 1252: ZFLAG = !outdata; ! 1253: PC+= 4; ! 1254: } ! 1255: ! 1256: void cpu_op_360a(t_ipc *ipc) /* MOVE */ { ! 1257: /* mask f1f8, bits 20e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1258: int srcreg = (ipc->opcode >> 0) & 7; ! 1259: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1260: uint32 srcdata = fetchlong(srcaddr); ! 1261: int dstreg = (ipc->opcode >> 9) & 7; ! 1262: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1263: uint32 outdata = srcdata; ! 1264: ! 1265: storelong(dstaddr, outdata); ! 1266: PC+= 4; ! 1267: } ! 1268: ! 1269: void cpu_op_360b(t_ipc *ipc) /* MOVE */ { ! 1270: /* mask f1f8, bits 20e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1271: int srcreg = (ipc->opcode >> 0) & 7; ! 1272: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1273: uint32 srcdata = fetchlong(srcaddr); ! 1274: int dstreg = (ipc->opcode >> 9) & 7; ! 1275: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1276: uint32 outdata = srcdata; ! 1277: ! 1278: storelong(dstaddr, outdata); ! 1279: ! 1280: VFLAG = 0; ! 1281: CFLAG = 0; ! 1282: NFLAG = ((sint32)outdata) < 0; ! 1283: ZFLAG = !outdata; ! 1284: PC+= 4; ! 1285: } ! 1286: ! 1287: void cpu_op_361a(t_ipc *ipc) /* MOVE */ { ! 1288: /* mask f1f8, bits 2128, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1289: int srcreg = (ipc->opcode >> 0) & 7; ! 1290: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1291: uint32 srcdata = fetchlong(srcaddr); ! 1292: int dstreg = (ipc->opcode >> 9) & 7; ! 1293: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1294: uint32 outdata = srcdata; ! 1295: ! 1296: storelong(dstaddr, outdata); ! 1297: PC+= 4; ! 1298: } ! 1299: ! 1300: void cpu_op_361b(t_ipc *ipc) /* MOVE */ { ! 1301: /* mask f1f8, bits 2128, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1302: int srcreg = (ipc->opcode >> 0) & 7; ! 1303: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1304: uint32 srcdata = fetchlong(srcaddr); ! 1305: int dstreg = (ipc->opcode >> 9) & 7; ! 1306: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1307: uint32 outdata = srcdata; ! 1308: ! 1309: storelong(dstaddr, outdata); ! 1310: ! 1311: VFLAG = 0; ! 1312: CFLAG = 0; ! 1313: NFLAG = ((sint32)outdata) < 0; ! 1314: ZFLAG = !outdata; ! 1315: PC+= 4; ! 1316: } ! 1317: ! 1318: void cpu_op_362a(t_ipc *ipc) /* MOVE */ { ! 1319: /* mask f1f8, bits 2168, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1320: int srcreg = (ipc->opcode >> 0) & 7; ! 1321: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1322: uint32 srcdata = fetchlong(srcaddr); ! 1323: int dstreg = (ipc->opcode >> 9) & 7; ! 1324: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1325: uint32 outdata = srcdata; ! 1326: ! 1327: storelong(dstaddr, outdata); ! 1328: PC+= 6; ! 1329: } ! 1330: ! 1331: void cpu_op_362b(t_ipc *ipc) /* MOVE */ { ! 1332: /* mask f1f8, bits 2168, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1333: int srcreg = (ipc->opcode >> 0) & 7; ! 1334: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1335: uint32 srcdata = fetchlong(srcaddr); ! 1336: int dstreg = (ipc->opcode >> 9) & 7; ! 1337: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1338: uint32 outdata = srcdata; ! 1339: ! 1340: storelong(dstaddr, outdata); ! 1341: ! 1342: VFLAG = 0; ! 1343: CFLAG = 0; ! 1344: NFLAG = ((sint32)outdata) < 0; ! 1345: ZFLAG = !outdata; ! 1346: PC+= 6; ! 1347: } ! 1348: ! 1349: void cpu_op_363a(t_ipc *ipc) /* MOVE */ { ! 1350: /* mask f1f8, bits 21a8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1351: int srcreg = (ipc->opcode >> 0) & 7; ! 1352: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1353: uint32 srcdata = fetchlong(srcaddr); ! 1354: int dstreg = (ipc->opcode >> 9) & 7; ! 1355: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1356: uint32 outdata = srcdata; ! 1357: ! 1358: storelong(dstaddr, outdata); ! 1359: PC+= 6; ! 1360: } ! 1361: ! 1362: void cpu_op_363b(t_ipc *ipc) /* MOVE */ { ! 1363: /* mask f1f8, bits 21a8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1364: int srcreg = (ipc->opcode >> 0) & 7; ! 1365: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1366: uint32 srcdata = fetchlong(srcaddr); ! 1367: int dstreg = (ipc->opcode >> 9) & 7; ! 1368: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1369: uint32 outdata = srcdata; ! 1370: ! 1371: storelong(dstaddr, outdata); ! 1372: ! 1373: VFLAG = 0; ! 1374: CFLAG = 0; ! 1375: NFLAG = ((sint32)outdata) < 0; ! 1376: ZFLAG = !outdata; ! 1377: PC+= 6; ! 1378: } ! 1379: ! 1380: void cpu_op_364a(t_ipc *ipc) /* MOVE */ { ! 1381: /* mask fff8, bits 21e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1382: int srcreg = (ipc->opcode >> 0) & 7; ! 1383: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1384: uint32 srcdata = fetchlong(srcaddr); ! 1385: uint32 dstaddr = ipc->dst; ! 1386: uint32 outdata = srcdata; ! 1387: ! 1388: storelong(dstaddr, outdata); ! 1389: PC+= 6; ! 1390: } ! 1391: ! 1392: void cpu_op_364b(t_ipc *ipc) /* MOVE */ { ! 1393: /* mask fff8, bits 21e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1394: int srcreg = (ipc->opcode >> 0) & 7; ! 1395: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1396: uint32 srcdata = fetchlong(srcaddr); ! 1397: uint32 dstaddr = ipc->dst; ! 1398: uint32 outdata = srcdata; ! 1399: ! 1400: storelong(dstaddr, outdata); ! 1401: ! 1402: VFLAG = 0; ! 1403: CFLAG = 0; ! 1404: NFLAG = ((sint32)outdata) < 0; ! 1405: ZFLAG = !outdata; ! 1406: PC+= 6; ! 1407: } ! 1408: ! 1409: void cpu_op_365a(t_ipc *ipc) /* MOVE */ { ! 1410: /* mask fff8, bits 23e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1411: int srcreg = (ipc->opcode >> 0) & 7; ! 1412: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1413: uint32 srcdata = fetchlong(srcaddr); ! 1414: uint32 dstaddr = ipc->dst; ! 1415: uint32 outdata = srcdata; ! 1416: ! 1417: storelong(dstaddr, outdata); ! 1418: PC+= 8; ! 1419: } ! 1420: ! 1421: void cpu_op_365b(t_ipc *ipc) /* MOVE */ { ! 1422: /* mask fff8, bits 23e8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 5, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1423: int srcreg = (ipc->opcode >> 0) & 7; ! 1424: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 1425: uint32 srcdata = fetchlong(srcaddr); ! 1426: uint32 dstaddr = ipc->dst; ! 1427: uint32 outdata = srcdata; ! 1428: ! 1429: storelong(dstaddr, outdata); ! 1430: ! 1431: VFLAG = 0; ! 1432: CFLAG = 0; ! 1433: NFLAG = ((sint32)outdata) < 0; ! 1434: ZFLAG = !outdata; ! 1435: PC+= 8; ! 1436: } ! 1437: ! 1438: void cpu_op_366a(t_ipc *ipc) /* MOVE */ { ! 1439: /* mask f1f8, bits 2030, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1440: int srcreg = (ipc->opcode >> 0) & 7; ! 1441: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1442: uint32 srcdata = fetchlong(srcaddr); ! 1443: int dstreg = (ipc->opcode >> 9) & 7; ! 1444: uint32 outdata = srcdata; ! 1445: ! 1446: DATAREG(dstreg) = outdata; ! 1447: PC+= 4; ! 1448: } ! 1449: ! 1450: void cpu_op_366b(t_ipc *ipc) /* MOVE */ { ! 1451: /* mask f1f8, bits 2030, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1452: int srcreg = (ipc->opcode >> 0) & 7; ! 1453: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1454: uint32 srcdata = fetchlong(srcaddr); ! 1455: int dstreg = (ipc->opcode >> 9) & 7; ! 1456: uint32 outdata = srcdata; ! 1457: ! 1458: DATAREG(dstreg) = outdata; ! 1459: ! 1460: VFLAG = 0; ! 1461: CFLAG = 0; ! 1462: NFLAG = ((sint32)outdata) < 0; ! 1463: ZFLAG = !outdata; ! 1464: PC+= 4; ! 1465: } ! 1466: ! 1467: void cpu_op_367a(t_ipc *ipc) /* MOVE */ { ! 1468: /* mask f1f8, bits 20b0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1469: int srcreg = (ipc->opcode >> 0) & 7; ! 1470: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1471: uint32 srcdata = fetchlong(srcaddr); ! 1472: int dstreg = (ipc->opcode >> 9) & 7; ! 1473: uint32 dstaddr = ADDRREG(dstreg); ! 1474: uint32 outdata = srcdata; ! 1475: ! 1476: storelong(dstaddr, outdata); ! 1477: PC+= 4; ! 1478: } ! 1479: ! 1480: void cpu_op_367b(t_ipc *ipc) /* MOVE */ { ! 1481: /* mask f1f8, bits 20b0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1482: int srcreg = (ipc->opcode >> 0) & 7; ! 1483: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1484: uint32 srcdata = fetchlong(srcaddr); ! 1485: int dstreg = (ipc->opcode >> 9) & 7; ! 1486: uint32 dstaddr = ADDRREG(dstreg); ! 1487: uint32 outdata = srcdata; ! 1488: ! 1489: storelong(dstaddr, outdata); ! 1490: ! 1491: VFLAG = 0; ! 1492: CFLAG = 0; ! 1493: NFLAG = ((sint32)outdata) < 0; ! 1494: ZFLAG = !outdata; ! 1495: PC+= 4; ! 1496: } ! 1497: ! 1498: void cpu_op_368a(t_ipc *ipc) /* MOVE */ { ! 1499: /* mask f1f8, bits 20f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1500: int srcreg = (ipc->opcode >> 0) & 7; ! 1501: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1502: uint32 srcdata = fetchlong(srcaddr); ! 1503: int dstreg = (ipc->opcode >> 9) & 7; ! 1504: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1505: uint32 outdata = srcdata; ! 1506: ! 1507: storelong(dstaddr, outdata); ! 1508: PC+= 4; ! 1509: } ! 1510: ! 1511: void cpu_op_368b(t_ipc *ipc) /* MOVE */ { ! 1512: /* mask f1f8, bits 20f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1513: int srcreg = (ipc->opcode >> 0) & 7; ! 1514: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1515: uint32 srcdata = fetchlong(srcaddr); ! 1516: int dstreg = (ipc->opcode >> 9) & 7; ! 1517: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1518: uint32 outdata = srcdata; ! 1519: ! 1520: storelong(dstaddr, outdata); ! 1521: ! 1522: VFLAG = 0; ! 1523: CFLAG = 0; ! 1524: NFLAG = ((sint32)outdata) < 0; ! 1525: ZFLAG = !outdata; ! 1526: PC+= 4; ! 1527: } ! 1528: ! 1529: void cpu_op_369a(t_ipc *ipc) /* MOVE */ { ! 1530: /* mask f1f8, bits 2130, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1531: int srcreg = (ipc->opcode >> 0) & 7; ! 1532: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1533: uint32 srcdata = fetchlong(srcaddr); ! 1534: int dstreg = (ipc->opcode >> 9) & 7; ! 1535: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1536: uint32 outdata = srcdata; ! 1537: ! 1538: storelong(dstaddr, outdata); ! 1539: PC+= 4; ! 1540: } ! 1541: ! 1542: void cpu_op_369b(t_ipc *ipc) /* MOVE */ { ! 1543: /* mask f1f8, bits 2130, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1544: int srcreg = (ipc->opcode >> 0) & 7; ! 1545: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1546: uint32 srcdata = fetchlong(srcaddr); ! 1547: int dstreg = (ipc->opcode >> 9) & 7; ! 1548: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1549: uint32 outdata = srcdata; ! 1550: ! 1551: storelong(dstaddr, outdata); ! 1552: ! 1553: VFLAG = 0; ! 1554: CFLAG = 0; ! 1555: NFLAG = ((sint32)outdata) < 0; ! 1556: ZFLAG = !outdata; ! 1557: PC+= 4; ! 1558: } ! 1559: ! 1560: void cpu_op_370a(t_ipc *ipc) /* MOVE */ { ! 1561: /* mask f1f8, bits 2170, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1562: int srcreg = (ipc->opcode >> 0) & 7; ! 1563: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1564: uint32 srcdata = fetchlong(srcaddr); ! 1565: int dstreg = (ipc->opcode >> 9) & 7; ! 1566: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1567: uint32 outdata = srcdata; ! 1568: ! 1569: storelong(dstaddr, outdata); ! 1570: PC+= 6; ! 1571: } ! 1572: ! 1573: void cpu_op_370b(t_ipc *ipc) /* MOVE */ { ! 1574: /* mask f1f8, bits 2170, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1575: int srcreg = (ipc->opcode >> 0) & 7; ! 1576: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1577: uint32 srcdata = fetchlong(srcaddr); ! 1578: int dstreg = (ipc->opcode >> 9) & 7; ! 1579: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1580: uint32 outdata = srcdata; ! 1581: ! 1582: storelong(dstaddr, outdata); ! 1583: ! 1584: VFLAG = 0; ! 1585: CFLAG = 0; ! 1586: NFLAG = ((sint32)outdata) < 0; ! 1587: ZFLAG = !outdata; ! 1588: PC+= 6; ! 1589: } ! 1590: ! 1591: void cpu_op_371a(t_ipc *ipc) /* MOVE */ { ! 1592: /* mask f1f8, bits 21b0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1593: int srcreg = (ipc->opcode >> 0) & 7; ! 1594: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1595: uint32 srcdata = fetchlong(srcaddr); ! 1596: int dstreg = (ipc->opcode >> 9) & 7; ! 1597: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1598: uint32 outdata = srcdata; ! 1599: ! 1600: storelong(dstaddr, outdata); ! 1601: PC+= 6; ! 1602: } ! 1603: ! 1604: void cpu_op_371b(t_ipc *ipc) /* MOVE */ { ! 1605: /* mask f1f8, bits 21b0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1606: int srcreg = (ipc->opcode >> 0) & 7; ! 1607: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1608: uint32 srcdata = fetchlong(srcaddr); ! 1609: int dstreg = (ipc->opcode >> 9) & 7; ! 1610: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1611: uint32 outdata = srcdata; ! 1612: ! 1613: storelong(dstaddr, outdata); ! 1614: ! 1615: VFLAG = 0; ! 1616: CFLAG = 0; ! 1617: NFLAG = ((sint32)outdata) < 0; ! 1618: ZFLAG = !outdata; ! 1619: PC+= 6; ! 1620: } ! 1621: ! 1622: void cpu_op_372a(t_ipc *ipc) /* MOVE */ { ! 1623: /* mask fff8, bits 21f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1624: int srcreg = (ipc->opcode >> 0) & 7; ! 1625: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1626: uint32 srcdata = fetchlong(srcaddr); ! 1627: uint32 dstaddr = ipc->dst; ! 1628: uint32 outdata = srcdata; ! 1629: ! 1630: storelong(dstaddr, outdata); ! 1631: PC+= 6; ! 1632: } ! 1633: ! 1634: void cpu_op_372b(t_ipc *ipc) /* MOVE */ { ! 1635: /* mask fff8, bits 21f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1636: int srcreg = (ipc->opcode >> 0) & 7; ! 1637: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1638: uint32 srcdata = fetchlong(srcaddr); ! 1639: uint32 dstaddr = ipc->dst; ! 1640: uint32 outdata = srcdata; ! 1641: ! 1642: storelong(dstaddr, outdata); ! 1643: ! 1644: VFLAG = 0; ! 1645: CFLAG = 0; ! 1646: NFLAG = ((sint32)outdata) < 0; ! 1647: ZFLAG = !outdata; ! 1648: PC+= 6; ! 1649: } ! 1650: ! 1651: void cpu_op_373a(t_ipc *ipc) /* MOVE */ { ! 1652: /* mask fff8, bits 23f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1653: int srcreg = (ipc->opcode >> 0) & 7; ! 1654: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1655: uint32 srcdata = fetchlong(srcaddr); ! 1656: uint32 dstaddr = ipc->dst; ! 1657: uint32 outdata = srcdata; ! 1658: ! 1659: storelong(dstaddr, outdata); ! 1660: PC+= 8; ! 1661: } ! 1662: ! 1663: void cpu_op_373b(t_ipc *ipc) /* MOVE */ { ! 1664: /* mask fff8, bits 23f0, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 6, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1665: int srcreg = (ipc->opcode >> 0) & 7; ! 1666: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 1667: uint32 srcdata = fetchlong(srcaddr); ! 1668: uint32 dstaddr = ipc->dst; ! 1669: uint32 outdata = srcdata; ! 1670: ! 1671: storelong(dstaddr, outdata); ! 1672: ! 1673: VFLAG = 0; ! 1674: CFLAG = 0; ! 1675: NFLAG = ((sint32)outdata) < 0; ! 1676: ZFLAG = !outdata; ! 1677: PC+= 8; ! 1678: } ! 1679: ! 1680: void cpu_op_374a(t_ipc *ipc) /* MOVE */ { ! 1681: /* mask f1ff, bits 2038, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1682: uint32 srcaddr = ipc->src; ! 1683: uint32 srcdata = fetchlong(srcaddr); ! 1684: int dstreg = (ipc->opcode >> 9) & 7; ! 1685: uint32 outdata = srcdata; ! 1686: ! 1687: DATAREG(dstreg) = outdata; ! 1688: PC+= 4; ! 1689: } ! 1690: ! 1691: void cpu_op_374b(t_ipc *ipc) /* MOVE */ { ! 1692: /* mask f1ff, bits 2038, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1693: uint32 srcaddr = ipc->src; ! 1694: uint32 srcdata = fetchlong(srcaddr); ! 1695: int dstreg = (ipc->opcode >> 9) & 7; ! 1696: uint32 outdata = srcdata; ! 1697: ! 1698: DATAREG(dstreg) = outdata; ! 1699: ! 1700: VFLAG = 0; ! 1701: CFLAG = 0; ! 1702: NFLAG = ((sint32)outdata) < 0; ! 1703: ZFLAG = !outdata; ! 1704: PC+= 4; ! 1705: } ! 1706: ! 1707: void cpu_op_375a(t_ipc *ipc) /* MOVE */ { ! 1708: /* mask f1ff, bits 20b8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1709: uint32 srcaddr = ipc->src; ! 1710: uint32 srcdata = fetchlong(srcaddr); ! 1711: int dstreg = (ipc->opcode >> 9) & 7; ! 1712: uint32 dstaddr = ADDRREG(dstreg); ! 1713: uint32 outdata = srcdata; ! 1714: ! 1715: storelong(dstaddr, outdata); ! 1716: PC+= 4; ! 1717: } ! 1718: ! 1719: void cpu_op_375b(t_ipc *ipc) /* MOVE */ { ! 1720: /* mask f1ff, bits 20b8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1721: uint32 srcaddr = ipc->src; ! 1722: uint32 srcdata = fetchlong(srcaddr); ! 1723: int dstreg = (ipc->opcode >> 9) & 7; ! 1724: uint32 dstaddr = ADDRREG(dstreg); ! 1725: uint32 outdata = srcdata; ! 1726: ! 1727: storelong(dstaddr, outdata); ! 1728: ! 1729: VFLAG = 0; ! 1730: CFLAG = 0; ! 1731: NFLAG = ((sint32)outdata) < 0; ! 1732: ZFLAG = !outdata; ! 1733: PC+= 4; ! 1734: } ! 1735: ! 1736: void cpu_op_376a(t_ipc *ipc) /* MOVE */ { ! 1737: /* mask f1ff, bits 20f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1738: uint32 srcaddr = ipc->src; ! 1739: uint32 srcdata = fetchlong(srcaddr); ! 1740: int dstreg = (ipc->opcode >> 9) & 7; ! 1741: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1742: uint32 outdata = srcdata; ! 1743: ! 1744: storelong(dstaddr, outdata); ! 1745: PC+= 4; ! 1746: } ! 1747: ! 1748: void cpu_op_376b(t_ipc *ipc) /* MOVE */ { ! 1749: /* mask f1ff, bits 20f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1750: uint32 srcaddr = ipc->src; ! 1751: uint32 srcdata = fetchlong(srcaddr); ! 1752: int dstreg = (ipc->opcode >> 9) & 7; ! 1753: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1754: uint32 outdata = srcdata; ! 1755: ! 1756: storelong(dstaddr, outdata); ! 1757: ! 1758: VFLAG = 0; ! 1759: CFLAG = 0; ! 1760: NFLAG = ((sint32)outdata) < 0; ! 1761: ZFLAG = !outdata; ! 1762: PC+= 4; ! 1763: } ! 1764: ! 1765: void cpu_op_377a(t_ipc *ipc) /* MOVE */ { ! 1766: /* mask f1ff, bits 2138, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1767: uint32 srcaddr = ipc->src; ! 1768: uint32 srcdata = fetchlong(srcaddr); ! 1769: int dstreg = (ipc->opcode >> 9) & 7; ! 1770: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1771: uint32 outdata = srcdata; ! 1772: ! 1773: storelong(dstaddr, outdata); ! 1774: PC+= 4; ! 1775: } ! 1776: ! 1777: void cpu_op_377b(t_ipc *ipc) /* MOVE */ { ! 1778: /* mask f1ff, bits 2138, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1779: uint32 srcaddr = ipc->src; ! 1780: uint32 srcdata = fetchlong(srcaddr); ! 1781: int dstreg = (ipc->opcode >> 9) & 7; ! 1782: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1783: uint32 outdata = srcdata; ! 1784: ! 1785: storelong(dstaddr, outdata); ! 1786: ! 1787: VFLAG = 0; ! 1788: CFLAG = 0; ! 1789: NFLAG = ((sint32)outdata) < 0; ! 1790: ZFLAG = !outdata; ! 1791: PC+= 4; ! 1792: } ! 1793: ! 1794: void cpu_op_378a(t_ipc *ipc) /* MOVE */ { ! 1795: /* mask f1ff, bits 2178, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1796: uint32 srcaddr = ipc->src; ! 1797: uint32 srcdata = fetchlong(srcaddr); ! 1798: int dstreg = (ipc->opcode >> 9) & 7; ! 1799: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1800: uint32 outdata = srcdata; ! 1801: ! 1802: storelong(dstaddr, outdata); ! 1803: PC+= 6; ! 1804: } ! 1805: ! 1806: void cpu_op_378b(t_ipc *ipc) /* MOVE */ { ! 1807: /* mask f1ff, bits 2178, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1808: uint32 srcaddr = ipc->src; ! 1809: uint32 srcdata = fetchlong(srcaddr); ! 1810: int dstreg = (ipc->opcode >> 9) & 7; ! 1811: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 1812: uint32 outdata = srcdata; ! 1813: ! 1814: storelong(dstaddr, outdata); ! 1815: ! 1816: VFLAG = 0; ! 1817: CFLAG = 0; ! 1818: NFLAG = ((sint32)outdata) < 0; ! 1819: ZFLAG = !outdata; ! 1820: PC+= 6; ! 1821: } ! 1822: ! 1823: void cpu_op_379a(t_ipc *ipc) /* MOVE */ { ! 1824: /* mask f1ff, bits 21b8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1825: uint32 srcaddr = ipc->src; ! 1826: uint32 srcdata = fetchlong(srcaddr); ! 1827: int dstreg = (ipc->opcode >> 9) & 7; ! 1828: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1829: uint32 outdata = srcdata; ! 1830: ! 1831: storelong(dstaddr, outdata); ! 1832: PC+= 6; ! 1833: } ! 1834: ! 1835: void cpu_op_379b(t_ipc *ipc) /* MOVE */ { ! 1836: /* mask f1ff, bits 21b8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1837: uint32 srcaddr = ipc->src; ! 1838: uint32 srcdata = fetchlong(srcaddr); ! 1839: int dstreg = (ipc->opcode >> 9) & 7; ! 1840: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 1841: uint32 outdata = srcdata; ! 1842: ! 1843: storelong(dstaddr, outdata); ! 1844: ! 1845: VFLAG = 0; ! 1846: CFLAG = 0; ! 1847: NFLAG = ((sint32)outdata) < 0; ! 1848: ZFLAG = !outdata; ! 1849: PC+= 6; ! 1850: } ! 1851: ! 1852: void cpu_op_380a(t_ipc *ipc) /* MOVE */ { ! 1853: /* mask ffff, bits 21f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1854: uint32 srcaddr = ipc->src; ! 1855: uint32 srcdata = fetchlong(srcaddr); ! 1856: uint32 dstaddr = ipc->dst; ! 1857: uint32 outdata = srcdata; ! 1858: ! 1859: storelong(dstaddr, outdata); ! 1860: PC+= 6; ! 1861: } ! 1862: ! 1863: void cpu_op_380b(t_ipc *ipc) /* MOVE */ { ! 1864: /* mask ffff, bits 21f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1865: uint32 srcaddr = ipc->src; ! 1866: uint32 srcdata = fetchlong(srcaddr); ! 1867: uint32 dstaddr = ipc->dst; ! 1868: uint32 outdata = srcdata; ! 1869: ! 1870: storelong(dstaddr, outdata); ! 1871: ! 1872: VFLAG = 0; ! 1873: CFLAG = 0; ! 1874: NFLAG = ((sint32)outdata) < 0; ! 1875: ZFLAG = !outdata; ! 1876: PC+= 6; ! 1877: } ! 1878: ! 1879: void cpu_op_381a(t_ipc *ipc) /* MOVE */ { ! 1880: /* mask ffff, bits 23f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1881: uint32 srcaddr = ipc->src; ! 1882: uint32 srcdata = fetchlong(srcaddr); ! 1883: uint32 dstaddr = ipc->dst; ! 1884: uint32 outdata = srcdata; ! 1885: ! 1886: storelong(dstaddr, outdata); ! 1887: PC+= 8; ! 1888: } ! 1889: ! 1890: void cpu_op_381b(t_ipc *ipc) /* MOVE */ { ! 1891: /* mask ffff, bits 23f8, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 7, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1892: uint32 srcaddr = ipc->src; ! 1893: uint32 srcdata = fetchlong(srcaddr); ! 1894: uint32 dstaddr = ipc->dst; ! 1895: uint32 outdata = srcdata; ! 1896: ! 1897: storelong(dstaddr, outdata); ! 1898: ! 1899: VFLAG = 0; ! 1900: CFLAG = 0; ! 1901: NFLAG = ((sint32)outdata) < 0; ! 1902: ZFLAG = !outdata; ! 1903: PC+= 8; ! 1904: } ! 1905: ! 1906: void cpu_op_382a(t_ipc *ipc) /* MOVE */ { ! 1907: /* mask f1ff, bits 2039, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1908: uint32 srcaddr = ipc->src; ! 1909: uint32 srcdata = fetchlong(srcaddr); ! 1910: int dstreg = (ipc->opcode >> 9) & 7; ! 1911: uint32 outdata = srcdata; ! 1912: ! 1913: DATAREG(dstreg) = outdata; ! 1914: PC+= 6; ! 1915: } ! 1916: ! 1917: void cpu_op_382b(t_ipc *ipc) /* MOVE */ { ! 1918: /* mask f1ff, bits 2039, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1919: uint32 srcaddr = ipc->src; ! 1920: uint32 srcdata = fetchlong(srcaddr); ! 1921: int dstreg = (ipc->opcode >> 9) & 7; ! 1922: uint32 outdata = srcdata; ! 1923: ! 1924: DATAREG(dstreg) = outdata; ! 1925: ! 1926: VFLAG = 0; ! 1927: CFLAG = 0; ! 1928: NFLAG = ((sint32)outdata) < 0; ! 1929: ZFLAG = !outdata; ! 1930: PC+= 6; ! 1931: } ! 1932: ! 1933: void cpu_op_383a(t_ipc *ipc) /* MOVE */ { ! 1934: /* mask f1ff, bits 20b9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1935: uint32 srcaddr = ipc->src; ! 1936: uint32 srcdata = fetchlong(srcaddr); ! 1937: int dstreg = (ipc->opcode >> 9) & 7; ! 1938: uint32 dstaddr = ADDRREG(dstreg); ! 1939: uint32 outdata = srcdata; ! 1940: ! 1941: storelong(dstaddr, outdata); ! 1942: PC+= 6; ! 1943: } ! 1944: ! 1945: void cpu_op_383b(t_ipc *ipc) /* MOVE */ { ! 1946: /* mask f1ff, bits 20b9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1947: uint32 srcaddr = ipc->src; ! 1948: uint32 srcdata = fetchlong(srcaddr); ! 1949: int dstreg = (ipc->opcode >> 9) & 7; ! 1950: uint32 dstaddr = ADDRREG(dstreg); ! 1951: uint32 outdata = srcdata; ! 1952: ! 1953: storelong(dstaddr, outdata); ! 1954: ! 1955: VFLAG = 0; ! 1956: CFLAG = 0; ! 1957: NFLAG = ((sint32)outdata) < 0; ! 1958: ZFLAG = !outdata; ! 1959: PC+= 6; ! 1960: } ! 1961: ! 1962: void cpu_op_384a(t_ipc *ipc) /* MOVE */ { ! 1963: /* mask f1ff, bits 20f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1964: uint32 srcaddr = ipc->src; ! 1965: uint32 srcdata = fetchlong(srcaddr); ! 1966: int dstreg = (ipc->opcode >> 9) & 7; ! 1967: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1968: uint32 outdata = srcdata; ! 1969: ! 1970: storelong(dstaddr, outdata); ! 1971: PC+= 6; ! 1972: } ! 1973: ! 1974: void cpu_op_384b(t_ipc *ipc) /* MOVE */ { ! 1975: /* mask f1ff, bits 20f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1976: uint32 srcaddr = ipc->src; ! 1977: uint32 srcdata = fetchlong(srcaddr); ! 1978: int dstreg = (ipc->opcode >> 9) & 7; ! 1979: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 1980: uint32 outdata = srcdata; ! 1981: ! 1982: storelong(dstaddr, outdata); ! 1983: ! 1984: VFLAG = 0; ! 1985: CFLAG = 0; ! 1986: NFLAG = ((sint32)outdata) < 0; ! 1987: ZFLAG = !outdata; ! 1988: PC+= 6; ! 1989: } ! 1990: ! 1991: void cpu_op_385a(t_ipc *ipc) /* MOVE */ { ! 1992: /* mask f1ff, bits 2139, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 1993: uint32 srcaddr = ipc->src; ! 1994: uint32 srcdata = fetchlong(srcaddr); ! 1995: int dstreg = (ipc->opcode >> 9) & 7; ! 1996: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 1997: uint32 outdata = srcdata; ! 1998: ! 1999: storelong(dstaddr, outdata); ! 2000: PC+= 6; ! 2001: } ! 2002: ! 2003: void cpu_op_385b(t_ipc *ipc) /* MOVE */ { ! 2004: /* mask f1ff, bits 2139, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2005: uint32 srcaddr = ipc->src; ! 2006: uint32 srcdata = fetchlong(srcaddr); ! 2007: int dstreg = (ipc->opcode >> 9) & 7; ! 2008: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2009: uint32 outdata = srcdata; ! 2010: ! 2011: storelong(dstaddr, outdata); ! 2012: ! 2013: VFLAG = 0; ! 2014: CFLAG = 0; ! 2015: NFLAG = ((sint32)outdata) < 0; ! 2016: ZFLAG = !outdata; ! 2017: PC+= 6; ! 2018: } ! 2019: ! 2020: void cpu_op_386a(t_ipc *ipc) /* MOVE */ { ! 2021: /* mask f1ff, bits 2179, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2022: uint32 srcaddr = ipc->src; ! 2023: uint32 srcdata = fetchlong(srcaddr); ! 2024: int dstreg = (ipc->opcode >> 9) & 7; ! 2025: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2026: uint32 outdata = srcdata; ! 2027: ! 2028: storelong(dstaddr, outdata); ! 2029: PC+= 8; ! 2030: } ! 2031: ! 2032: void cpu_op_386b(t_ipc *ipc) /* MOVE */ { ! 2033: /* mask f1ff, bits 2179, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2034: uint32 srcaddr = ipc->src; ! 2035: uint32 srcdata = fetchlong(srcaddr); ! 2036: int dstreg = (ipc->opcode >> 9) & 7; ! 2037: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2038: uint32 outdata = srcdata; ! 2039: ! 2040: storelong(dstaddr, outdata); ! 2041: ! 2042: VFLAG = 0; ! 2043: CFLAG = 0; ! 2044: NFLAG = ((sint32)outdata) < 0; ! 2045: ZFLAG = !outdata; ! 2046: PC+= 8; ! 2047: } ! 2048: ! 2049: void cpu_op_387a(t_ipc *ipc) /* MOVE */ { ! 2050: /* mask f1ff, bits 21b9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2051: uint32 srcaddr = ipc->src; ! 2052: uint32 srcdata = fetchlong(srcaddr); ! 2053: int dstreg = (ipc->opcode >> 9) & 7; ! 2054: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2055: uint32 outdata = srcdata; ! 2056: ! 2057: storelong(dstaddr, outdata); ! 2058: PC+= 8; ! 2059: } ! 2060: ! 2061: void cpu_op_387b(t_ipc *ipc) /* MOVE */ { ! 2062: /* mask f1ff, bits 21b9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2063: uint32 srcaddr = ipc->src; ! 2064: uint32 srcdata = fetchlong(srcaddr); ! 2065: int dstreg = (ipc->opcode >> 9) & 7; ! 2066: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2067: uint32 outdata = srcdata; ! 2068: ! 2069: storelong(dstaddr, outdata); ! 2070: ! 2071: VFLAG = 0; ! 2072: CFLAG = 0; ! 2073: NFLAG = ((sint32)outdata) < 0; ! 2074: ZFLAG = !outdata; ! 2075: PC+= 8; ! 2076: } ! 2077: ! 2078: void cpu_op_388a(t_ipc *ipc) /* MOVE */ { ! 2079: /* mask ffff, bits 21f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2080: uint32 srcaddr = ipc->src; ! 2081: uint32 srcdata = fetchlong(srcaddr); ! 2082: uint32 dstaddr = ipc->dst; ! 2083: uint32 outdata = srcdata; ! 2084: ! 2085: storelong(dstaddr, outdata); ! 2086: PC+= 8; ! 2087: } ! 2088: ! 2089: void cpu_op_388b(t_ipc *ipc) /* MOVE */ { ! 2090: /* mask ffff, bits 21f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2091: uint32 srcaddr = ipc->src; ! 2092: uint32 srcdata = fetchlong(srcaddr); ! 2093: uint32 dstaddr = ipc->dst; ! 2094: uint32 outdata = srcdata; ! 2095: ! 2096: storelong(dstaddr, outdata); ! 2097: ! 2098: VFLAG = 0; ! 2099: CFLAG = 0; ! 2100: NFLAG = ((sint32)outdata) < 0; ! 2101: ZFLAG = !outdata; ! 2102: PC+= 8; ! 2103: } ! 2104: ! 2105: void cpu_op_389a(t_ipc *ipc) /* MOVE */ { ! 2106: /* mask ffff, bits 23f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2107: uint32 srcaddr = ipc->src; ! 2108: uint32 srcdata = fetchlong(srcaddr); ! 2109: uint32 dstaddr = ipc->dst; ! 2110: uint32 outdata = srcdata; ! 2111: ! 2112: storelong(dstaddr, outdata); ! 2113: PC+= 10; ! 2114: } ! 2115: ! 2116: void cpu_op_389b(t_ipc *ipc) /* MOVE */ { ! 2117: /* mask ffff, bits 23f9, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 8, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2118: uint32 srcaddr = ipc->src; ! 2119: uint32 srcdata = fetchlong(srcaddr); ! 2120: uint32 dstaddr = ipc->dst; ! 2121: uint32 outdata = srcdata; ! 2122: ! 2123: storelong(dstaddr, outdata); ! 2124: ! 2125: VFLAG = 0; ! 2126: CFLAG = 0; ! 2127: NFLAG = ((sint32)outdata) < 0; ! 2128: ZFLAG = !outdata; ! 2129: PC+= 10; ! 2130: } ! 2131: ! 2132: void cpu_op_390a(t_ipc *ipc) /* MOVE */ { ! 2133: /* mask f1ff, bits 203a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2134: uint32 srcaddr = ipc->src; ! 2135: uint32 srcdata = fetchlong(srcaddr); ! 2136: int dstreg = (ipc->opcode >> 9) & 7; ! 2137: uint32 outdata = srcdata; ! 2138: ! 2139: DATAREG(dstreg) = outdata; ! 2140: PC+= 4; ! 2141: } ! 2142: ! 2143: void cpu_op_390b(t_ipc *ipc) /* MOVE */ { ! 2144: /* mask f1ff, bits 203a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2145: uint32 srcaddr = ipc->src; ! 2146: uint32 srcdata = fetchlong(srcaddr); ! 2147: int dstreg = (ipc->opcode >> 9) & 7; ! 2148: uint32 outdata = srcdata; ! 2149: ! 2150: DATAREG(dstreg) = outdata; ! 2151: ! 2152: VFLAG = 0; ! 2153: CFLAG = 0; ! 2154: NFLAG = ((sint32)outdata) < 0; ! 2155: ZFLAG = !outdata; ! 2156: PC+= 4; ! 2157: } ! 2158: ! 2159: void cpu_op_391a(t_ipc *ipc) /* MOVE */ { ! 2160: /* mask f1ff, bits 20ba, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2161: uint32 srcaddr = ipc->src; ! 2162: uint32 srcdata = fetchlong(srcaddr); ! 2163: int dstreg = (ipc->opcode >> 9) & 7; ! 2164: uint32 dstaddr = ADDRREG(dstreg); ! 2165: uint32 outdata = srcdata; ! 2166: ! 2167: storelong(dstaddr, outdata); ! 2168: PC+= 4; ! 2169: } ! 2170: ! 2171: void cpu_op_391b(t_ipc *ipc) /* MOVE */ { ! 2172: /* mask f1ff, bits 20ba, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2173: uint32 srcaddr = ipc->src; ! 2174: uint32 srcdata = fetchlong(srcaddr); ! 2175: int dstreg = (ipc->opcode >> 9) & 7; ! 2176: uint32 dstaddr = ADDRREG(dstreg); ! 2177: uint32 outdata = srcdata; ! 2178: ! 2179: storelong(dstaddr, outdata); ! 2180: ! 2181: VFLAG = 0; ! 2182: CFLAG = 0; ! 2183: NFLAG = ((sint32)outdata) < 0; ! 2184: ZFLAG = !outdata; ! 2185: PC+= 4; ! 2186: } ! 2187: ! 2188: void cpu_op_392a(t_ipc *ipc) /* MOVE */ { ! 2189: /* mask f1ff, bits 20fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2190: uint32 srcaddr = ipc->src; ! 2191: uint32 srcdata = fetchlong(srcaddr); ! 2192: int dstreg = (ipc->opcode >> 9) & 7; ! 2193: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2194: uint32 outdata = srcdata; ! 2195: ! 2196: storelong(dstaddr, outdata); ! 2197: PC+= 4; ! 2198: } ! 2199: ! 2200: void cpu_op_392b(t_ipc *ipc) /* MOVE */ { ! 2201: /* mask f1ff, bits 20fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2202: uint32 srcaddr = ipc->src; ! 2203: uint32 srcdata = fetchlong(srcaddr); ! 2204: int dstreg = (ipc->opcode >> 9) & 7; ! 2205: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2206: uint32 outdata = srcdata; ! 2207: ! 2208: storelong(dstaddr, outdata); ! 2209: ! 2210: VFLAG = 0; ! 2211: CFLAG = 0; ! 2212: NFLAG = ((sint32)outdata) < 0; ! 2213: ZFLAG = !outdata; ! 2214: PC+= 4; ! 2215: } ! 2216: ! 2217: void cpu_op_393a(t_ipc *ipc) /* MOVE */ { ! 2218: /* mask f1ff, bits 213a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2219: uint32 srcaddr = ipc->src; ! 2220: uint32 srcdata = fetchlong(srcaddr); ! 2221: int dstreg = (ipc->opcode >> 9) & 7; ! 2222: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2223: uint32 outdata = srcdata; ! 2224: ! 2225: storelong(dstaddr, outdata); ! 2226: PC+= 4; ! 2227: } ! 2228: ! 2229: void cpu_op_393b(t_ipc *ipc) /* MOVE */ { ! 2230: /* mask f1ff, bits 213a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2231: uint32 srcaddr = ipc->src; ! 2232: uint32 srcdata = fetchlong(srcaddr); ! 2233: int dstreg = (ipc->opcode >> 9) & 7; ! 2234: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2235: uint32 outdata = srcdata; ! 2236: ! 2237: storelong(dstaddr, outdata); ! 2238: ! 2239: VFLAG = 0; ! 2240: CFLAG = 0; ! 2241: NFLAG = ((sint32)outdata) < 0; ! 2242: ZFLAG = !outdata; ! 2243: PC+= 4; ! 2244: } ! 2245: ! 2246: void cpu_op_394a(t_ipc *ipc) /* MOVE */ { ! 2247: /* mask f1ff, bits 217a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2248: uint32 srcaddr = ipc->src; ! 2249: uint32 srcdata = fetchlong(srcaddr); ! 2250: int dstreg = (ipc->opcode >> 9) & 7; ! 2251: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2252: uint32 outdata = srcdata; ! 2253: ! 2254: storelong(dstaddr, outdata); ! 2255: PC+= 6; ! 2256: } ! 2257: ! 2258: void cpu_op_394b(t_ipc *ipc) /* MOVE */ { ! 2259: /* mask f1ff, bits 217a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2260: uint32 srcaddr = ipc->src; ! 2261: uint32 srcdata = fetchlong(srcaddr); ! 2262: int dstreg = (ipc->opcode >> 9) & 7; ! 2263: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2264: uint32 outdata = srcdata; ! 2265: ! 2266: storelong(dstaddr, outdata); ! 2267: ! 2268: VFLAG = 0; ! 2269: CFLAG = 0; ! 2270: NFLAG = ((sint32)outdata) < 0; ! 2271: ZFLAG = !outdata; ! 2272: PC+= 6; ! 2273: } ! 2274: ! 2275: void cpu_op_395a(t_ipc *ipc) /* MOVE */ { ! 2276: /* mask f1ff, bits 21ba, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2277: uint32 srcaddr = ipc->src; ! 2278: uint32 srcdata = fetchlong(srcaddr); ! 2279: int dstreg = (ipc->opcode >> 9) & 7; ! 2280: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2281: uint32 outdata = srcdata; ! 2282: ! 2283: storelong(dstaddr, outdata); ! 2284: PC+= 6; ! 2285: } ! 2286: ! 2287: void cpu_op_395b(t_ipc *ipc) /* MOVE */ { ! 2288: /* mask f1ff, bits 21ba, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2289: uint32 srcaddr = ipc->src; ! 2290: uint32 srcdata = fetchlong(srcaddr); ! 2291: int dstreg = (ipc->opcode >> 9) & 7; ! 2292: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2293: uint32 outdata = srcdata; ! 2294: ! 2295: storelong(dstaddr, outdata); ! 2296: ! 2297: VFLAG = 0; ! 2298: CFLAG = 0; ! 2299: NFLAG = ((sint32)outdata) < 0; ! 2300: ZFLAG = !outdata; ! 2301: PC+= 6; ! 2302: } ! 2303: ! 2304: void cpu_op_396a(t_ipc *ipc) /* MOVE */ { ! 2305: /* mask ffff, bits 21fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2306: uint32 srcaddr = ipc->src; ! 2307: uint32 srcdata = fetchlong(srcaddr); ! 2308: uint32 dstaddr = ipc->dst; ! 2309: uint32 outdata = srcdata; ! 2310: ! 2311: storelong(dstaddr, outdata); ! 2312: PC+= 6; ! 2313: } ! 2314: ! 2315: void cpu_op_396b(t_ipc *ipc) /* MOVE */ { ! 2316: /* mask ffff, bits 21fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2317: uint32 srcaddr = ipc->src; ! 2318: uint32 srcdata = fetchlong(srcaddr); ! 2319: uint32 dstaddr = ipc->dst; ! 2320: uint32 outdata = srcdata; ! 2321: ! 2322: storelong(dstaddr, outdata); ! 2323: ! 2324: VFLAG = 0; ! 2325: CFLAG = 0; ! 2326: NFLAG = ((sint32)outdata) < 0; ! 2327: ZFLAG = !outdata; ! 2328: PC+= 6; ! 2329: } ! 2330: ! 2331: void cpu_op_397a(t_ipc *ipc) /* MOVE */ { ! 2332: /* mask ffff, bits 23fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2333: uint32 srcaddr = ipc->src; ! 2334: uint32 srcdata = fetchlong(srcaddr); ! 2335: uint32 dstaddr = ipc->dst; ! 2336: uint32 outdata = srcdata; ! 2337: ! 2338: storelong(dstaddr, outdata); ! 2339: PC+= 8; ! 2340: } ! 2341: ! 2342: void cpu_op_397b(t_ipc *ipc) /* MOVE */ { ! 2343: /* mask ffff, bits 23fa, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 9, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2344: uint32 srcaddr = ipc->src; ! 2345: uint32 srcdata = fetchlong(srcaddr); ! 2346: uint32 dstaddr = ipc->dst; ! 2347: uint32 outdata = srcdata; ! 2348: ! 2349: storelong(dstaddr, outdata); ! 2350: ! 2351: VFLAG = 0; ! 2352: CFLAG = 0; ! 2353: NFLAG = ((sint32)outdata) < 0; ! 2354: ZFLAG = !outdata; ! 2355: PC+= 8; ! 2356: } ! 2357: ! 2358: void cpu_op_398a(t_ipc *ipc) /* MOVE */ { ! 2359: /* mask f1ff, bits 203b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2360: uint32 srcaddr = idxval_src(ipc); ! 2361: uint32 srcdata = fetchlong(srcaddr); ! 2362: int dstreg = (ipc->opcode >> 9) & 7; ! 2363: uint32 outdata = srcdata; ! 2364: ! 2365: DATAREG(dstreg) = outdata; ! 2366: PC+= 4; ! 2367: } ! 2368: ! 2369: void cpu_op_398b(t_ipc *ipc) /* MOVE */ { ! 2370: /* mask f1ff, bits 203b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2371: uint32 srcaddr = idxval_src(ipc); ! 2372: uint32 srcdata = fetchlong(srcaddr); ! 2373: int dstreg = (ipc->opcode >> 9) & 7; ! 2374: uint32 outdata = srcdata; ! 2375: ! 2376: DATAREG(dstreg) = outdata; ! 2377: ! 2378: VFLAG = 0; ! 2379: CFLAG = 0; ! 2380: NFLAG = ((sint32)outdata) < 0; ! 2381: ZFLAG = !outdata; ! 2382: PC+= 4; ! 2383: } ! 2384: ! 2385: void cpu_op_399a(t_ipc *ipc) /* MOVE */ { ! 2386: /* mask f1ff, bits 20bb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2387: uint32 srcaddr = idxval_src(ipc); ! 2388: uint32 srcdata = fetchlong(srcaddr); ! 2389: int dstreg = (ipc->opcode >> 9) & 7; ! 2390: uint32 dstaddr = ADDRREG(dstreg); ! 2391: uint32 outdata = srcdata; ! 2392: ! 2393: storelong(dstaddr, outdata); ! 2394: PC+= 4; ! 2395: } ! 2396: ! 2397: void cpu_op_399b(t_ipc *ipc) /* MOVE */ { ! 2398: /* mask f1ff, bits 20bb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2399: uint32 srcaddr = idxval_src(ipc); ! 2400: uint32 srcdata = fetchlong(srcaddr); ! 2401: int dstreg = (ipc->opcode >> 9) & 7; ! 2402: uint32 dstaddr = ADDRREG(dstreg); ! 2403: uint32 outdata = srcdata; ! 2404: ! 2405: storelong(dstaddr, outdata); ! 2406: ! 2407: VFLAG = 0; ! 2408: CFLAG = 0; ! 2409: NFLAG = ((sint32)outdata) < 0; ! 2410: ZFLAG = !outdata; ! 2411: PC+= 4; ! 2412: } ! 2413: ! 2414: void cpu_op_400a(t_ipc *ipc) /* MOVE */ { ! 2415: /* mask f1ff, bits 20fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2416: uint32 srcaddr = idxval_src(ipc); ! 2417: uint32 srcdata = fetchlong(srcaddr); ! 2418: int dstreg = (ipc->opcode >> 9) & 7; ! 2419: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2420: uint32 outdata = srcdata; ! 2421: ! 2422: storelong(dstaddr, outdata); ! 2423: PC+= 4; ! 2424: } ! 2425: ! 2426: void cpu_op_400b(t_ipc *ipc) /* MOVE */ { ! 2427: /* mask f1ff, bits 20fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2428: uint32 srcaddr = idxval_src(ipc); ! 2429: uint32 srcdata = fetchlong(srcaddr); ! 2430: int dstreg = (ipc->opcode >> 9) & 7; ! 2431: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2432: uint32 outdata = srcdata; ! 2433: ! 2434: storelong(dstaddr, outdata); ! 2435: ! 2436: VFLAG = 0; ! 2437: CFLAG = 0; ! 2438: NFLAG = ((sint32)outdata) < 0; ! 2439: ZFLAG = !outdata; ! 2440: PC+= 4; ! 2441: } ! 2442: ! 2443: void cpu_op_401a(t_ipc *ipc) /* MOVE */ { ! 2444: /* mask f1ff, bits 213b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2445: uint32 srcaddr = idxval_src(ipc); ! 2446: uint32 srcdata = fetchlong(srcaddr); ! 2447: int dstreg = (ipc->opcode >> 9) & 7; ! 2448: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2449: uint32 outdata = srcdata; ! 2450: ! 2451: storelong(dstaddr, outdata); ! 2452: PC+= 4; ! 2453: } ! 2454: ! 2455: void cpu_op_401b(t_ipc *ipc) /* MOVE */ { ! 2456: /* mask f1ff, bits 213b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2457: uint32 srcaddr = idxval_src(ipc); ! 2458: uint32 srcdata = fetchlong(srcaddr); ! 2459: int dstreg = (ipc->opcode >> 9) & 7; ! 2460: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2461: uint32 outdata = srcdata; ! 2462: ! 2463: storelong(dstaddr, outdata); ! 2464: ! 2465: VFLAG = 0; ! 2466: CFLAG = 0; ! 2467: NFLAG = ((sint32)outdata) < 0; ! 2468: ZFLAG = !outdata; ! 2469: PC+= 4; ! 2470: } ! 2471: ! 2472: void cpu_op_402a(t_ipc *ipc) /* MOVE */ { ! 2473: /* mask f1ff, bits 217b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2474: uint32 srcaddr = idxval_src(ipc); ! 2475: uint32 srcdata = fetchlong(srcaddr); ! 2476: int dstreg = (ipc->opcode >> 9) & 7; ! 2477: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2478: uint32 outdata = srcdata; ! 2479: ! 2480: storelong(dstaddr, outdata); ! 2481: PC+= 6; ! 2482: } ! 2483: ! 2484: void cpu_op_402b(t_ipc *ipc) /* MOVE */ { ! 2485: /* mask f1ff, bits 217b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2486: uint32 srcaddr = idxval_src(ipc); ! 2487: uint32 srcdata = fetchlong(srcaddr); ! 2488: int dstreg = (ipc->opcode >> 9) & 7; ! 2489: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2490: uint32 outdata = srcdata; ! 2491: ! 2492: storelong(dstaddr, outdata); ! 2493: ! 2494: VFLAG = 0; ! 2495: CFLAG = 0; ! 2496: NFLAG = ((sint32)outdata) < 0; ! 2497: ZFLAG = !outdata; ! 2498: PC+= 6; ! 2499: } ! 2500: ! 2501: void cpu_op_403a(t_ipc *ipc) /* MOVE */ { ! 2502: /* mask f1ff, bits 21bb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2503: uint32 srcaddr = idxval_src(ipc); ! 2504: uint32 srcdata = fetchlong(srcaddr); ! 2505: int dstreg = (ipc->opcode >> 9) & 7; ! 2506: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2507: uint32 outdata = srcdata; ! 2508: ! 2509: storelong(dstaddr, outdata); ! 2510: PC+= 6; ! 2511: } ! 2512: ! 2513: void cpu_op_403b(t_ipc *ipc) /* MOVE */ { ! 2514: /* mask f1ff, bits 21bb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2515: uint32 srcaddr = idxval_src(ipc); ! 2516: uint32 srcdata = fetchlong(srcaddr); ! 2517: int dstreg = (ipc->opcode >> 9) & 7; ! 2518: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2519: uint32 outdata = srcdata; ! 2520: ! 2521: storelong(dstaddr, outdata); ! 2522: ! 2523: VFLAG = 0; ! 2524: CFLAG = 0; ! 2525: NFLAG = ((sint32)outdata) < 0; ! 2526: ZFLAG = !outdata; ! 2527: PC+= 6; ! 2528: } ! 2529: ! 2530: void cpu_op_404a(t_ipc *ipc) /* MOVE */ { ! 2531: /* mask ffff, bits 21fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2532: uint32 srcaddr = idxval_src(ipc); ! 2533: uint32 srcdata = fetchlong(srcaddr); ! 2534: uint32 dstaddr = ipc->dst; ! 2535: uint32 outdata = srcdata; ! 2536: ! 2537: storelong(dstaddr, outdata); ! 2538: PC+= 6; ! 2539: } ! 2540: ! 2541: void cpu_op_404b(t_ipc *ipc) /* MOVE */ { ! 2542: /* mask ffff, bits 21fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2543: uint32 srcaddr = idxval_src(ipc); ! 2544: uint32 srcdata = fetchlong(srcaddr); ! 2545: uint32 dstaddr = ipc->dst; ! 2546: uint32 outdata = srcdata; ! 2547: ! 2548: storelong(dstaddr, outdata); ! 2549: ! 2550: VFLAG = 0; ! 2551: CFLAG = 0; ! 2552: NFLAG = ((sint32)outdata) < 0; ! 2553: ZFLAG = !outdata; ! 2554: PC+= 6; ! 2555: } ! 2556: ! 2557: void cpu_op_405a(t_ipc *ipc) /* MOVE */ { ! 2558: /* mask ffff, bits 23fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2559: uint32 srcaddr = idxval_src(ipc); ! 2560: uint32 srcdata = fetchlong(srcaddr); ! 2561: uint32 dstaddr = ipc->dst; ! 2562: uint32 outdata = srcdata; ! 2563: ! 2564: storelong(dstaddr, outdata); ! 2565: PC+= 8; ! 2566: } ! 2567: ! 2568: void cpu_op_405b(t_ipc *ipc) /* MOVE */ { ! 2569: /* mask ffff, bits 23fb, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 10, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2570: uint32 srcaddr = idxval_src(ipc); ! 2571: uint32 srcdata = fetchlong(srcaddr); ! 2572: uint32 dstaddr = ipc->dst; ! 2573: uint32 outdata = srcdata; ! 2574: ! 2575: storelong(dstaddr, outdata); ! 2576: ! 2577: VFLAG = 0; ! 2578: CFLAG = 0; ! 2579: NFLAG = ((sint32)outdata) < 0; ! 2580: ZFLAG = !outdata; ! 2581: PC+= 8; ! 2582: } ! 2583: ! 2584: void cpu_op_406a(t_ipc *ipc) /* MOVE */ { ! 2585: /* mask f1ff, bits 203c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2586: uint32 srcdata = ipc->src; ! 2587: int dstreg = (ipc->opcode >> 9) & 7; ! 2588: uint32 outdata = srcdata; ! 2589: ! 2590: DATAREG(dstreg) = outdata; ! 2591: PC+= 6; ! 2592: } ! 2593: ! 2594: void cpu_op_406b(t_ipc *ipc) /* MOVE */ { ! 2595: /* mask f1ff, bits 203c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 0, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2596: uint32 srcdata = ipc->src; ! 2597: int dstreg = (ipc->opcode >> 9) & 7; ! 2598: uint32 outdata = srcdata; ! 2599: ! 2600: DATAREG(dstreg) = outdata; ! 2601: ! 2602: VFLAG = 0; ! 2603: CFLAG = 0; ! 2604: NFLAG = ((sint32)outdata) < 0; ! 2605: ZFLAG = !outdata; ! 2606: PC+= 6; ! 2607: } ! 2608: ! 2609: void cpu_op_407a(t_ipc *ipc) /* MOVE */ { ! 2610: /* mask f1ff, bits 20bc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2611: uint32 srcdata = ipc->src; ! 2612: int dstreg = (ipc->opcode >> 9) & 7; ! 2613: uint32 dstaddr = ADDRREG(dstreg); ! 2614: uint32 outdata = srcdata; ! 2615: ! 2616: storelong(dstaddr, outdata); ! 2617: PC+= 6; ! 2618: } ! 2619: ! 2620: void cpu_op_407b(t_ipc *ipc) /* MOVE */ { ! 2621: /* mask f1ff, bits 20bc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 2, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2622: uint32 srcdata = ipc->src; ! 2623: int dstreg = (ipc->opcode >> 9) & 7; ! 2624: uint32 dstaddr = ADDRREG(dstreg); ! 2625: uint32 outdata = srcdata; ! 2626: ! 2627: storelong(dstaddr, outdata); ! 2628: ! 2629: VFLAG = 0; ! 2630: CFLAG = 0; ! 2631: NFLAG = ((sint32)outdata) < 0; ! 2632: ZFLAG = !outdata; ! 2633: PC+= 6; ! 2634: } ! 2635: ! 2636: void cpu_op_408a(t_ipc *ipc) /* MOVE */ { ! 2637: /* mask f1ff, bits 20fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2638: uint32 srcdata = ipc->src; ! 2639: int dstreg = (ipc->opcode >> 9) & 7; ! 2640: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2641: uint32 outdata = srcdata; ! 2642: ! 2643: storelong(dstaddr, outdata); ! 2644: PC+= 6; ! 2645: } ! 2646: ! 2647: void cpu_op_408b(t_ipc *ipc) /* MOVE */ { ! 2648: /* mask f1ff, bits 20fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 3, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2649: uint32 srcdata = ipc->src; ! 2650: int dstreg = (ipc->opcode >> 9) & 7; ! 2651: uint32 dstaddr = (ADDRREG(dstreg)+=4, ADDRREG(dstreg)-4); ! 2652: uint32 outdata = srcdata; ! 2653: ! 2654: storelong(dstaddr, outdata); ! 2655: ! 2656: VFLAG = 0; ! 2657: CFLAG = 0; ! 2658: NFLAG = ((sint32)outdata) < 0; ! 2659: ZFLAG = !outdata; ! 2660: PC+= 6; ! 2661: } ! 2662: ! 2663: void cpu_op_409a(t_ipc *ipc) /* MOVE */ { ! 2664: /* mask f1ff, bits 213c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2665: uint32 srcdata = ipc->src; ! 2666: int dstreg = (ipc->opcode >> 9) & 7; ! 2667: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2668: uint32 outdata = srcdata; ! 2669: ! 2670: storelong(dstaddr, outdata); ! 2671: PC+= 6; ! 2672: } ! 2673: ! 2674: void cpu_op_409b(t_ipc *ipc) /* MOVE */ { ! 2675: /* mask f1ff, bits 213c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 4, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2676: uint32 srcdata = ipc->src; ! 2677: int dstreg = (ipc->opcode >> 9) & 7; ! 2678: uint32 dstaddr = ADDRREG(dstreg)-=4; ! 2679: uint32 outdata = srcdata; ! 2680: ! 2681: storelong(dstaddr, outdata); ! 2682: ! 2683: VFLAG = 0; ! 2684: CFLAG = 0; ! 2685: NFLAG = ((sint32)outdata) < 0; ! 2686: ZFLAG = !outdata; ! 2687: PC+= 6; ! 2688: } ! 2689: ! 2690: void cpu_op_410a(t_ipc *ipc) /* MOVE */ { ! 2691: /* mask f1ff, bits 217c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2692: uint32 srcdata = ipc->src; ! 2693: int dstreg = (ipc->opcode >> 9) & 7; ! 2694: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2695: uint32 outdata = srcdata; ! 2696: ! 2697: storelong(dstaddr, outdata); ! 2698: PC+= 8; ! 2699: } ! 2700: ! 2701: void cpu_op_410b(t_ipc *ipc) /* MOVE */ { ! 2702: /* mask f1ff, bits 217c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 5, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2703: uint32 srcdata = ipc->src; ! 2704: int dstreg = (ipc->opcode >> 9) & 7; ! 2705: uint32 dstaddr = (sint32)ADDRREG(dstreg) + (sint32)(sint16)ipc->dst; ! 2706: uint32 outdata = srcdata; ! 2707: ! 2708: storelong(dstaddr, outdata); ! 2709: ! 2710: VFLAG = 0; ! 2711: CFLAG = 0; ! 2712: NFLAG = ((sint32)outdata) < 0; ! 2713: ZFLAG = !outdata; ! 2714: PC+= 8; ! 2715: } ! 2716: ! 2717: void cpu_op_411a(t_ipc *ipc) /* MOVE */ { ! 2718: /* mask f1ff, bits 21bc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2719: uint32 srcdata = ipc->src; ! 2720: int dstreg = (ipc->opcode >> 9) & 7; ! 2721: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2722: uint32 outdata = srcdata; ! 2723: ! 2724: storelong(dstaddr, outdata); ! 2725: PC+= 8; ! 2726: } ! 2727: ! 2728: void cpu_op_411b(t_ipc *ipc) /* MOVE */ { ! 2729: /* mask f1ff, bits 21bc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 6, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2730: uint32 srcdata = ipc->src; ! 2731: int dstreg = (ipc->opcode >> 9) & 7; ! 2732: uint32 dstaddr = (sint32)ADDRREG(dstreg) + idxval_dst(ipc); ! 2733: uint32 outdata = srcdata; ! 2734: ! 2735: storelong(dstaddr, outdata); ! 2736: ! 2737: VFLAG = 0; ! 2738: CFLAG = 0; ! 2739: NFLAG = ((sint32)outdata) < 0; ! 2740: ZFLAG = !outdata; ! 2741: PC+= 8; ! 2742: } ! 2743: ! 2744: void cpu_op_412a(t_ipc *ipc) /* MOVE */ { ! 2745: /* mask ffff, bits 21fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2746: uint32 srcdata = ipc->src; ! 2747: uint32 dstaddr = ipc->dst; ! 2748: uint32 outdata = srcdata; ! 2749: ! 2750: storelong(dstaddr, outdata); ! 2751: PC+= 8; ! 2752: } ! 2753: ! 2754: void cpu_op_412b(t_ipc *ipc) /* MOVE */ { ! 2755: /* mask ffff, bits 21fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 7, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2756: uint32 srcdata = ipc->src; ! 2757: uint32 dstaddr = ipc->dst; ! 2758: uint32 outdata = srcdata; ! 2759: ! 2760: storelong(dstaddr, outdata); ! 2761: ! 2762: VFLAG = 0; ! 2763: CFLAG = 0; ! 2764: NFLAG = ((sint32)outdata) < 0; ! 2765: ZFLAG = !outdata; ! 2766: PC+= 8; ! 2767: } ! 2768: ! 2769: void cpu_op_413a(t_ipc *ipc) /* MOVE */ { ! 2770: /* mask ffff, bits 23fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2771: uint32 srcdata = ipc->src; ! 2772: uint32 dstaddr = ipc->dst; ! 2773: uint32 outdata = srcdata; ! 2774: ! 2775: storelong(dstaddr, outdata); ! 2776: PC+= 10; ! 2777: } ! 2778: ! 2779: void cpu_op_413b(t_ipc *ipc) /* MOVE */ { ! 2780: /* mask ffff, bits 23fc, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set -2, size 3, stype 13, dtype 8, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2781: uint32 srcdata = ipc->src; ! 2782: uint32 dstaddr = ipc->dst; ! 2783: uint32 outdata = srcdata; ! 2784: ! 2785: storelong(dstaddr, outdata); ! 2786: ! 2787: VFLAG = 0; ! 2788: CFLAG = 0; ! 2789: NFLAG = ((sint32)outdata) < 0; ! 2790: ZFLAG = !outdata; ! 2791: PC+= 10; ! 2792: } ! 2793: ! 2794: void cpu_op_414a(t_ipc *ipc) /* MOVE */ { ! 2795: /* mask f1f8, bits 2040, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 0, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2796: int srcreg = (ipc->opcode >> 0) & 7; ! 2797: uint32 srcdata = DATAREG(srcreg); ! 2798: int dstreg = (ipc->opcode >> 9) & 7; ! 2799: uint32 outdata = srcdata; ! 2800: ! 2801: ADDRREG(dstreg) = outdata; ! 2802: PC+= 2; ! 2803: } ! 2804: ! 2805: void cpu_op_415a(t_ipc *ipc) /* MOVE */ { ! 2806: /* mask f1f8, bits 2048, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 1, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2807: int srcreg = (ipc->opcode >> 0) & 7; ! 2808: uint32 srcdata = ADDRREG(srcreg); ! 2809: int dstreg = (ipc->opcode >> 9) & 7; ! 2810: uint32 outdata = srcdata; ! 2811: ! 2812: ADDRREG(dstreg) = outdata; ! 2813: PC+= 2; ! 2814: } ! 2815: ! 2816: void cpu_op_416a(t_ipc *ipc) /* MOVE */ { ! 2817: /* mask f1f8, bits 2050, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 2, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2818: int srcreg = (ipc->opcode >> 0) & 7; ! 2819: uint32 srcaddr = ADDRREG(srcreg); ! 2820: uint32 srcdata = fetchlong(srcaddr); ! 2821: int dstreg = (ipc->opcode >> 9) & 7; ! 2822: uint32 outdata = srcdata; ! 2823: ! 2824: ADDRREG(dstreg) = outdata; ! 2825: PC+= 2; ! 2826: } ! 2827: ! 2828: void cpu_op_417a(t_ipc *ipc) /* MOVE */ { ! 2829: /* mask f1f8, bits 2058, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 3, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2830: int srcreg = (ipc->opcode >> 0) & 7; ! 2831: uint32 srcaddr = (ADDRREG(srcreg)+=4, ADDRREG(srcreg)-4); ! 2832: uint32 srcdata = fetchlong(srcaddr); ! 2833: int dstreg = (ipc->opcode >> 9) & 7; ! 2834: uint32 outdata = srcdata; ! 2835: ! 2836: ADDRREG(dstreg) = outdata; ! 2837: PC+= 2; ! 2838: } ! 2839: ! 2840: void cpu_op_418a(t_ipc *ipc) /* MOVE */ { ! 2841: /* mask f1f8, bits 2060, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 4, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2842: int srcreg = (ipc->opcode >> 0) & 7; ! 2843: uint32 srcaddr = ADDRREG(srcreg)-=4; ! 2844: uint32 srcdata = fetchlong(srcaddr); ! 2845: int dstreg = (ipc->opcode >> 9) & 7; ! 2846: uint32 outdata = srcdata; ! 2847: ! 2848: ADDRREG(dstreg) = outdata; ! 2849: PC+= 2; ! 2850: } ! 2851: ! 2852: void cpu_op_419a(t_ipc *ipc) /* MOVE */ { ! 2853: /* mask f1f8, bits 2068, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 5, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2854: int srcreg = (ipc->opcode >> 0) & 7; ! 2855: uint32 srcaddr = (sint32)ADDRREG(srcreg) + (sint32)(sint16)ipc->src; ! 2856: uint32 srcdata = fetchlong(srcaddr); ! 2857: int dstreg = (ipc->opcode >> 9) & 7; ! 2858: uint32 outdata = srcdata; ! 2859: ! 2860: ADDRREG(dstreg) = outdata; ! 2861: PC+= 4; ! 2862: } ! 2863: ! 2864: void cpu_op_420a(t_ipc *ipc) /* MOVE */ { ! 2865: /* mask f1f8, bits 2070, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 6, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2866: int srcreg = (ipc->opcode >> 0) & 7; ! 2867: uint32 srcaddr = (sint32)ADDRREG(srcreg) + idxval_src(ipc); ! 2868: uint32 srcdata = fetchlong(srcaddr); ! 2869: int dstreg = (ipc->opcode >> 9) & 7; ! 2870: uint32 outdata = srcdata; ! 2871: ! 2872: ADDRREG(dstreg) = outdata; ! 2873: PC+= 4; ! 2874: } ! 2875: ! 2876: void cpu_op_421a(t_ipc *ipc) /* MOVE */ { ! 2877: /* mask f1ff, bits 2078, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 7, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2878: uint32 srcaddr = ipc->src; ! 2879: uint32 srcdata = fetchlong(srcaddr); ! 2880: int dstreg = (ipc->opcode >> 9) & 7; ! 2881: uint32 outdata = srcdata; ! 2882: ! 2883: ADDRREG(dstreg) = outdata; ! 2884: PC+= 4; ! 2885: } ! 2886: ! 2887: void cpu_op_422a(t_ipc *ipc) /* MOVE */ { ! 2888: /* mask f1ff, bits 2079, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 8, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2889: uint32 srcaddr = ipc->src; ! 2890: uint32 srcdata = fetchlong(srcaddr); ! 2891: int dstreg = (ipc->opcode >> 9) & 7; ! 2892: uint32 outdata = srcdata; ! 2893: ! 2894: ADDRREG(dstreg) = outdata; ! 2895: PC+= 6; ! 2896: } ! 2897: ! 2898: void cpu_op_423a(t_ipc *ipc) /* MOVE */ { ! 2899: /* mask f1ff, bits 207a, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 9, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2900: uint32 srcaddr = ipc->src; ! 2901: uint32 srcdata = fetchlong(srcaddr); ! 2902: int dstreg = (ipc->opcode >> 9) & 7; ! 2903: uint32 outdata = srcdata; ! 2904: ! 2905: ADDRREG(dstreg) = outdata; ! 2906: PC+= 4; ! 2907: } ! 2908: ! 2909: void cpu_op_424a(t_ipc *ipc) /* MOVE */ { ! 2910: /* mask f1ff, bits 207b, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 10, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2911: uint32 srcaddr = idxval_src(ipc); ! 2912: uint32 srcdata = fetchlong(srcaddr); ! 2913: int dstreg = (ipc->opcode >> 9) & 7; ! 2914: uint32 outdata = srcdata; ! 2915: ! 2916: ADDRREG(dstreg) = outdata; ! 2917: PC+= 4; ! 2918: } ! 2919: ! 2920: void cpu_op_425a(t_ipc *ipc) /* MOVE */ { ! 2921: /* mask f1ff, bits 207c, mnemonic 21, priv 0, endblk 0, imm_notzero 0, used 0 set 0, size 3, stype 13, dtype 1, sbitpos 0, dbitpos 9, immvalue 0 */ ! 2922: uint32 srcdata = ipc->src; ! 2923: int dstreg = (ipc->opcode >> 9) & 7; ! 2924: uint32 outdata = srcdata; ! 2925: ! 2926: ADDRREG(dstreg) = outdata; ! 2927: PC+= 6; ! 2928: } ! 2929:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.