simulavr  1.1.0
decoder_trace.cpp
Go to the documentation of this file.
1 /*
2  ****************************************************************************
3  *
4  * simulavr - A simulator for the Atmel AVR family of microcontrollers.
5  * Copyright (C) 2001, 2002, 2003 Klaus Rudolph
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program; if not, write to the Free Software Foundation, Inc.,
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20  *
21  ****************************************************************************
22  *
23  * $Id$
24  */
25 
26 #include "types.h"
27 #include "decoder.h"
28 #include "avrdevice.h"
29 
30 #include "hwsreg.h"
31 #include "helper.h"
32 #include "flash.h"
33 #include "rwmem.h"
34 #include "ioregs.h"
35 #include "avrerror.h"
36 
37 #define MONSREG traceOut << (string)(*(core->status))
38 
39 using namespace std;
40 
42 #define INDEX_FROM_BITMASK(mask) \
43  ( (mask) == 0x01 ? 0 \
44  : (mask) == 0x02 ? 1 \
45  : (mask) == 0x04 ? 2 \
46  : (mask) == 0x08 ? 3 \
47  : (mask) == 0x10 ? 4 \
48  : (mask) == 0x20 ? 5 \
49  : (mask) == 0x40 ? 6 \
50  : (mask) == 0x80 ? 7 \
51  : abort_in_expression() )
52 
54 {
55  abort();
56  return 0;
57 }
58 
60  traceOut << "ADC R" << (int)R1 << ", R" << (int)R2 << " ";
61  int ret = this->operator()();
62  MONSREG;
63  return ret;
64 }
65 
67  traceOut << "ADD R" << (int)R1 << ", R" << (int)R2 << " ";
68  int ret = this->operator()();
69  MONSREG;
70  return ret;
71 }
72 
74  traceOut << "ADIW R" << (int)Rl << ", " << (int)K << " ";
75  int ret = this->operator()();
76  MONSREG;
77  return ret;
78 }
79 
81  traceOut << "AND R" << (int)R1 << ", R" << (int)R2 << " ";
82  int ret=this->operator()();
83  MONSREG;
84  return ret;
85 }
86 
88  traceOut << "ANDI R" << (int)R1 << ", " << HexChar(K) << " ";
89  int ret=this->operator()();
90  MONSREG;
91  return ret;
92 }
93 
95  traceOut << "ASR R" << (int)R1 << " ";
96  int ret = this->operator()();
97  MONSREG;
98  return ret;
99 }
100 
101 const char *opcodes_bclr[8]= {
102  "CLC",
103  "CLZ",
104  "CLN",
105  "CLV",
106  "CLS",
107  "CLH",
108  "CLT",
109  "CLI"
110 };
111 
113  traceOut << opcodes_bclr[Kbit] << " ";
114  int ret = this->operator()();
115  MONSREG;
116  return ret;
117 }
118 
120  traceOut << "BLD R" << (int)R1 << ", " << (int)Kbit << " ";
121  int ret = this->operator()();
122  return ret;
123 }
124 
125 const char *branch_opcodes_clear[8] = {
126  "BRCC",
127  "BRNE",
128  "BRPL",
129  "BRVC",
130  "BRGE",
131  "BRHC",
132  "BRTC",
133  "BRID"
134 };
135 
138  << " ->" << HexShort(offset * 2) << " ";
139  string sym(core->Flash->GetSymbolAtAddress(core->PC+1+offset));
140  int ret = this->operator()();
141 
142  traceOut << sym << " ";
143  for(int len = sym.length(); len < 30; len++)
144  traceOut << " ";
145 
146  return ret;
147 }
148 
149 const char *branch_opcodes_set[8] = {
150  "BRCS",
151  "BREQ",
152  "BRMO",
153  "BRVS",
154  "BRLT",
155  "BRHS",
156  "BRTS",
157  "BRIE"
158 };
159 
162  << " ->" << HexShort(offset * 2) << " ";
163  string sym(core->Flash->GetSymbolAtAddress(core->PC+1+offset));
164  int ret=this->operator()();
165 
166  traceOut << sym << " ";
167  for(int len = sym.length(); len < 30; len++)
168  traceOut << " ";
169 
170  return ret;
171 }
172 
173 const char *opcodes_bset[8]= {
174  "SEC",
175  "SEZ",
176  "SEN",
177  "SEV",
178  "SES",
179  "SEH",
180  "SET",
181  "SEI"
182 };
183 
185  traceOut << opcodes_bset[Kbit] << " ";
186  int ret = this->operator()();
187  MONSREG;
188  return ret;
189 }
190 
192  traceOut << "BST R" << (int)R1 << ", " << (int)Kbit << " ";
193  int ret = this->operator()();
194  MONSREG;
195  return ret;
196 }
197 
199  word K_lsb = core->Flash->ReadMemWord((core->PC + 1) * 2);
200  int k = (KH << 16) | K_lsb;
201  traceOut << "CALL 0x" << hex << k * 2 << dec << " ";
202  int ret = this->operator()();
203  return ret;
204 }
205 
207  traceOut << "CBI " << HexChar(ioreg) << ", " << (int)Kbit << " ";
208  int ret = this->operator()();
209  return ret;
210 }
211 
213  traceOut << "COM R" << (int)R1 << " ";
214  int ret = this->operator()();
215  MONSREG;
216  return ret;
217 }
218 
220  traceOut << "CP R" << (int)R1 << ", R" << (int)R2 << " ";
221  int ret = this->operator()();
222  MONSREG;
223  return ret;
224 }
225 
227  traceOut << "CPC R" << (int)R1 << ", R" << (int)R2 << " ";
228  int ret = this->operator()();
229  MONSREG;
230  return ret;
231 }
232 
234  traceOut << "CPI R" << (int)R1 << ", " << HexChar(K) << " ";
235  int ret = this->operator()();
236  MONSREG;
237  return ret;
238 }
239 
241  traceOut << "CPSE R" << (int)R1 << ", R" << (int)R2 << " ";
242  int ret = this->operator()();
243  return ret;
244 }
245 
247  traceOut << "DEC R" << (int)R1 << " ";
248  int ret = this->operator()();
249  MONSREG;
250  return ret;
251 }
252 
254  traceOut << "EICALL ";
255  int ret = this->operator()();
256  return ret;
257 }
258 
260  traceOut << "EIJMP ";
261  int ret = this->operator()();
262  return ret;
263 }
264 
266  traceOut << "ELPM R" << (int)R1 << ", Z " ;
267  int ret = this->operator()();
268 
269  unsigned char rampz = 0;
270  if(core->rampz != NULL)
271  rampz = core->rampz->GetRegVal();
272  unsigned int Z = (rampz << 16) + core->GetRegZ();
273 
274  traceOut << " Flash[0x" << hex << Z << dec << "] ";
275 
276  return ret;
277 }
278 
280  traceOut << "ELPM R" << (int)R1 << ", Z+ ";
281  unsigned char rampz = 0;
282  if(core->rampz != NULL)
283  rampz = core->rampz->GetRegVal();
284  unsigned int Z = (rampz << 16) + core->GetRegZ();
285  int ret = this->operator()();
286 
287  traceOut << " Flash[0x" << hex << Z << dec << "] ";
288 
289  return ret;
290 }
291 
293  traceOut << "ELPM ";
294  int ret = this->operator()();
295 
296  unsigned char rampz = 0;
297  if(core->rampz != NULL)
298  rampz = core->rampz->GetRegVal();
299  unsigned int Z = (rampz << 16) + core->GetRegZ();
300 
301  traceOut << " Flash[0x" << hex << Z << dec << "] ";
302 
303  return ret;
304 }
305 
307  traceOut << "EOR R" << (int)R1 << ", R" << (int)R2 << " ";
308  int ret = this->operator()();
309  MONSREG;
310  return ret;
311 }
312 
314  traceOut << "SPM Z+ ";
315  int ret = this->operator()();
316  return ret;
317 }
318 
320  traceOut << "FMUL R" << (int)Rd << ", R" << (int)Rr << " ";
321  int ret = this->operator()();
322  MONSREG;
323  return ret;
324 }
325 
327  traceOut << "FMULS R" << (int)Rd << ", R" << (int)Rr << " ";
328  int ret = this->operator()();
329  MONSREG;
330  return ret;
331 }
332 
334  traceOut << "FMULSU R" << (int)Rd << ", R" << (int)Rr << " ";
335  int ret = this->operator()();
336  MONSREG;
337  return ret;
338 }
339 
341  traceOut << "ICALL Z " ;
342  int ret = this->operator()();
343  return ret;
344 }
345 
347  traceOut << "IJMP Z " ;
348  int ret = this->operator()();
349  return ret;
350 }
351 
353  traceOut << "IN R" << (int)R1 << ", " << HexChar(ioreg) << " ";
354  int ret = this->operator()();
355  return ret;
356 }
357 
359  traceOut << "INC R" << (int)R1 << " ";
360  int ret = this->operator()();
361  MONSREG;
362  return ret;
363 }
364 
366  traceOut << "JMP ";
367  word offset = core->Flash->ReadMemWord((core->PC + 1) * 2); //this is k!
368  int ret = this->operator()();
369  traceOut << hex << 2 * offset << dec << " ";
370 
371  string sym(core->Flash->GetSymbolAtAddress(offset));
372  traceOut << sym << " ";
373  for(int len = sym.length(); len < 30; len++)
374  traceOut << " " ;
375 
376  return ret;
377 }
378 
380  traceOut << "LDD R" << (int)Rd << ", Y+" << (int)K << " ";
381  int ret = this->operator()();
382  return ret;
383 }
384 
386  traceOut << "LDD R" << (int)Rd << ", Z+" << (int)K << " ";
387  int ret = this->operator()();
388  return ret;
389 }
390 
392  traceOut << "LDI R" << (int)R1 << ", " << HexChar(K) << " ";
393  int ret = this->operator()();
394  return ret;
395 }
396 
398  word offset = core->Flash->ReadMemWord((core->PC + 1) * 2); //this is k!
399  traceOut << "LDS R" << (int)R1 << ", " << hex << "0x" << offset << dec << " ";
400  int ret = this->operator()();
401  return ret;
402 }
403 
405  traceOut << "LD R" << (int)Rd << ", X ";
406  int ret = this->operator()();
407  return ret;
408 }
409 
411  traceOut << "LD R" << (int)Rd << ", -X ";
412  int ret = this->operator()();
413  return ret;
414 }
415 
417  traceOut << "LD R" << (int)Rd << ", X+ ";
418  int ret = this->operator()();
419  return ret;
420 }
421 
423  traceOut << "LD R" << (int)Rd << ", -Y ";
424  int ret = this->operator()();
425  return ret;
426 }
427 
429  traceOut << "LD R" << (int)Rd << ", Y+ " ;
430  int ret = this->operator()();
431  return ret;
432 }
433 
435  traceOut << "LD R" << (int)Rd << ", Z+ ";
436  int ret = this->operator()();
437  return ret;
438 }
439 
441  traceOut << "LD R" << (int)Rd << ", -Z";
442  int ret = this->operator()();
443  return ret;
444 }
445 
447  traceOut << "LPM R" << (int)Rd << ", Z ";
448  int ret = this->operator()();
449 
450  /* Z is R31:R30 */
451  unsigned int Z = core->GetRegZ();
452  string sym(core->Flash->GetSymbolAtAddress(Z));
453  traceOut << "FLASH[" << hex << Z << dec << "," << sym << "] ";
454 
455  return ret;
456 }
457 
459  traceOut << "LPM R0, Z ";
460  int ret = this->operator()();
461 
462  /* Z is R31:R30 */
463  unsigned int Z = core->GetRegZ();
464  string sym(core->Flash->GetSymbolAtAddress(Z));
465  traceOut << "FLASH[" << hex << Z << dec << "," << sym << "] ";
466 
467  return ret;
468 }
469 
471  traceOut << "LPM R" << (int)Rd << ", Z+ " ;
472  /* Z is R31:R30 */
473  unsigned int Z = core->GetRegZ();
474  int ret = this->operator()();
475 
476  string sym(core->Flash->GetSymbolAtAddress(Z));
477  traceOut << "FLASH[" << hex << Z << dec << "," << sym << "] ";
478  return ret;
479 }
480 
482  traceOut << "LSR R" << (int)Rd << " ";
483  int ret = this->operator()();
484  MONSREG;
485  return ret;
486 }
487 
489  traceOut << "MOV R" << (int)R1 << ", R" << (int)R2 << " ";
490  int ret = this->operator()();
491  return ret;
492 }
493 
495  traceOut << "MOVW R" << (int)Rd << ", R" << (int)Rs << " ";
496  int ret = this->operator()();
497  return ret;
498 }
499 
501  traceOut << "MUL R" << (int)Rd << ", R" << (int)Rr << " ";
502  int ret = this->operator()();
503  MONSREG;
504  return ret;
505 }
506 
508  traceOut << "MULS R" << (int)Rd << ", R" << (int)Rr << " ";
509  int ret = this->operator()();
510  MONSREG;
511  return ret;
512 }
513 
515  traceOut << "MULSU R" << (int)Rd << ", R" << (int)Rr << " ";
516  int ret = this->operator()();
517  MONSREG;
518  return ret;
519 }
520 
522  traceOut << "NEG R" << (int)Rd <<" ";
523  int ret = this->operator()();
524  MONSREG;
525  return ret;
526 }
527 
529  traceOut << "NOP ";
530  int ret = this->operator()();
531  return ret;
532 }
533 
535  traceOut << "OR R" << (int)Rd << ", R" << (int)Rr << " ";
536  int ret = this->operator()();
537  MONSREG;
538  return ret;
539 }
540 
542  traceOut << "ORI R" << (int)R1 << ", " << HexChar(K) << " ";
543  int ret = this->operator()();
544  MONSREG;
545  return ret;
546 }
547 
549  traceOut << "OUT " << HexChar(ioreg) << ", R" << (int)R1 << " ";
550  int ret = this->operator()();
551  return ret;
552 }
553 
555  traceOut << "POP R" << (int)R1 << " ";
556  int ret = this->operator()();
557  return ret;
558 }
559 
561  traceOut << "PUSH R" << (int)R1 << " ";
562  int ret = this->operator()();
563  return ret;
564 }
565 
567  traceOut << "RCALL " << hex << ((core->PC + K + 1) << 1) << dec << " ";
568  int ret = this->operator()();
569  return ret;
570 }
571 
573  traceOut << "RET " ;
574  int ret = this->operator()();
575  return ret;
576 }
577 
579  traceOut << "RETI ";
580  int ret = this->operator()();
581  return ret;
582 }
583 
585  traceOut << "RJMP " << hex << ((core->PC + K + 1) << 1) << dec << " ";
586  int ret = this->operator()();
587  return ret;
588 }
589 
591  traceOut << "ROR R" << (int)R1 << " ";
592  int ret = this->operator()();
593  MONSREG;
594  return ret;
595 }
596 
598  traceOut << "SBC R" << (int)R1 << ", R" << (int)R2 << " ";
599  int ret = this->operator()();
600  MONSREG;
601  return ret;
602 }
603 
605  traceOut << "SBCI R" << (int)R1 << ", " << HexChar(K) << " ";
606  int ret = this->operator()();
607  MONSREG;
608  return ret;
609 }
610 
612  traceOut << "SBI " << HexChar(ioreg) << ", " << (int)Kbit << " ";
613  int ret = this->operator()();
614  return ret;
615 }
616 
618  traceOut << "SBIC " << HexChar(ioreg) << ", " << (int)Kbit << " ";
619  int ret = this->operator()();
620  return ret;
621 }
622 
624  traceOut << "SBIS " << HexChar(ioreg) << ", " << (int)Kbit << " ";
625  int ret = this->operator()();
626  return ret;
627 }
628 
630  traceOut << "SBIW R" << (int)R1 << ", " << HexChar(K) << " ";
631  int ret=this->operator()();
632  MONSREG;
633  return ret;
634 }
635 
637  traceOut << "SBRC R" << (int)R1 << ", " << (int)Kbit << " ";
638  int ret = this->operator()();
639  return ret;
640 }
641 
643  traceOut << "SBRS R" << (int)R1 << ", " << (int)Kbit << " ";
644  int ret = this->operator()();
645  return ret;
646 }
647 
649  traceOut << "SLEEP " ;
650  int ret = this->operator()();
651  return ret;
652 }
653 
655  traceOut << "SPM " ;
656  int ret = this->operator()();
657  return ret;
658 }
659 
661  traceOut << "STD Y+" << (int)K << ", R" << (int)R1 << " ";
662  int ret = this->operator()();
663  return ret;
664 }
665 
667  traceOut << "STD Z+" << (int)K << ", R" << (int)R1 << " ";
668  int ret = this->operator()();
669  return ret;
670 }
671 
673  word offset = core->Flash->ReadMemWord((core->PC + 1) * 2); //this is k!
674  traceOut << "STS " << "0x" << hex << offset << dec << ", R" << (int)R1 << " ";
675  int ret = this->operator()();
676  return ret;
677 }
678 
680  traceOut << "ST X, R" << (int)R1 << " ";
681  int ret = this->operator()();
682  return ret;
683 }
684 
686  traceOut << "ST -X, R" << (int)R1 << " ";
687  int ret = this->operator()();
688  return ret;
689 }
690 
692  traceOut << "ST X+, R" << (int)R1 << " ";
693  int ret = this->operator()();
694  return ret;
695 }
696 
698  traceOut << "ST -Y, R" << (int)R1 << " ";
699  int ret = this->operator()();
700  return ret;
701 }
702 
704  traceOut << "ST Y+, R" << (int)R1 << " ";
705  int ret = this->operator()();
706  return ret;
707 }
708 
710  traceOut << "ST -Z, R" << (int)R1 << " ";
711  int ret = this->operator()();
712  return ret;
713 }
714 
716  traceOut << "ST Z+, R" << (int)R1 << " ";
717  int ret = this->operator()();
718  return ret;
719 }
720 
722  traceOut << "SUB R" << (int)R1 << ", R" << (int)R2 << " ";
723  int ret = this->operator()();
724  MONSREG;
725  return ret;
726 }
727 
729  traceOut << "SUBI R" << (int)R1 << ", " << HexChar(K) << " ";
730  int ret = this->operator()();
731  MONSREG;
732  return ret;
733 }
734 
736  traceOut << "SWAP R" << (int)R1 << " ";
737  int ret = this->operator()();
738  return ret;
739 }
740 
742  traceOut << "WDR ";
743  int ret = this->operator()();
744  return ret;
745 }
746 
748  traceOut << "BREAK ";
749  int ret = this->operator()();
750  return ret;
751 }
752 
754  traceOut << "Invalid Instruction! ";
755  int ret = this->operator()();
756  return ret;
757 }
758 
759 /* EOF */
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int abort_in_expression()
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
#define INDEX_FROM_BITMASK(mask)
Calculate index from mask so that (1<<index)==mask. Crash on incorrect values.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
unsigned short word
Definition: types.h:27
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
#define traceOut
Definition: avrerror.h:121
int Trace()
Performs instruction and write out instruction mnemonic for trace.
STL namespace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
const char * branch_opcodes_clear[8]
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
Definition: helper.h:31
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
const char * opcodes_bset[8]
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
const char * opcodes_bclr[8]
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
#define MONSREG
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
const char * branch_opcodes_set[8]
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.
int Trace()
Performs instruction and write out instruction mnemonic for trace.