Annotation of uae/CPU Sources/cpu1.c, revision 1.1.1.1

1.1       root        1: #include "config.h"
                      2: #include "amiga.h"
                      3: #include "options.h"
                      4: #include <stdlib.h>
                      5: #include "memory.h"
                      6: #include "custom.h"
                      7: #include "newcpu.h"
                      8: #include "cputbl.h"
                      9: void op_1000(UWORD opcode)
                     10: {
                     11:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     12:        ULONG dstreg = (opcode & 3584) >> 9;
                     13: {{     BYTE src = regs.d[srcreg];
                     14: {      regs.v = regs.c = 0;
                     15:        regs.z = ((BYTE)(src)) == 0;
                     16:        regs.n = ((BYTE)(src)) < 0;
                     17:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     18: }}}}
                     19: void op_1010(UWORD opcode)
                     20: {
                     21:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     22:        ULONG dstreg = (opcode & 3584) >> 9;
                     23: {{     CPTR srca = regs.a[srcreg];
                     24:        BYTE src = get_byte(srca);
                     25: {      regs.v = regs.c = 0;
                     26:        regs.z = ((BYTE)(src)) == 0;
                     27:        regs.n = ((BYTE)(src)) < 0;
                     28:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     29: }}}}
                     30: void op_1018(UWORD opcode)
                     31: {
                     32:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     33:        ULONG dstreg = (opcode & 3584) >> 9;
                     34: {{     CPTR srca = regs.a[srcreg];
                     35:        BYTE src = get_byte(srca);
                     36: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                     37: {      regs.v = regs.c = 0;
                     38:        regs.z = ((BYTE)(src)) == 0;
                     39:        regs.n = ((BYTE)(src)) < 0;
                     40:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     41: }}}}}
                     42: void op_1020(UWORD opcode)
                     43: {
                     44:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     45:        ULONG dstreg = (opcode & 3584) >> 9;
                     46: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                     47: {      CPTR srca = regs.a[srcreg];
                     48:        BYTE src = get_byte(srca);
                     49: {      regs.v = regs.c = 0;
                     50:        regs.z = ((BYTE)(src)) == 0;
                     51:        regs.n = ((BYTE)(src)) < 0;
                     52:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     53: }}}}}
                     54: void op_1028(UWORD opcode)
                     55: {
                     56:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     57:        ULONG dstreg = (opcode & 3584) >> 9;
                     58: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                     59:        BYTE src = get_byte(srca);
                     60: {      regs.v = regs.c = 0;
                     61:        regs.z = ((BYTE)(src)) == 0;
                     62:        regs.n = ((BYTE)(src)) < 0;
                     63:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     64: }}}}
                     65: void op_1030(UWORD opcode)
                     66: {
                     67:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                     68:        ULONG dstreg = (opcode & 3584) >> 9;
                     69: {{     CPTR srca = regs.a[srcreg];
                     70:        UWORD srcdp = nextiword();
                     71:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                     72: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                     73:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                     74:        srca += srcdpr;
                     75: {      BYTE src = get_byte(srca);
                     76: {      regs.v = regs.c = 0;
                     77:        regs.z = ((BYTE)(src)) == 0;
                     78:        regs.n = ((BYTE)(src)) < 0;
                     79:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     80: }}}}}}
                     81: void op_1038(UWORD opcode)
                     82: {
                     83:        ULONG dstreg = (opcode & 3584) >> 9;
                     84: {{     CPTR srca = (LONG)(WORD)nextiword();
                     85:        BYTE src = get_byte(srca);
                     86: {      regs.v = regs.c = 0;
                     87:        regs.z = ((BYTE)(src)) == 0;
                     88:        regs.n = ((BYTE)(src)) < 0;
                     89:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                     90: }}}}
                     91: void op_1039(UWORD opcode)
                     92: {
                     93:        ULONG dstreg = (opcode & 3584) >> 9;
                     94: {{     CPTR srca = nextilong();
                     95:        BYTE src = get_byte(srca);
                     96: {      regs.v = regs.c = 0;
                     97:        regs.z = ((BYTE)(src)) == 0;
                     98:        regs.n = ((BYTE)(src)) < 0;
                     99:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                    100: }}}}
                    101: void op_103a(UWORD opcode)
                    102: {
                    103:        ULONG dstreg = (opcode & 3584) >> 9;
                    104: {{     CPTR srca = m68k_getpc();
                    105:        srca += (LONG)(WORD)nextiword();
                    106: {      BYTE src = get_byte(srca);
                    107: {      regs.v = regs.c = 0;
                    108:        regs.z = ((BYTE)(src)) == 0;
                    109:        regs.n = ((BYTE)(src)) < 0;
                    110:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                    111: }}}}}
                    112: void op_103b(UWORD opcode)
                    113: {
                    114:        ULONG dstreg = (opcode & 3584) >> 9;
                    115: {{     CPTR srca = m68k_getpc();
                    116:        UWORD srcdp = nextiword();
                    117:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    118: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    119:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    120:        srca += srcdpr;
                    121: {      BYTE src = get_byte(srca);
                    122: {      regs.v = regs.c = 0;
                    123:        regs.z = ((BYTE)(src)) == 0;
                    124:        regs.n = ((BYTE)(src)) < 0;
                    125:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                    126: }}}}}}
                    127: void op_103c(UWORD opcode)
                    128: {
                    129:        ULONG dstreg = (opcode & 3584) >> 9;
                    130: {{     BYTE src = nextiword();
                    131: {      regs.v = regs.c = 0;
                    132:        regs.z = ((BYTE)(src)) == 0;
                    133:        regs.n = ((BYTE)(src)) < 0;
                    134:        regs.d[dstreg] &= ~0xff; regs.d[dstreg] |= (src) & 0xff;
                    135: }}}}
                    136: void op_1080(UWORD opcode)
                    137: {
                    138:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    139:        ULONG dstreg = (opcode & 3584) >> 9;
                    140: {{     BYTE src = regs.d[srcreg];
                    141: {      CPTR dsta = regs.a[dstreg];
                    142:        regs.v = regs.c = 0;
                    143:        regs.z = ((BYTE)(src)) == 0;
                    144:        regs.n = ((BYTE)(src)) < 0;
                    145:        put_byte(dsta,src);
                    146: }}}}
                    147: void op_1090(UWORD opcode)
                    148: {
                    149:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    150:        ULONG dstreg = (opcode & 3584) >> 9;
                    151: {{     CPTR srca = regs.a[srcreg];
                    152:        BYTE src = get_byte(srca);
                    153: {      CPTR dsta = regs.a[dstreg];
                    154:        regs.v = regs.c = 0;
                    155:        regs.z = ((BYTE)(src)) == 0;
                    156:        regs.n = ((BYTE)(src)) < 0;
                    157:        put_byte(dsta,src);
                    158: }}}}
                    159: void op_1098(UWORD opcode)
                    160: {
                    161:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    162:        ULONG dstreg = (opcode & 3584) >> 9;
                    163: {{     CPTR srca = regs.a[srcreg];
                    164:        BYTE src = get_byte(srca);
                    165: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    166: {      CPTR dsta = regs.a[dstreg];
                    167:        regs.v = regs.c = 0;
                    168:        regs.z = ((BYTE)(src)) == 0;
                    169:        regs.n = ((BYTE)(src)) < 0;
                    170:        put_byte(dsta,src);
                    171: }}}}}
                    172: void op_10a0(UWORD opcode)
                    173: {
                    174:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    175:        ULONG dstreg = (opcode & 3584) >> 9;
                    176: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    177: {      CPTR srca = regs.a[srcreg];
                    178:        BYTE src = get_byte(srca);
                    179: {      CPTR dsta = regs.a[dstreg];
                    180:        regs.v = regs.c = 0;
                    181:        regs.z = ((BYTE)(src)) == 0;
                    182:        regs.n = ((BYTE)(src)) < 0;
                    183:        put_byte(dsta,src);
                    184: }}}}}
                    185: void op_10a8(UWORD opcode)
                    186: {
                    187:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    188:        ULONG dstreg = (opcode & 3584) >> 9;
                    189: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    190:        BYTE src = get_byte(srca);
                    191: {      CPTR dsta = regs.a[dstreg];
                    192:        regs.v = regs.c = 0;
                    193:        regs.z = ((BYTE)(src)) == 0;
                    194:        regs.n = ((BYTE)(src)) < 0;
                    195:        put_byte(dsta,src);
                    196: }}}}
                    197: void op_10b0(UWORD opcode)
                    198: {
                    199:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    200:        ULONG dstreg = (opcode & 3584) >> 9;
                    201: {{     CPTR srca = regs.a[srcreg];
                    202:        UWORD srcdp = nextiword();
                    203:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    204: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    205:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    206:        srca += srcdpr;
                    207: {      BYTE src = get_byte(srca);
                    208: {      CPTR dsta = regs.a[dstreg];
                    209:        regs.v = regs.c = 0;
                    210:        regs.z = ((BYTE)(src)) == 0;
                    211:        regs.n = ((BYTE)(src)) < 0;
                    212:        put_byte(dsta,src);
                    213: }}}}}}
                    214: void op_10b8(UWORD opcode)
                    215: {
                    216:        ULONG dstreg = (opcode & 3584) >> 9;
                    217: {{     CPTR srca = (LONG)(WORD)nextiword();
                    218:        BYTE src = get_byte(srca);
                    219: {      CPTR dsta = regs.a[dstreg];
                    220:        regs.v = regs.c = 0;
                    221:        regs.z = ((BYTE)(src)) == 0;
                    222:        regs.n = ((BYTE)(src)) < 0;
                    223:        put_byte(dsta,src);
                    224: }}}}
                    225: void op_10b9(UWORD opcode)
                    226: {
                    227:        ULONG dstreg = (opcode & 3584) >> 9;
                    228: {{     CPTR srca = nextilong();
                    229:        BYTE src = get_byte(srca);
                    230: {      CPTR dsta = regs.a[dstreg];
                    231:        regs.v = regs.c = 0;
                    232:        regs.z = ((BYTE)(src)) == 0;
                    233:        regs.n = ((BYTE)(src)) < 0;
                    234:        put_byte(dsta,src);
                    235: }}}}
                    236: void op_10ba(UWORD opcode)
                    237: {
                    238:        ULONG dstreg = (opcode & 3584) >> 9;
                    239: {{     CPTR srca = m68k_getpc();
                    240:        srca += (LONG)(WORD)nextiword();
                    241: {      BYTE src = get_byte(srca);
                    242: {      CPTR dsta = regs.a[dstreg];
                    243:        regs.v = regs.c = 0;
                    244:        regs.z = ((BYTE)(src)) == 0;
                    245:        regs.n = ((BYTE)(src)) < 0;
                    246:        put_byte(dsta,src);
                    247: }}}}}
                    248: void op_10bb(UWORD opcode)
                    249: {
                    250:        ULONG dstreg = (opcode & 3584) >> 9;
                    251: {{     CPTR srca = m68k_getpc();
                    252:        UWORD srcdp = nextiword();
                    253:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    254: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    255:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    256:        srca += srcdpr;
                    257: {      BYTE src = get_byte(srca);
                    258: {      CPTR dsta = regs.a[dstreg];
                    259:        regs.v = regs.c = 0;
                    260:        regs.z = ((BYTE)(src)) == 0;
                    261:        regs.n = ((BYTE)(src)) < 0;
                    262:        put_byte(dsta,src);
                    263: }}}}}}
                    264: void op_10bc(UWORD opcode)
                    265: {
                    266:        ULONG dstreg = (opcode & 3584) >> 9;
                    267: {{     BYTE src = nextiword();
                    268: {      CPTR dsta = regs.a[dstreg];
                    269:        regs.v = regs.c = 0;
                    270:        regs.z = ((BYTE)(src)) == 0;
                    271:        regs.n = ((BYTE)(src)) < 0;
                    272:        put_byte(dsta,src);
                    273: }}}}
                    274: void op_10c0(UWORD opcode)
                    275: {
                    276:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    277:        ULONG dstreg = (opcode & 3584) >> 9;
                    278: {{     BYTE src = regs.d[srcreg];
                    279: {      CPTR dsta = regs.a[dstreg];
                    280: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    281:        regs.v = regs.c = 0;
                    282:        regs.z = ((BYTE)(src)) == 0;
                    283:        regs.n = ((BYTE)(src)) < 0;
                    284:        put_byte(dsta,src);
                    285: }}}}}
                    286: void op_10d0(UWORD opcode)
                    287: {
                    288:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    289:        ULONG dstreg = (opcode & 3584) >> 9;
                    290: {{     CPTR srca = regs.a[srcreg];
                    291:        BYTE src = get_byte(srca);
                    292: {      CPTR dsta = regs.a[dstreg];
                    293: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    294:        regs.v = regs.c = 0;
                    295:        regs.z = ((BYTE)(src)) == 0;
                    296:        regs.n = ((BYTE)(src)) < 0;
                    297:        put_byte(dsta,src);
                    298: }}}}}
                    299: void op_10d8(UWORD opcode)
                    300: {
                    301:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    302:        ULONG dstreg = (opcode & 3584) >> 9;
                    303: {{     CPTR srca = regs.a[srcreg];
                    304:        BYTE src = get_byte(srca);
                    305: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    306: {      CPTR dsta = regs.a[dstreg];
                    307: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    308:        regs.v = regs.c = 0;
                    309:        regs.z = ((BYTE)(src)) == 0;
                    310:        regs.n = ((BYTE)(src)) < 0;
                    311:        put_byte(dsta,src);
                    312: }}}}}}
                    313: void op_10e0(UWORD opcode)
                    314: {
                    315:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    316:        ULONG dstreg = (opcode & 3584) >> 9;
                    317: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    318: {      CPTR srca = regs.a[srcreg];
                    319:        BYTE src = get_byte(srca);
                    320: {      CPTR dsta = regs.a[dstreg];
                    321: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    322:        regs.v = regs.c = 0;
                    323:        regs.z = ((BYTE)(src)) == 0;
                    324:        regs.n = ((BYTE)(src)) < 0;
                    325:        put_byte(dsta,src);
                    326: }}}}}}
                    327: void op_10e8(UWORD opcode)
                    328: {
                    329:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    330:        ULONG dstreg = (opcode & 3584) >> 9;
                    331: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    332:        BYTE src = get_byte(srca);
                    333: {      CPTR dsta = regs.a[dstreg];
                    334: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    335:        regs.v = regs.c = 0;
                    336:        regs.z = ((BYTE)(src)) == 0;
                    337:        regs.n = ((BYTE)(src)) < 0;
                    338:        put_byte(dsta,src);
                    339: }}}}}
                    340: void op_10f0(UWORD opcode)
                    341: {
                    342:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    343:        ULONG dstreg = (opcode & 3584) >> 9;
                    344: {{     CPTR srca = regs.a[srcreg];
                    345:        UWORD srcdp = nextiword();
                    346:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    347: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    348:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    349:        srca += srcdpr;
                    350: {      BYTE src = get_byte(srca);
                    351: {      CPTR dsta = regs.a[dstreg];
                    352: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    353:        regs.v = regs.c = 0;
                    354:        regs.z = ((BYTE)(src)) == 0;
                    355:        regs.n = ((BYTE)(src)) < 0;
                    356:        put_byte(dsta,src);
                    357: }}}}}}}
                    358: void op_10f8(UWORD opcode)
                    359: {
                    360:        ULONG dstreg = (opcode & 3584) >> 9;
                    361: {{     CPTR srca = (LONG)(WORD)nextiword();
                    362:        BYTE src = get_byte(srca);
                    363: {      CPTR dsta = regs.a[dstreg];
                    364: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    365:        regs.v = regs.c = 0;
                    366:        regs.z = ((BYTE)(src)) == 0;
                    367:        regs.n = ((BYTE)(src)) < 0;
                    368:        put_byte(dsta,src);
                    369: }}}}}
                    370: void op_10f9(UWORD opcode)
                    371: {
                    372:        ULONG dstreg = (opcode & 3584) >> 9;
                    373: {{     CPTR srca = nextilong();
                    374:        BYTE src = get_byte(srca);
                    375: {      CPTR dsta = regs.a[dstreg];
                    376: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    377:        regs.v = regs.c = 0;
                    378:        regs.z = ((BYTE)(src)) == 0;
                    379:        regs.n = ((BYTE)(src)) < 0;
                    380:        put_byte(dsta,src);
                    381: }}}}}
                    382: void op_10fa(UWORD opcode)
                    383: {
                    384:        ULONG dstreg = (opcode & 3584) >> 9;
                    385: {{     CPTR srca = m68k_getpc();
                    386:        srca += (LONG)(WORD)nextiword();
                    387: {      BYTE src = get_byte(srca);
                    388: {      CPTR dsta = regs.a[dstreg];
                    389: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    390:        regs.v = regs.c = 0;
                    391:        regs.z = ((BYTE)(src)) == 0;
                    392:        regs.n = ((BYTE)(src)) < 0;
                    393:        put_byte(dsta,src);
                    394: }}}}}}
                    395: void op_10fb(UWORD opcode)
                    396: {
                    397:        ULONG dstreg = (opcode & 3584) >> 9;
                    398: {{     CPTR srca = m68k_getpc();
                    399:        UWORD srcdp = nextiword();
                    400:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    401: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    402:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    403:        srca += srcdpr;
                    404: {      BYTE src = get_byte(srca);
                    405: {      CPTR dsta = regs.a[dstreg];
                    406: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    407:        regs.v = regs.c = 0;
                    408:        regs.z = ((BYTE)(src)) == 0;
                    409:        regs.n = ((BYTE)(src)) < 0;
                    410:        put_byte(dsta,src);
                    411: }}}}}}}
                    412: void op_10fc(UWORD opcode)
                    413: {
                    414:        ULONG dstreg = (opcode & 3584) >> 9;
                    415: {{     BYTE src = nextiword();
                    416: {      CPTR dsta = regs.a[dstreg];
                    417: {      regs.a[dstreg] += (dstreg == 7) ? 2 : 1;
                    418:        regs.v = regs.c = 0;
                    419:        regs.z = ((BYTE)(src)) == 0;
                    420:        regs.n = ((BYTE)(src)) < 0;
                    421:        put_byte(dsta,src);
                    422: }}}}}
                    423: void op_1100(UWORD opcode)
                    424: {
                    425:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    426:        ULONG dstreg = (opcode & 3584) >> 9;
                    427: {{     BYTE src = regs.d[srcreg];
                    428: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    429: {      CPTR dsta = regs.a[dstreg];
                    430:        regs.v = regs.c = 0;
                    431:        regs.z = ((BYTE)(src)) == 0;
                    432:        regs.n = ((BYTE)(src)) < 0;
                    433:        put_byte(dsta,src);
                    434: }}}}}
                    435: void op_1110(UWORD opcode)
                    436: {
                    437:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    438:        ULONG dstreg = (opcode & 3584) >> 9;
                    439: {{     CPTR srca = regs.a[srcreg];
                    440:        BYTE src = get_byte(srca);
                    441: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    442: {      CPTR dsta = regs.a[dstreg];
                    443:        regs.v = regs.c = 0;
                    444:        regs.z = ((BYTE)(src)) == 0;
                    445:        regs.n = ((BYTE)(src)) < 0;
                    446:        put_byte(dsta,src);
                    447: }}}}}
                    448: void op_1118(UWORD opcode)
                    449: {
                    450:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    451:        ULONG dstreg = (opcode & 3584) >> 9;
                    452: {{     CPTR srca = regs.a[srcreg];
                    453:        BYTE src = get_byte(srca);
                    454: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    455: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    456: {      CPTR dsta = regs.a[dstreg];
                    457:        regs.v = regs.c = 0;
                    458:        regs.z = ((BYTE)(src)) == 0;
                    459:        regs.n = ((BYTE)(src)) < 0;
                    460:        put_byte(dsta,src);
                    461: }}}}}}
                    462: void op_1120(UWORD opcode)
                    463: {
                    464:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    465:        ULONG dstreg = (opcode & 3584) >> 9;
                    466: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    467: {      CPTR srca = regs.a[srcreg];
                    468:        BYTE src = get_byte(srca);
                    469: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    470: {      CPTR dsta = regs.a[dstreg];
                    471:        regs.v = regs.c = 0;
                    472:        regs.z = ((BYTE)(src)) == 0;
                    473:        regs.n = ((BYTE)(src)) < 0;
                    474:        put_byte(dsta,src);
                    475: }}}}}}
                    476: void op_1128(UWORD opcode)
                    477: {
                    478:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    479:        ULONG dstreg = (opcode & 3584) >> 9;
                    480: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    481:        BYTE src = get_byte(srca);
                    482: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    483: {      CPTR dsta = regs.a[dstreg];
                    484:        regs.v = regs.c = 0;
                    485:        regs.z = ((BYTE)(src)) == 0;
                    486:        regs.n = ((BYTE)(src)) < 0;
                    487:        put_byte(dsta,src);
                    488: }}}}}
                    489: void op_1130(UWORD opcode)
                    490: {
                    491:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    492:        ULONG dstreg = (opcode & 3584) >> 9;
                    493: {{     CPTR srca = regs.a[srcreg];
                    494:        UWORD srcdp = nextiword();
                    495:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    496: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    497:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    498:        srca += srcdpr;
                    499: {      BYTE src = get_byte(srca);
                    500: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    501: {      CPTR dsta = regs.a[dstreg];
                    502:        regs.v = regs.c = 0;
                    503:        regs.z = ((BYTE)(src)) == 0;
                    504:        regs.n = ((BYTE)(src)) < 0;
                    505:        put_byte(dsta,src);
                    506: }}}}}}}
                    507: void op_1138(UWORD opcode)
                    508: {
                    509:        ULONG dstreg = (opcode & 3584) >> 9;
                    510: {{     CPTR srca = (LONG)(WORD)nextiword();
                    511:        BYTE src = get_byte(srca);
                    512: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    513: {      CPTR dsta = regs.a[dstreg];
                    514:        regs.v = regs.c = 0;
                    515:        regs.z = ((BYTE)(src)) == 0;
                    516:        regs.n = ((BYTE)(src)) < 0;
                    517:        put_byte(dsta,src);
                    518: }}}}}
                    519: void op_1139(UWORD opcode)
                    520: {
                    521:        ULONG dstreg = (opcode & 3584) >> 9;
                    522: {{     CPTR srca = nextilong();
                    523:        BYTE src = get_byte(srca);
                    524: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    525: {      CPTR dsta = regs.a[dstreg];
                    526:        regs.v = regs.c = 0;
                    527:        regs.z = ((BYTE)(src)) == 0;
                    528:        regs.n = ((BYTE)(src)) < 0;
                    529:        put_byte(dsta,src);
                    530: }}}}}
                    531: void op_113a(UWORD opcode)
                    532: {
                    533:        ULONG dstreg = (opcode & 3584) >> 9;
                    534: {{     CPTR srca = m68k_getpc();
                    535:        srca += (LONG)(WORD)nextiword();
                    536: {      BYTE src = get_byte(srca);
                    537: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    538: {      CPTR dsta = regs.a[dstreg];
                    539:        regs.v = regs.c = 0;
                    540:        regs.z = ((BYTE)(src)) == 0;
                    541:        regs.n = ((BYTE)(src)) < 0;
                    542:        put_byte(dsta,src);
                    543: }}}}}}
                    544: void op_113b(UWORD opcode)
                    545: {
                    546:        ULONG dstreg = (opcode & 3584) >> 9;
                    547: {{     CPTR srca = m68k_getpc();
                    548:        UWORD srcdp = nextiword();
                    549:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    550: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    551:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    552:        srca += srcdpr;
                    553: {      BYTE src = get_byte(srca);
                    554: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    555: {      CPTR dsta = regs.a[dstreg];
                    556:        regs.v = regs.c = 0;
                    557:        regs.z = ((BYTE)(src)) == 0;
                    558:        regs.n = ((BYTE)(src)) < 0;
                    559:        put_byte(dsta,src);
                    560: }}}}}}}
                    561: void op_113c(UWORD opcode)
                    562: {
                    563:        ULONG dstreg = (opcode & 3584) >> 9;
                    564: {{     BYTE src = nextiword();
                    565: {      regs.a[dstreg] -= (dstreg == 7) ? 2 : 1;
                    566: {      CPTR dsta = regs.a[dstreg];
                    567:        regs.v = regs.c = 0;
                    568:        regs.z = ((BYTE)(src)) == 0;
                    569:        regs.n = ((BYTE)(src)) < 0;
                    570:        put_byte(dsta,src);
                    571: }}}}}
                    572: void op_1140(UWORD opcode)
                    573: {
                    574:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    575:        ULONG dstreg = (opcode & 3584) >> 9;
                    576: {{     BYTE src = regs.d[srcreg];
                    577: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    578:        regs.v = regs.c = 0;
                    579:        regs.z = ((BYTE)(src)) == 0;
                    580:        regs.n = ((BYTE)(src)) < 0;
                    581:        put_byte(dsta,src);
                    582: }}}}
                    583: void op_1150(UWORD opcode)
                    584: {
                    585:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    586:        ULONG dstreg = (opcode & 3584) >> 9;
                    587: {{     CPTR srca = regs.a[srcreg];
                    588:        BYTE src = get_byte(srca);
                    589: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    590:        regs.v = regs.c = 0;
                    591:        regs.z = ((BYTE)(src)) == 0;
                    592:        regs.n = ((BYTE)(src)) < 0;
                    593:        put_byte(dsta,src);
                    594: }}}}
                    595: void op_1158(UWORD opcode)
                    596: {
                    597:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    598:        ULONG dstreg = (opcode & 3584) >> 9;
                    599: {{     CPTR srca = regs.a[srcreg];
                    600:        BYTE src = get_byte(srca);
                    601: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    602: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    603:        regs.v = regs.c = 0;
                    604:        regs.z = ((BYTE)(src)) == 0;
                    605:        regs.n = ((BYTE)(src)) < 0;
                    606:        put_byte(dsta,src);
                    607: }}}}}
                    608: void op_1160(UWORD opcode)
                    609: {
                    610:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    611:        ULONG dstreg = (opcode & 3584) >> 9;
                    612: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    613: {      CPTR srca = regs.a[srcreg];
                    614:        BYTE src = get_byte(srca);
                    615: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    616:        regs.v = regs.c = 0;
                    617:        regs.z = ((BYTE)(src)) == 0;
                    618:        regs.n = ((BYTE)(src)) < 0;
                    619:        put_byte(dsta,src);
                    620: }}}}}
                    621: void op_1168(UWORD opcode)
                    622: {
                    623:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    624:        ULONG dstreg = (opcode & 3584) >> 9;
                    625: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    626:        BYTE src = get_byte(srca);
                    627: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    628:        regs.v = regs.c = 0;
                    629:        regs.z = ((BYTE)(src)) == 0;
                    630:        regs.n = ((BYTE)(src)) < 0;
                    631:        put_byte(dsta,src);
                    632: }}}}
                    633: void op_1170(UWORD opcode)
                    634: {
                    635:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    636:        ULONG dstreg = (opcode & 3584) >> 9;
                    637: {{     CPTR srca = regs.a[srcreg];
                    638:        UWORD srcdp = nextiword();
                    639:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    640: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    641:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    642:        srca += srcdpr;
                    643: {      BYTE src = get_byte(srca);
                    644: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    645:        regs.v = regs.c = 0;
                    646:        regs.z = ((BYTE)(src)) == 0;
                    647:        regs.n = ((BYTE)(src)) < 0;
                    648:        put_byte(dsta,src);
                    649: }}}}}}
                    650: void op_1178(UWORD opcode)
                    651: {
                    652:        ULONG dstreg = (opcode & 3584) >> 9;
                    653: {{     CPTR srca = (LONG)(WORD)nextiword();
                    654:        BYTE src = get_byte(srca);
                    655: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    656:        regs.v = regs.c = 0;
                    657:        regs.z = ((BYTE)(src)) == 0;
                    658:        regs.n = ((BYTE)(src)) < 0;
                    659:        put_byte(dsta,src);
                    660: }}}}
                    661: void op_1179(UWORD opcode)
                    662: {
                    663:        ULONG dstreg = (opcode & 3584) >> 9;
                    664: {{     CPTR srca = nextilong();
                    665:        BYTE src = get_byte(srca);
                    666: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    667:        regs.v = regs.c = 0;
                    668:        regs.z = ((BYTE)(src)) == 0;
                    669:        regs.n = ((BYTE)(src)) < 0;
                    670:        put_byte(dsta,src);
                    671: }}}}
                    672: void op_117a(UWORD opcode)
                    673: {
                    674:        ULONG dstreg = (opcode & 3584) >> 9;
                    675: {{     CPTR srca = m68k_getpc();
                    676:        srca += (LONG)(WORD)nextiword();
                    677: {      BYTE src = get_byte(srca);
                    678: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    679:        regs.v = regs.c = 0;
                    680:        regs.z = ((BYTE)(src)) == 0;
                    681:        regs.n = ((BYTE)(src)) < 0;
                    682:        put_byte(dsta,src);
                    683: }}}}}
                    684: void op_117b(UWORD opcode)
                    685: {
                    686:        ULONG dstreg = (opcode & 3584) >> 9;
                    687: {{     CPTR srca = m68k_getpc();
                    688:        UWORD srcdp = nextiword();
                    689:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    690: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    691:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    692:        srca += srcdpr;
                    693: {      BYTE src = get_byte(srca);
                    694: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    695:        regs.v = regs.c = 0;
                    696:        regs.z = ((BYTE)(src)) == 0;
                    697:        regs.n = ((BYTE)(src)) < 0;
                    698:        put_byte(dsta,src);
                    699: }}}}}}
                    700: void op_117c(UWORD opcode)
                    701: {
                    702:        ULONG dstreg = (opcode & 3584) >> 9;
                    703: {{     BYTE src = nextiword();
                    704: {      CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
                    705:        regs.v = regs.c = 0;
                    706:        regs.z = ((BYTE)(src)) == 0;
                    707:        regs.n = ((BYTE)(src)) < 0;
                    708:        put_byte(dsta,src);
                    709: }}}}
                    710: void op_1180(UWORD opcode)
                    711: {
                    712:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    713:        ULONG dstreg = (opcode & 3584) >> 9;
                    714: {{     BYTE src = regs.d[srcreg];
                    715: {      CPTR dsta = regs.a[dstreg];
                    716:        UWORD dstdp = nextiword();
                    717:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    718: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    719:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    720:        dsta += dstdpr;
                    721:        regs.v = regs.c = 0;
                    722:        regs.z = ((BYTE)(src)) == 0;
                    723:        regs.n = ((BYTE)(src)) < 0;
                    724:        put_byte(dsta,src);
                    725: }}}}}
                    726: void op_1190(UWORD opcode)
                    727: {
                    728:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    729:        ULONG dstreg = (opcode & 3584) >> 9;
                    730: {{     CPTR srca = regs.a[srcreg];
                    731:        BYTE src = get_byte(srca);
                    732: {      CPTR dsta = regs.a[dstreg];
                    733:        UWORD dstdp = nextiword();
                    734:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    735: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    736:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    737:        dsta += dstdpr;
                    738:        regs.v = regs.c = 0;
                    739:        regs.z = ((BYTE)(src)) == 0;
                    740:        regs.n = ((BYTE)(src)) < 0;
                    741:        put_byte(dsta,src);
                    742: }}}}}
                    743: void op_1198(UWORD opcode)
                    744: {
                    745:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    746:        ULONG dstreg = (opcode & 3584) >> 9;
                    747: {{     CPTR srca = regs.a[srcreg];
                    748:        BYTE src = get_byte(srca);
                    749: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    750: {      CPTR dsta = regs.a[dstreg];
                    751:        UWORD dstdp = nextiword();
                    752:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    753: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    754:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    755:        dsta += dstdpr;
                    756:        regs.v = regs.c = 0;
                    757:        regs.z = ((BYTE)(src)) == 0;
                    758:        regs.n = ((BYTE)(src)) < 0;
                    759:        put_byte(dsta,src);
                    760: }}}}}}
                    761: void op_11a0(UWORD opcode)
                    762: {
                    763:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    764:        ULONG dstreg = (opcode & 3584) >> 9;
                    765: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    766: {      CPTR srca = regs.a[srcreg];
                    767:        BYTE src = get_byte(srca);
                    768: {      CPTR dsta = regs.a[dstreg];
                    769:        UWORD dstdp = nextiword();
                    770:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    771: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    772:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    773:        dsta += dstdpr;
                    774:        regs.v = regs.c = 0;
                    775:        regs.z = ((BYTE)(src)) == 0;
                    776:        regs.n = ((BYTE)(src)) < 0;
                    777:        put_byte(dsta,src);
                    778: }}}}}}
                    779: void op_11a8(UWORD opcode)
                    780: {
                    781:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    782:        ULONG dstreg = (opcode & 3584) >> 9;
                    783: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    784:        BYTE src = get_byte(srca);
                    785: {      CPTR dsta = regs.a[dstreg];
                    786:        UWORD dstdp = nextiword();
                    787:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    788: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    789:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    790:        dsta += dstdpr;
                    791:        regs.v = regs.c = 0;
                    792:        regs.z = ((BYTE)(src)) == 0;
                    793:        regs.n = ((BYTE)(src)) < 0;
                    794:        put_byte(dsta,src);
                    795: }}}}}
                    796: void op_11b0(UWORD opcode)
                    797: {
                    798:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    799:        ULONG dstreg = (opcode & 3584) >> 9;
                    800: {{     CPTR srca = regs.a[srcreg];
                    801:        UWORD srcdp = nextiword();
                    802:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    803: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    804:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    805:        srca += srcdpr;
                    806: {      BYTE src = get_byte(srca);
                    807: {      CPTR dsta = regs.a[dstreg];
                    808:        UWORD dstdp = nextiword();
                    809:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    810: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    811:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    812:        dsta += dstdpr;
                    813:        regs.v = regs.c = 0;
                    814:        regs.z = ((BYTE)(src)) == 0;
                    815:        regs.n = ((BYTE)(src)) < 0;
                    816:        put_byte(dsta,src);
                    817: }}}}}}}
                    818: void op_11b8(UWORD opcode)
                    819: {
                    820:        ULONG dstreg = (opcode & 3584) >> 9;
                    821: {{     CPTR srca = (LONG)(WORD)nextiword();
                    822:        BYTE src = get_byte(srca);
                    823: {      CPTR dsta = regs.a[dstreg];
                    824:        UWORD dstdp = nextiword();
                    825:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    826: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    827:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    828:        dsta += dstdpr;
                    829:        regs.v = regs.c = 0;
                    830:        regs.z = ((BYTE)(src)) == 0;
                    831:        regs.n = ((BYTE)(src)) < 0;
                    832:        put_byte(dsta,src);
                    833: }}}}}
                    834: void op_11b9(UWORD opcode)
                    835: {
                    836:        ULONG dstreg = (opcode & 3584) >> 9;
                    837: {{     CPTR srca = nextilong();
                    838:        BYTE src = get_byte(srca);
                    839: {      CPTR dsta = regs.a[dstreg];
                    840:        UWORD dstdp = nextiword();
                    841:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    842: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    843:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    844:        dsta += dstdpr;
                    845:        regs.v = regs.c = 0;
                    846:        regs.z = ((BYTE)(src)) == 0;
                    847:        regs.n = ((BYTE)(src)) < 0;
                    848:        put_byte(dsta,src);
                    849: }}}}}
                    850: void op_11ba(UWORD opcode)
                    851: {
                    852:        ULONG dstreg = (opcode & 3584) >> 9;
                    853: {{     CPTR srca = m68k_getpc();
                    854:        srca += (LONG)(WORD)nextiword();
                    855: {      BYTE src = get_byte(srca);
                    856: {      CPTR dsta = regs.a[dstreg];
                    857:        UWORD dstdp = nextiword();
                    858:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    859: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    860:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    861:        dsta += dstdpr;
                    862:        regs.v = regs.c = 0;
                    863:        regs.z = ((BYTE)(src)) == 0;
                    864:        regs.n = ((BYTE)(src)) < 0;
                    865:        put_byte(dsta,src);
                    866: }}}}}}
                    867: void op_11bb(UWORD opcode)
                    868: {
                    869:        ULONG dstreg = (opcode & 3584) >> 9;
                    870: {{     CPTR srca = m68k_getpc();
                    871:        UWORD srcdp = nextiword();
                    872:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    873: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    874:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    875:        srca += srcdpr;
                    876: {      BYTE src = get_byte(srca);
                    877: {      CPTR dsta = regs.a[dstreg];
                    878:        UWORD dstdp = nextiword();
                    879:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    880: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    881:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    882:        dsta += dstdpr;
                    883:        regs.v = regs.c = 0;
                    884:        regs.z = ((BYTE)(src)) == 0;
                    885:        regs.n = ((BYTE)(src)) < 0;
                    886:        put_byte(dsta,src);
                    887: }}}}}}}
                    888: void op_11bc(UWORD opcode)
                    889: {
                    890:        ULONG dstreg = (opcode & 3584) >> 9;
                    891: {{     BYTE src = nextiword();
                    892: {      CPTR dsta = regs.a[dstreg];
                    893:        UWORD dstdp = nextiword();
                    894:        dsta += (LONG)(BYTE)(dstdp & 0xFF);
                    895: {      ULONG dstdpr = dstdp & 0x8000 ? regs.a[(dstdp & 0x7000) >> 12] : regs.d[(dstdp & 0x7000) >> 12];
                    896:        if (!(dstdp & 0x800)) dstdpr = (LONG)(WORD)dstdpr;
                    897:        dsta += dstdpr;
                    898:        regs.v = regs.c = 0;
                    899:        regs.z = ((BYTE)(src)) == 0;
                    900:        regs.n = ((BYTE)(src)) < 0;
                    901:        put_byte(dsta,src);
                    902: }}}}}
                    903: void op_11c0(UWORD opcode)
                    904: {
                    905:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    906: {{     BYTE src = regs.d[srcreg];
                    907: {      CPTR dsta = (LONG)(WORD)nextiword();
                    908:        regs.v = regs.c = 0;
                    909:        regs.z = ((BYTE)(src)) == 0;
                    910:        regs.n = ((BYTE)(src)) < 0;
                    911:        put_byte(dsta,src);
                    912: }}}}
                    913: void op_11d0(UWORD opcode)
                    914: {
                    915:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    916: {{     CPTR srca = regs.a[srcreg];
                    917:        BYTE src = get_byte(srca);
                    918: {      CPTR dsta = (LONG)(WORD)nextiword();
                    919:        regs.v = regs.c = 0;
                    920:        regs.z = ((BYTE)(src)) == 0;
                    921:        regs.n = ((BYTE)(src)) < 0;
                    922:        put_byte(dsta,src);
                    923: }}}}
                    924: void op_11d8(UWORD opcode)
                    925: {
                    926:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    927: {{     CPTR srca = regs.a[srcreg];
                    928:        BYTE src = get_byte(srca);
                    929: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                    930: {      CPTR dsta = (LONG)(WORD)nextiword();
                    931:        regs.v = regs.c = 0;
                    932:        regs.z = ((BYTE)(src)) == 0;
                    933:        regs.n = ((BYTE)(src)) < 0;
                    934:        put_byte(dsta,src);
                    935: }}}}}
                    936: void op_11e0(UWORD opcode)
                    937: {
                    938:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    939: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                    940: {      CPTR srca = regs.a[srcreg];
                    941:        BYTE src = get_byte(srca);
                    942: {      CPTR dsta = (LONG)(WORD)nextiword();
                    943:        regs.v = regs.c = 0;
                    944:        regs.z = ((BYTE)(src)) == 0;
                    945:        regs.n = ((BYTE)(src)) < 0;
                    946:        put_byte(dsta,src);
                    947: }}}}}
                    948: void op_11e8(UWORD opcode)
                    949: {
                    950:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    951: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                    952:        BYTE src = get_byte(srca);
                    953: {      CPTR dsta = (LONG)(WORD)nextiword();
                    954:        regs.v = regs.c = 0;
                    955:        regs.z = ((BYTE)(src)) == 0;
                    956:        regs.n = ((BYTE)(src)) < 0;
                    957:        put_byte(dsta,src);
                    958: }}}}
                    959: void op_11f0(UWORD opcode)
                    960: {
                    961:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                    962: {{     CPTR srca = regs.a[srcreg];
                    963:        UWORD srcdp = nextiword();
                    964:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                    965: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                    966:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                    967:        srca += srcdpr;
                    968: {      BYTE src = get_byte(srca);
                    969: {      CPTR dsta = (LONG)(WORD)nextiword();
                    970:        regs.v = regs.c = 0;
                    971:        regs.z = ((BYTE)(src)) == 0;
                    972:        regs.n = ((BYTE)(src)) < 0;
                    973:        put_byte(dsta,src);
                    974: }}}}}}
                    975: void op_11f8(UWORD opcode)
                    976: {
                    977: {{     CPTR srca = (LONG)(WORD)nextiword();
                    978:        BYTE src = get_byte(srca);
                    979: {      CPTR dsta = (LONG)(WORD)nextiword();
                    980:        regs.v = regs.c = 0;
                    981:        regs.z = ((BYTE)(src)) == 0;
                    982:        regs.n = ((BYTE)(src)) < 0;
                    983:        put_byte(dsta,src);
                    984: }}}}
                    985: void op_11f9(UWORD opcode)
                    986: {
                    987: {{     CPTR srca = nextilong();
                    988:        BYTE src = get_byte(srca);
                    989: {      CPTR dsta = (LONG)(WORD)nextiword();
                    990:        regs.v = regs.c = 0;
                    991:        regs.z = ((BYTE)(src)) == 0;
                    992:        regs.n = ((BYTE)(src)) < 0;
                    993:        put_byte(dsta,src);
                    994: }}}}
                    995: void op_11fa(UWORD opcode)
                    996: {
                    997: {{     CPTR srca = m68k_getpc();
                    998:        srca += (LONG)(WORD)nextiword();
                    999: {      BYTE src = get_byte(srca);
                   1000: {      CPTR dsta = (LONG)(WORD)nextiword();
                   1001:        regs.v = regs.c = 0;
                   1002:        regs.z = ((BYTE)(src)) == 0;
                   1003:        regs.n = ((BYTE)(src)) < 0;
                   1004:        put_byte(dsta,src);
                   1005: }}}}}
                   1006: void op_11fb(UWORD opcode)
                   1007: {
                   1008: {{     CPTR srca = m68k_getpc();
                   1009:        UWORD srcdp = nextiword();
                   1010:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                   1011: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                   1012:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                   1013:        srca += srcdpr;
                   1014: {      BYTE src = get_byte(srca);
                   1015: {      CPTR dsta = (LONG)(WORD)nextiword();
                   1016:        regs.v = regs.c = 0;
                   1017:        regs.z = ((BYTE)(src)) == 0;
                   1018:        regs.n = ((BYTE)(src)) < 0;
                   1019:        put_byte(dsta,src);
                   1020: }}}}}}
                   1021: void op_11fc(UWORD opcode)
                   1022: {
                   1023: {{     BYTE src = nextiword();
                   1024: {      CPTR dsta = (LONG)(WORD)nextiword();
                   1025:        regs.v = regs.c = 0;
                   1026:        regs.z = ((BYTE)(src)) == 0;
                   1027:        regs.n = ((BYTE)(src)) < 0;
                   1028:        put_byte(dsta,src);
                   1029: }}}}
                   1030: void op_13c0(UWORD opcode)
                   1031: {
                   1032:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1033: {{     BYTE src = regs.d[srcreg];
                   1034: {      CPTR dsta = nextilong();
                   1035:        regs.v = regs.c = 0;
                   1036:        regs.z = ((BYTE)(src)) == 0;
                   1037:        regs.n = ((BYTE)(src)) < 0;
                   1038:        put_byte(dsta,src);
                   1039: }}}}
                   1040: void op_13d0(UWORD opcode)
                   1041: {
                   1042:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1043: {{     CPTR srca = regs.a[srcreg];
                   1044:        BYTE src = get_byte(srca);
                   1045: {      CPTR dsta = nextilong();
                   1046:        regs.v = regs.c = 0;
                   1047:        regs.z = ((BYTE)(src)) == 0;
                   1048:        regs.n = ((BYTE)(src)) < 0;
                   1049:        put_byte(dsta,src);
                   1050: }}}}
                   1051: void op_13d8(UWORD opcode)
                   1052: {
                   1053:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1054: {{     CPTR srca = regs.a[srcreg];
                   1055:        BYTE src = get_byte(srca);
                   1056: {      regs.a[srcreg] += (srcreg == 7) ? 2 : 1;
                   1057: {      CPTR dsta = nextilong();
                   1058:        regs.v = regs.c = 0;
                   1059:        regs.z = ((BYTE)(src)) == 0;
                   1060:        regs.n = ((BYTE)(src)) < 0;
                   1061:        put_byte(dsta,src);
                   1062: }}}}}
                   1063: void op_13e0(UWORD opcode)
                   1064: {
                   1065:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1066: {{     regs.a[srcreg] -= (srcreg == 7) ? 2 : 1;
                   1067: {      CPTR srca = regs.a[srcreg];
                   1068:        BYTE src = get_byte(srca);
                   1069: {      CPTR dsta = nextilong();
                   1070:        regs.v = regs.c = 0;
                   1071:        regs.z = ((BYTE)(src)) == 0;
                   1072:        regs.n = ((BYTE)(src)) < 0;
                   1073:        put_byte(dsta,src);
                   1074: }}}}}
                   1075: void op_13e8(UWORD opcode)
                   1076: {
                   1077:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1078: {{     CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
                   1079:        BYTE src = get_byte(srca);
                   1080: {      CPTR dsta = nextilong();
                   1081:        regs.v = regs.c = 0;
                   1082:        regs.z = ((BYTE)(src)) == 0;
                   1083:        regs.n = ((BYTE)(src)) < 0;
                   1084:        put_byte(dsta,src);
                   1085: }}}}
                   1086: void op_13f0(UWORD opcode)
                   1087: {
                   1088:        ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
                   1089: {{     CPTR srca = regs.a[srcreg];
                   1090:        UWORD srcdp = nextiword();
                   1091:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                   1092: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                   1093:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                   1094:        srca += srcdpr;
                   1095: {      BYTE src = get_byte(srca);
                   1096: {      CPTR dsta = nextilong();
                   1097:        regs.v = regs.c = 0;
                   1098:        regs.z = ((BYTE)(src)) == 0;
                   1099:        regs.n = ((BYTE)(src)) < 0;
                   1100:        put_byte(dsta,src);
                   1101: }}}}}}
                   1102: void op_13f8(UWORD opcode)
                   1103: {
                   1104: {{     CPTR srca = (LONG)(WORD)nextiword();
                   1105:        BYTE src = get_byte(srca);
                   1106: {      CPTR dsta = nextilong();
                   1107:        regs.v = regs.c = 0;
                   1108:        regs.z = ((BYTE)(src)) == 0;
                   1109:        regs.n = ((BYTE)(src)) < 0;
                   1110:        put_byte(dsta,src);
                   1111: }}}}
                   1112: void op_13f9(UWORD opcode)
                   1113: {
                   1114: {{     CPTR srca = nextilong();
                   1115:        BYTE src = get_byte(srca);
                   1116: {      CPTR dsta = nextilong();
                   1117:        regs.v = regs.c = 0;
                   1118:        regs.z = ((BYTE)(src)) == 0;
                   1119:        regs.n = ((BYTE)(src)) < 0;
                   1120:        put_byte(dsta,src);
                   1121: }}}}
                   1122: void op_13fa(UWORD opcode)
                   1123: {
                   1124: {{     CPTR srca = m68k_getpc();
                   1125:        srca += (LONG)(WORD)nextiword();
                   1126: {      BYTE src = get_byte(srca);
                   1127: {      CPTR dsta = nextilong();
                   1128:        regs.v = regs.c = 0;
                   1129:        regs.z = ((BYTE)(src)) == 0;
                   1130:        regs.n = ((BYTE)(src)) < 0;
                   1131:        put_byte(dsta,src);
                   1132: }}}}}
                   1133: void op_13fb(UWORD opcode)
                   1134: {
                   1135: {{     CPTR srca = m68k_getpc();
                   1136:        UWORD srcdp = nextiword();
                   1137:        srca += (LONG)(BYTE)(srcdp & 0xFF);
                   1138: {      ULONG srcdpr = srcdp & 0x8000 ? regs.a[(srcdp & 0x7000) >> 12] : regs.d[(srcdp & 0x7000) >> 12];
                   1139:        if (!(srcdp & 0x800)) srcdpr = (LONG)(WORD)srcdpr;
                   1140:        srca += srcdpr;
                   1141: {      BYTE src = get_byte(srca);
                   1142: {      CPTR dsta = nextilong();
                   1143:        regs.v = regs.c = 0;
                   1144:        regs.z = ((BYTE)(src)) == 0;
                   1145:        regs.n = ((BYTE)(src)) < 0;
                   1146:        put_byte(dsta,src);
                   1147: }}}}}}
                   1148: void op_13fc(UWORD opcode)
                   1149: {
                   1150: {{     BYTE src = nextiword();
                   1151: {      CPTR dsta = nextilong();
                   1152:        regs.v = regs.c = 0;
                   1153:        regs.z = ((BYTE)(src)) == 0;
                   1154:        regs.n = ((BYTE)(src)) < 0;
                   1155:        put_byte(dsta,src);
                   1156: }}}}

unix.superglobalmegacorp.com

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