comparison src/trace.c @ 189:f524c0c95559

add instros9 source and break instruction
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 04 Dec 2023 09:11:10 +0900
parents 6f7276831219
children b93996f54090
comparison
equal deleted inserted replaced
188:d9dbd943db21 189:f524c0c95559
29 unsigned char xmbuf[132]; 29 unsigned char xmbuf[132];
30 int xidx; 30 int xidx;
31 int acknak; 31 int acknak;
32 int rcvdnak; 32 int rcvdnak;
33 int blocknum; 33 int blocknum;
34 extern int timer;
34 35
35 extern FILE *logfile; 36 extern FILE *logfile;
36 extern FILE *infile; 37 extern FILE *infile;
37 extern FILE *xfile; 38 extern FILE *xfile;
38 extern FILE *disk[]; 39 extern FILE *disk[];
39 40
40 extern void hexadump( unsigned char *b, int l, int loc, int w); 41 extern void hexadump( unsigned char *b, int l, int loc, int w);
41 extern int disasm(int,int); 42 extern int disasm(int,int);
42 extern void restore_term(void) ; 43 extern void restore_term(void) ;
44 extern void start_timer(void) ;
45 extern void stop_timer(void) ;
43 46
44 #ifdef USE_MMU 47 #ifdef USE_MMU
45 extern char *prog ; // for disass 48 extern char *prog ; // for disass
46 extern Byte * mem0(Byte *iphymem, Word adr, Byte *immu) ; 49 extern Byte * mem0(Byte *iphymem, Word adr, Byte *immu) ;
47 extern int paddr(Word adr, Byte *immu) ; 50 extern int paddr(Word adr, Byte *immu) ;
134 " S file set input file\n" 137 " S file set input file\n"
135 " X exit\n" 138 " X exit\n"
136 " q exit\n" 139 " q exit\n"
137 " U file upload from srecord file \n" 140 " U file upload from srecord file \n"
138 " D file download to srecord file \n" 141 " D file download to srecord file \n"
142 " T stop/start timer \n"
139 " R do reset\n" 143 " R do reset\n"
144 " put 0x41 instruction for break \n"
140 " h,? print this\n" 145 " h,? print this\n"
141 ); 146 );
142 } 147 }
143 148
144 149
345 fclose(infile); 350 fclose(infile);
346 infile = 0; 351 infile = 0;
347 if (s[1]) { 352 if (s[1]) {
348 int i=1; while(s[i]==' ') i++; 353 int i=1; while(s[i]==' ') i++;
349 infile = fopen(s + i, "r"); 354 infile = fopen(s + i, "r");
355 }
356 goto restart;
357 break;
358 case 'T':
359 if (timer) {
360 stop_timer(); timer = 0;
361 printf("timer off\n");
362 } else {
363 start_timer(); timer = 3;
364 printf("timer on\n");
350 } 365 }
351 goto restart; 366 goto restart;
352 break; 367 break;
353 case 'h': 368 case 'h':
354 case '?': 369 case '?':