comparison trace.c @ 29:3c14d647bb51

assembler and emulator fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 11 Jul 2018 21:16:06 +0900
parents d34482fd6945
children 7c5379eb406e
comparison
equal deleted inserted replaced
28:d34482fd6945 29:3c14d647bb51
144 restart: 144 restart:
145 printf("v09>"); 145 printf("v09>");
146 fgets(s, sizeof(s)-1, stdin); 146 fgets(s, sizeof(s)-1, stdin);
147 s[strlen(s)-1] = 0; // chop 147 s[strlen(s)-1] = 0; // chop
148 switch (s[0]) { 148 switch (s[0]) {
149 default:
150 case 'n': // step over 149 case 'n': // step over
151 if (nexti()) { 150 if (nexti()) {
152 bpskip = -1; 151 bpskip = -1;
153 break; 152 break;
154 } 153 }
154 default:
155 case 's': // one step trace 155 case 's': // one step trace
156 trskip = 1; 156 trskip = 1;
157 if (s[1]) { 157 if (s[1]) {
158 trskip = getarg(s+1,0); 158 trskip = getarg(s+1,0);
159 } 159 }
379 { 379 {
380 if (op2==0x3f) { // os9 system call 380 if (op2==0x3f) { // os9 system call
381 ofs=3; break; 381 ofs=3; break;
382 } 382 }
383 } 383 }
384 break;
384 case 0x11: // page3 385 case 0x11: // page3
385 { 386 {
386 if (op2==0x3f) { // SWI3 387 if (op2==0x3f) { // SWI3
387 ofs=2; break; 388 ofs=2; break;
388 } 389 }
389 } 390 }
391 break;
390 case 0x3f: // SWI 392 case 0x3f: // SWI
391 ofs=1; break; 393 ofs=1; break;
392 case 0x3c: // CWAI 394 case 0x3c: // CWAI
393 case 0x8d: // BSR 395 case 0x8d: // BSR
394 case 0x9d: // JSR direct 396 case 0x9d: // JSR direct