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