Annotation of generator/src/out/cpu68k-2.c, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.