* interp.c (sim_monitor): Handle Densan monitor outbyte
authorMark Alexander <marka@cygnus>
Mon, 5 Jan 1998 23:43:30 +0000 (23:43 +0000)
committerMark Alexander <marka@cygnus>
Mon, 5 Jan 1998 23:43:30 +0000 (23:43 +0000)
and inbyte functions.

sim/mips/ChangeLog
sim/mips/interp.c

index 8c8f690f13e32431848e3a8959d9427c2ebad046..2cbb7412e2a347a9b0bd2044cdf52a7c5850ba96 100644 (file)
@@ -1,3 +1,8 @@
+Mon Jan  5 20:38:54 1998  Mark Alexander  <marka@cygnus.com>
+
+       * interp.c (sim_monitor): Handle Densan monitor outbyte
+       and inbyte functions.
+
 1997-12-29  Felix Lee  <flee@cygnus.com>
 
        * interp.c (sim_engine_run): msvc cpp barfs on #if (a==b!=c).
index 59de19baeb6ada5d2ff8548821f245a97bf503d4..fe17645c940b41e317a7dba8267c26a440c5a952 100644 (file)
@@ -765,6 +765,13 @@ sim_monitor(sd,cia,reason)
        break;
       }
 
+    case 2:  /* Densan monitor: char inbyte(int waitflag) */
+      {
+       if (A0 == 0)    /* waitflag == NOWAIT */
+         V0 = (ut_reg)-1;
+      }
+     /* Drop through to case 11 */
+
     case 11: /* char inbyte(void) */
       {
         char tmp;
@@ -778,6 +785,7 @@ sim_monitor(sd,cia,reason)
        break;
       }
 
+    case 3:  /* Densan monitor: void co(char chr) */
     case 12: /* void outbyte(char chr) : write a byte to "stdout" */
       {
         char tmp = (char)(A0 & 0xFF);