Diff for /np2/generic/unasm.c between versions 1.1 and 1.4

version 1.1, 2004/02/18 02:03:36 version 1.4, 2004/03/07 02:37:40
Line 360  opeana_ea: Line 360  opeana_ea:
                                 if (ptr > term) {                                  if (ptr > term) {
                                         return(0);                                          return(0);
                                 }                                  }
                                 p = set_hex(p, LOADINTELWORD(ptr - 4), 16);                                  p = set_hex(p, LOADINTELDWORD(ptr - 4), 32);
                         }                          }
                         *p++ = ']';                          *p++ = ']';
                         break;                          break;
Line 392  opeana_ea: Line 392  opeana_ea:
                         f = (flag >> UAFLAG_REP) & UAFLAG_REPMASK;                          f = (flag >> UAFLAG_REP) & UAFLAG_REPMASK;
                         if (f) {                          if (f) {
                                 p = set_str(p, rstr.ope[mnemonic]);                                  p = set_str(p, rstr.ope[mnemonic]);
                                 mnemonic = RSTR_REP;                                  mnemonic = RSTR_REP + (f - 1);
                         }                          }
                         f = (flag >> UAFLAG_SOR) & UAFLAG_SOMASK;                          f = (flag >> UAFLAG_SOR) & UAFLAG_SOMASK;
                         if (f) {                          if (f) {
                                 p[0] = rstr.reg[RSTR_SEG][f - 1][0];                                  p[0] = ' ';
                                   p[1] = rstr.reg[RSTR_SEG][f - 1][0];
                                 p[1] = rstr.reg[RSTR_SEG][f - 1][1];                                  p[1] = rstr.reg[RSTR_SEG][f - 1][1];
                                 p[2] = ':';                                  p[3] = ':';
                                 p += 3;                                  p += 4;
                         }                          }
                         break;                          break;
   
Line 430  opeana_ea: Line 431  opeana_ea:
                                 if (ptr > term) {                                  if (ptr > term) {
                                         return(0);                                          return(0);
                                 }                                  }
                                 addr += LOADINTELWORD(ptr - 4);                                  addr += LOADINTELDWORD(ptr - 4);
                                 addr += (ptr - org);                                  addr += (ptr - org);
                                 p = set_hex(p, addr, 32);                                  p = set_hex(p, addr, 32);
                         }                          }
                         break;                          break;
   
                 case OP1_FAR:                  case OP1_FAR:
                         ptr += 4;                          if (!(flag & (1 << UAFLAG_D))) {
                         if (ptr > term) {                                  ptr += 4;
                                 return(0);                                  if (ptr > term) {
                                           return(0);
                                   }
                                   p = set_hex(p, LOADINTELWORD(ptr - 2), 16);
                                   *p++ = ':';
                                   p = set_hex(p, LOADINTELWORD(ptr - 4), 16);
                           }
                           else {
                                   ptr += 6;
                                   if (ptr > term) {
                                           return(0);
                                   }
                                   p = set_hex(p, LOADINTELWORD(ptr - 2), 16);
                                   *p++ = ':';
                                   p = set_hex(p, LOADINTELDWORD(ptr - 6), 32);
                         }                          }
                         p = set_hex(p, LOADINTELWORD(ptr - 2), 16);  
                         *p++ = ':';  
                         p = set_hex(p, LOADINTELWORD(ptr - 4), 16);  
                         break;                          break;
   
                 case OP1_I10:                  case OP1_I10:
Line 475  opeana_ea: Line 487  opeana_ea:
                         goto opeana_ea;                          goto opeana_ea;
   
                 case OP1_REx:                  case OP1_REx:
                         p = set_reg(p, RSTR_32 + (ope & 7));                          p = set_reg(p, (RSTR_32 << 3) + (ope & 7));
                         p[0] = ',';                          p[0] = ',';
                         p[1] = ' ';                          p[1] = ' ';
                         p[2] = (char)mnemonic;                          p[2] = (char)mnemonic;
Line 492  opeana_ea: Line 504  opeana_ea:
                         p[3] = ',';                          p[3] = ',';
                         p[4] = ' ';                          p[4] = ' ';
                         p += 5;                          p += 5;
                         p = set_reg(p, RSTR_32 + (ope & 7));                          p = set_reg(p, (RSTR_32 << 3) + (ope & 7));
                         mnemonic = RSTR_MOV;                          mnemonic = RSTR_MOV;
                         break;                          break;
   

Removed from v.1.1  
changed lines
  Added in v.1.4


RetroPC.NET-CVS <cvs@retropc.net>