/[smarc]/smarc/src/despasm/despasm.cc
ViewVC logotype

Diff of /smarc/src/despasm/despasm.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by batonik, Thu Jan 2 21:42:58 2003 UTC revision 1.3 by batonik, Fri Jan 3 00:02:06 2003 UTC
# Line 2  Line 2 
2          $Id$          $Id$
3  */  */
4    
5    #include "exception.h"
6  #include "despasm.h"  #include "despasm.h"
7  #include <stdio.h>  #include <stdio.h>
8    
# Line 94  despasm::despasm ( vector<unsigned long> Line 95  despasm::despasm ( vector<unsigned long>
95          for (unsigned long i = 0; i < spasm_code.size(); i++)          for (unsigned long i = 0; i < spasm_code.size(); i++)
96          {          {
97                  adres = i * 4;                  adres = i * 4;
98                  rozkaz = bit_word(spasm_code[i]);                  try {
99                            rozkaz = bit_word(spasm_code[i]);
100                    } catch ( ex<vmachine> exc) {
101                            throw ex<despasm> ("despasm::despasm : " + exc.error_msg());
102                    }
103    
104                  memset(bufor, 0, DEASM_BUFOR);                  memset(bufor, 0, DEASM_BUFOR);
105                  linia = "";                  linia = "";
# Line 115  despasm::despasm ( vector<unsigned long> Line 120  despasm::despasm ( vector<unsigned long>
120                                  sprintf(bufor, SETHI_FORMAT, (int) rozwinZnak(rozkaz.imm22, 22));                                  sprintf(bufor, SETHI_FORMAT, (int) rozwinZnak(rozkaz.imm22, 22));
121                                  linia += (string) bufor + ", " + rejestr(rozkaz.dst, typ_reg);                                  linia += (string) bufor + ", " + rejestr(rozkaz.dst, typ_reg);
122                                  break;                                  break;
123    
124                          case (instr_word::branch_format):                          case (instr_word::branch_format):
125                                  sprintf(bufor, ADRES_FORMAT, adres + 4 * rozwinZnak(rozkaz.dsp22, 22));                                  sprintf(bufor, ADRES_FORMAT, adres + 4 * rozwinZnak(rozkaz.dsp22, 22));
126                                  linia += bufor;                                  linia += bufor;
127                                  break;                                  break;
128    
129                          case (instr_word::primary_reg):                          case (instr_word::primary_reg):
130                                  regreg += (string) "[ " + rejestr(rozkaz.src1,typ_reg) +                                  regreg += (string) "[ " + rejestr(rozkaz.src1,typ_reg) +
131                                          (string) " + " + rejestr(rozkaz.src2,typ_reg) + (string) " ]";                                          (string) " + " + rejestr(rozkaz.src2,typ_reg) + (string) " ]";

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26