comparison engine.c @ 53:fe88cea67ef0

clock interrupt get time
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 22 Jul 2018 17:55:06 +0900
parents 5217f23f2f9e
children
comparison
equal deleted inserted replaced
52:51b437557f42 53:fe88cea67ef0
246 Byte *phyadr = mem0(phymem,ipcreg,immu); 246 Byte *phyadr = mem0(phymem,ipcreg,immu);
247 prog = (char *)(phyadr - ipcreg); 247 prog = (char *)(phyadr - ipcreg);
248 #endif 248 #endif
249 do_trace(tracefile); 249 do_trace(tracefile);
250 } 250 }
251 if(escape){ SAVEREGS do_escape(); LOADREGS }
252 if(irq) { 251 if(irq) {
253 if(irq==1&&!(iccreg&0x10)) { /* standard IRQ */ 252 if(irq==1&&!(iccreg&0x10)) { /* standard IRQ */
254 PUSHWORD(ipcreg) 253 PUSHWORD(ipcreg)
255 PUSHWORD(iureg) 254 PUSHWORD(iureg)
256 PUSHWORD(iyreg) 255 PUSHWORD(iyreg)
272 } 271 }
273 if(!tracing)attention=0; 272 if(!tracing)attention=0;
274 irq=0; 273 irq=0;
275 } 274 }
276 } 275 }
276 if(escape){ SAVEREGS do_escape(); LOADREGS }
277 iflag=0; 277 iflag=0;
278 flaginstr: /* $10 and $11 instructions return here */ 278 flaginstr: /* $10 and $11 instructions return here */
279 ireg=mem(ipcreg++); 279 ireg=mem(ipcreg++);
280 if(haspostbyte[ireg]) { 280 if(haspostbyte[ireg]) {
281 Byte postbyte=mem(ipcreg++); 281 Byte postbyte=mem(ipcreg++);