Previous 199869 Revisions Next

r34035 Tuesday 23rd December, 2014 at 16:55:13 UTC by David Haywood
(nw)
[src/emu/cpu/arcompact]arcompact_execute.c

trunk/src/emu/cpu/arcompact/arcompact_execute.c
r242546r242547
12601260}
12611261
12621262ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_02(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRLT"); }
1263ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_03(OPS_32)  { return arcompact_01_01_00_helper( PARAMS, "BRGE"); }
1263ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_03(OPS_32) // register - register BRGE
1264{
1265   BR_REGREG_SETUP
1266   
1267   // BRGE  (signed operation)
1268   if ((INT32)b >= (INT32)c)
1269   {
1270      BR_TAKEJUMP
1271   }
1272   
1273   return m_pc + (size>>0);
1274}
12641275
12651276ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_00_04(OPS_32) // register - register BRLO
12661277{
r242546r242547
13641375   return m_pc + (size>>0);
13651376
13661377}
1367ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_03(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRGE"); }
1378ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_03(OPS_32)
1379{
1380   BR_REGIMM_SETUP
1381   
1382   // BRGE  (signed operation)
1383   if ((INT32)b >= (INT32)c)
1384   {
1385      BR_TAKEJUMP
1386   }
1387   
1388   return m_pc + (size>>0);
1389}
1390
13681391ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_04(OPS_32)  { return arcompact_01_01_01_helper(PARAMS, "BRLO"); }
13691392
13701393ARCOMPACT_RETTYPE arcompact_device::arcompact_handle01_01_01_05(OPS_32) // register - immediate BRHS
r242546r242547
25292552   {
25302553   }
25312554
2555   arcompact_log("unimplemented %s %08x (type 04_2f)", optext, op);
25322556   return m_pc + (size>>0);
25332557}
25342558
r242546r242547
27762800   return arcompact_handle0d_helper(PARAMS, "SUB_S");
27772801}
27782802
2779ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_02(OPS_16)
2803ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_02(OPS_16) // ASL_S c, b asl u3   (note, c destination)
27802804{
2781   return arcompact_handle0d_helper(PARAMS, "ASL_S");
2805   int u, breg, creg;
2806
2807   COMMON16_GET_u3;
2808   COMMON16_GET_breg;
2809   COMMON16_GET_creg;
2810
2811   REG_16BIT_RANGE(breg);
2812   REG_16BIT_RANGE(creg);
2813
2814   m_regs[creg] = m_regs[breg] << u;
2815
2816   return m_pc + (2 >> 0);
27822817}
27832818
27842819ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0d_03(OPS_16)
r242546r242547
29182953}
29192954
29202955
2921ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_07(OPS_16)  { arcompact_log("J_S.D [blink]"); return m_pc + (2 >> 0);}
2956ARCOMPACT_RETTYPE arcompact_device::arcompact_handle0f_00_07_07(OPS_16) // J_S.D [blink]
2957{
2958   m_delayactive = 1;
2959   m_delayjump = m_regs[REG_BLINK];
2960   m_delaylinks = 0;
2961   
2962   return m_pc + (2 >> 0);
2963}
29222964
29232965
29242966
r242546r242547
31103152   return m_pc + (2 >> 0);
31113153}
31123154
3113ARCOMPACT_RETTYPE arcompact_device::arcompact_handle15(OPS_16)
3155ARCOMPACT_RETTYPE arcompact_device::arcompact_handle15(OPS_16) // STB_S c. [b, u6]
31143156{
3115   return arcompact_handle_ld_helper(PARAMS, "STB_S", 0, 1);
3157   int breg, creg, u;
3158
3159   COMMON16_GET_breg;
3160   COMMON16_GET_creg;
3161   COMMON16_GET_u5;
3162
3163   REG_16BIT_RANGE(breg);
3164   REG_16BIT_RANGE(creg);
3165
3166//   u <<= 0;
3167
3168   WRITE8((m_regs[breg] + u) >> 0, m_regs[creg]);
3169
3170   return m_pc + (2 >> 0);
31163171}
31173172
31183173ARCOMPACT_RETTYPE arcompact_device::arcompact_handle16(OPS_16) // STW_S c. [b, u6]


Previous 199869 Revisions Next


© 1997-2024 The MAME Team