Previous 199869 Revisions Next

r33695 Friday 5th December, 2014 at 17:21:39 UTC by David Haywood
arcompact: dasm of push/pop instructions show we're on the right track, you can see the start/end of functions in the code (nw)
[src/emu/cpu/arcompact]arcompactdasm.c

trunk/src/emu/cpu/arcompact/arcompactdasm.c
r242206r242207
120120   /* 0f */ "<BBIT1>"
121121};
122122
123static const char *table18[0x8] =
124{
125   /* 00 */ "LD_S (SP)",
126   /* 01 */ "LDB_S (SP)",
127   /* 02 */ "ST_S (SP)",
128   /* 03 */ "STB_S (SP)",
129   /* 04 */ "ADD_S (SP)",
130   /* 05 */ "ADD_S/SUB_S (SP)",
131   /* 06 */ "POP_S (SP)",
132   /* 07 */ "PUSH_S (SP)",
123133
134};
135
136
137
124138#define ARCOMPACT_OPERATION ((op & 0xf800) >> 11)
125139
126140CPU_DISASSEMBLE(arcompact)
r242206r242207
233247     
234248   }
235249   else
236   {
250   {   
237251      size = 2;
238      print("%s (%04x)", basic[instruction], op & ~0xf800 );
252
253      switch (instruction)
254      {
255         case 0x18:
256         {
257            // Stack Pointer Based Instructions (16-bit)
258            // 11000 bbb iii uuuuu
259            UINT8 subinstr = (op & 0x00e0) >> 5;
260            print("%s (%04x)", table18[subinstr], op & ~0xf8e0);
261            break;
262
263         }
264
265         default:
266            print("%s (%04x)", basic[instruction], op & ~0xf800);
267            break;
268      }
239269   }
240270
241271


Previous 199869 Revisions Next


© 1997-2024 The MAME Team