<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>cpu</title>
<meta name='robots' content='noindex,nofollow' />
<meta name='generator' content='GLOBAL-6.6.14' />
<meta http-equiv='Content-Style-Type' content='text/css' />
<link rel='stylesheet' type='text/css' href='../style.css' />
</head>
<body>
<pre>
<span class='curline'><a href='../S/2448.html#L46'>cpu</a> 46 include/struct.h CPU *cpu; /**<CPU */</span>
<span class='curline'><a href='../S/2848.html#L9'>cpu</a> 9 src/dump.c fprintf(stdout, "#%04X: adr :", sys->cpu->pr);</span>
<span class='curline'><a href='../S/2848.html#L22'>cpu</a> 22 src/dump.c fprintf(stdout, "#%04X: %04X: ", sys->cpu->pr, i);</span>
<span class='curline'><a href='../S/2848.html#L40'>cpu</a> 40 src/dump.c char *sp = word2bit(sys->cpu->sp);</span>
<span class='curline'><a href='../S/2848.html#L41'>cpu</a> 41 src/dump.c char *pr = word2bit(sys->cpu->pr);</span>
<span class='curline'><a href='../S/2848.html#L42'>cpu</a> 42 src/dump.c char *fr = word2bit(sys->cpu->fr);</span>
<span class='curline'><a href='../S/2848.html#L47'>cpu</a> 47 src/dump.c fprintf(stdout, "#%04X: GR%d: ", sys->cpu->pr, i);</span>
<span class='curline'><a href='../S/2848.html#L48'>cpu</a> 48 src/dump.c print_dumpword(sys->cpu->gr[i], execmode.logical);</span>
<span class='curline'><a href='../S/2848.html#L51'>cpu</a> 51 src/dump.c fprintf(stdout, "#%04X: SP: %6d = #%04X = %s\n", sys->cpu->pr, sys->cpu->sp, sys->cpu->sp, sp);</span>
<span class='curline'><a href='../S/2848.html#L52'>cpu</a> 52 src/dump.c fprintf(stdout, "#%04X: PR: %6d = #%04X = %s\n", sys->cpu->pr, sys->cpu->pr, sys->cpu->pr, pr);</span>
<span class='curline'><a href='../S/2848.html#L53'>cpu</a> 53 src/dump.c fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n", sys->cpu->pr, fr + L3BIT); /* FRは下位3けたを表示 */</span>
<span class='curline'><a href='../S/2836.html#L103'>cpu</a> 103 src/exec.c sys->memory[sys->cpu->gr[1]] = sys->memory[sys->cpu->gr[2]] = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L111'>cpu</a> 111 src/exec.c if(sys->cpu->gr[1] + i > execptr->end) {</span>
<span class='curline'><a href='../S/2836.html#L115'>cpu</a> 115 src/exec.c sys->memory[sys->cpu->gr[1] + i] = buf[i];</span>
<span class='curline'><a href='../S/2836.html#L117'>cpu</a> 117 src/exec.c sys->memory[sys->cpu->gr[2]] = i + 1;</span>
<span class='curline'><a href='../S/2836.html#L126'>cpu</a> 126 src/exec.c for(i = 0; i < sys->memory[sys->cpu->gr[2]]; i++) {</span>
<span class='curline'><a href='../S/2836.html#L127'>cpu</a> 127 src/exec.c if(sys->cpu->gr[1] + i > execptr->end) {</span>
<span class='curline'><a href='../S/2836.html#L134'>cpu</a> 134 src/exec.c if(((w = sys->memory[sys->cpu->gr[1]+i]) >= 0x20 && w <= 0x7E) || /* JIS X 0201ラテン文字 */</span>
<span class='curline'><a href='../S/2836.html#L147'>cpu</a> 147 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L150'>cpu</a> 150 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L154'>cpu</a> 154 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L164'>cpu</a> 164 src/exec.c setcerr(205, s = pr2str(sys->cpu->pr)); /* r/r1 in word #1 - not GR */</span>
<span class='curline'><a href='../S/2836.html#L177'>cpu</a> 177 src/exec.c setcerr(206, s = pr2str(sys->cpu->pr)); /* r/r1 in word #1 - not GR */</span>
<span class='curline'><a href='../S/2836.html#L190'>cpu</a> 190 src/exec.c a += sys->cpu->gr[x];</span>
<span class='curline'><a href='../S/2836.html#L201'>cpu</a> 201 src/exec.c setcerr(207, s = pr2str(sys->cpu->pr + 1)); /* address in word #2 - out of memory */</span>
<span class='curline'><a href='../S/2836.html#L216'>cpu</a> 216 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L221'>cpu</a> 221 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L222'>cpu</a> 222 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] = get_val_adr_x(w[1], w[0]));</span>
<span class='curline'><a href='../S/2836.html#L223'>cpu</a> 223 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L228'>cpu</a> 228 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L229'>cpu</a> 229 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] = sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L230'>cpu</a> 230 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L235'>cpu</a> 235 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L236'>cpu</a> 236 src/exec.c sys->memory[get_adr_x(w[1], w[0])] = sys->cpu->gr[get_r_r1(w[0])];</span>
<span class='curline'><a href='../S/2836.html#L237'>cpu</a> 237 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L242'>cpu</a> 242 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L243'>cpu</a> 243 src/exec.c sys->cpu->gr[get_r_r1(w[0])] = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L244'>cpu</a> 244 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L251'>cpu</a> 251 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L254'>cpu</a> 254 src/exec.c if((tmp = (short)(sys->cpu->gr[r]) + (short)val) > 32767 || tmp < -32768) {</span>
<span class='curline'><a href='../S/2836.html#L255'>cpu</a> 255 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L258'>cpu</a> 258 src/exec.c sys->cpu->gr[r] = (WORD)(tmp & 0xFFFF);</span>
<span class='curline'><a href='../S/2836.html#L259'>cpu</a> 259 src/exec.c if((sys->cpu->gr[r] & 0x8000) == 0x8000) {</span>
<span class='curline'><a href='../S/2836.html#L260'>cpu</a> 260 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L261'>cpu</a> 261 src/exec.c } else if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L262'>cpu</a> 262 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L268'>cpu</a> 268 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L270'>cpu</a> 270 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L275'>cpu</a> 275 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L276'>cpu</a> 276 src/exec.c adda(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L277'>cpu</a> 277 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L282'>cpu</a> 282 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L284'>cpu</a> 284 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L289'>cpu</a> 289 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L290'>cpu</a> 290 src/exec.c adda(get_r_r1(w[0]), ~(sys->cpu->gr[get_x_r2(w[0])]) + 1);</span>
<span class='curline'><a href='../S/2836.html#L291'>cpu</a> 291 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L299'>cpu</a> 299 src/exec.c o = sys->cpu->gr[r];</span>
<span class='curline'><a href='../S/2836.html#L300'>cpu</a> 300 src/exec.c sys->cpu->fr = 0; /* flag initialize */</span>
<span class='curline'><a href='../S/2836.html#L305'>cpu</a> 305 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L309'>cpu</a> 309 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L316'>cpu</a> 316 src/exec.c sys->cpu->gr[r] = (WORD)s;</span>
<span class='curline'><a href='../S/2836.html#L319'>cpu</a> 319 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L322'>cpu</a> 322 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L328'>cpu</a> 328 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L330'>cpu</a> 330 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L335'>cpu</a> 335 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L336'>cpu</a> 336 src/exec.c addl_gr(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])], true);</span>
<span class='curline'><a href='../S/2836.html#L337'>cpu</a> 337 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L342'>cpu</a> 342 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L344'>cpu</a> 344 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L349'>cpu</a> 349 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L350'>cpu</a> 350 src/exec.c addl_gr(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])], false);</span>
<span class='curline'><a href='../S/2836.html#L351'>cpu</a> 351 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L356'>cpu</a> 356 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L357'>cpu</a> 357 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] &= get_val_adr_x(w[1], w[0]));</span>
<span class='curline'><a href='../S/2836.html#L358'>cpu</a> 358 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L363'>cpu</a> 363 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L364'>cpu</a> 364 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] &= sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L365'>cpu</a> 365 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L370'>cpu</a> 370 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L371'>cpu</a> 371 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] |= get_val_adr_x(w[1], w[0]));</span>
<span class='curline'><a href='../S/2836.html#L372'>cpu</a> 372 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L377'>cpu</a> 377 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L378'>cpu</a> 378 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] |= sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L379'>cpu</a> 379 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L384'>cpu</a> 384 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L385'>cpu</a> 385 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] ^= get_val_adr_x(w[1], w[0]));</span>
<span class='curline'><a href='../S/2836.html#L386'>cpu</a> 386 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L391'>cpu</a> 391 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L392'>cpu</a> 392 src/exec.c setfr(sys->cpu->gr[get_r_r1(w[0])] ^= sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L393'>cpu</a> 393 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L398'>cpu</a> 398 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/2836.html#L399'>cpu</a> 399 src/exec.c if((short)sys->cpu->gr[r] < (short)val) {</span>
<span class='curline'><a href='../S/2836.html#L400'>cpu</a> 400 src/exec.c sys->cpu->fr = SF;</span>
<span class='curline'><a href='../S/2836.html#L401'>cpu</a> 401 src/exec.c } else if(sys->cpu->gr[r] == val) {</span>
<span class='curline'><a href='../S/2836.html#L402'>cpu</a> 402 src/exec.c sys->cpu->fr = ZF;</span>
<span class='curline'><a href='../S/2836.html#L408'>cpu</a> 408 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L410'>cpu</a> 410 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L415'>cpu</a> 415 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L416'>cpu</a> 416 src/exec.c cpa(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L417'>cpu</a> 417 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L422'>cpu</a> 422 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L423'>cpu</a> 423 src/exec.c if(sys->cpu->gr[r] < val) {</span>
<span class='curline'><a href='../S/2836.html#L424'>cpu</a> 424 src/exec.c sys->cpu->fr = SF;</span>
<span class='curline'><a href='../S/2836.html#L425'>cpu</a> 425 src/exec.c } else if(sys->cpu->gr[r] == val) {</span>
<span class='curline'><a href='../S/2836.html#L426'>cpu</a> 426 src/exec.c sys->cpu->fr = ZF;</span>
<span class='curline'><a href='../S/2836.html#L432'>cpu</a> 432 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L434'>cpu</a> 434 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L439'>cpu</a> 439 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L440'>cpu</a> 440 src/exec.c cpl(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/2836.html#L441'>cpu</a> 441 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L446'>cpu</a> 446 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L448'>cpu</a> 448 src/exec.c WORD sign = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/2836.html#L451'>cpu</a> 451 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/2836.html#L452'>cpu</a> 452 src/exec.c sys->cpu->gr[r] &= 0x7FFF;</span>
<span class='curline'><a href='../S/2836.html#L454'>cpu</a> 454 src/exec.c last = sys->cpu->gr[r] & 0x4000;</span>
<span class='curline'><a href='../S/2836.html#L455'>cpu</a> 455 src/exec.c sys->cpu->gr[r] <<= 1;</span>
<span class='curline'><a href='../S/2836.html#L457'>cpu</a> 457 src/exec.c sys->cpu->gr[r] = sign | (sys->cpu->gr[r] & 0x7FFF);</span>
<span class='curline'><a href='../S/2836.html#L460'>cpu</a> 460 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L464'>cpu</a> 464 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L467'>cpu</a> 467 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L468'>cpu</a> 468 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L470'>cpu</a> 470 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L475'>cpu</a> 475 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L477'>cpu</a> 477 src/exec.c WORD sign = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/2836.html#L480'>cpu</a> 480 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/2836.html#L481'>cpu</a> 481 src/exec.c sys->cpu->gr[r] &= 0x7FFF;</span>
<span class='curline'><a href='../S/2836.html#L483'>cpu</a> 483 src/exec.c last = sys->cpu->gr[r] & 0x1;</span>
<span class='curline'><a href='../S/2836.html#L484'>cpu</a> 484 src/exec.c sys->cpu->gr[r] >>= 1;</span>
<span class='curline'><a href='../S/2836.html#L486'>cpu</a> 486 src/exec.c sys->cpu->gr[r] |= 0x4000;</span>
<span class='curline'><a href='../S/2836.html#L489'>cpu</a> 489 src/exec.c sys->cpu->gr[r] = sign | sys->cpu->gr[r];</span>
<span class='curline'><a href='../S/2836.html#L492'>cpu</a> 492 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L496'>cpu</a> 496 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L499'>cpu</a> 499 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L500'>cpu</a> 500 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L502'>cpu</a> 502 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L507'>cpu</a> 507 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L511'>cpu</a> 511 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L513'>cpu</a> 513 src/exec.c last = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/2836.html#L514'>cpu</a> 514 src/exec.c sys->cpu->gr[r] <<= 1;</span>
<span class='curline'><a href='../S/2836.html#L518'>cpu</a> 518 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L521'>cpu</a> 521 src/exec.c if((sys->cpu->gr[r] & 0x8000) > 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L522'>cpu</a> 522 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L525'>cpu</a> 525 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L526'>cpu</a> 526 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L528'>cpu</a> 528 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L533'>cpu</a> 533 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L537'>cpu</a> 537 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/2836.html#L539'>cpu</a> 539 src/exec.c last = sys->cpu->gr[r] & 0x0001;</span>
<span class='curline'><a href='../S/2836.html#L540'>cpu</a> 540 src/exec.c sys->cpu->gr[r] >>= 1;</span>
<span class='curline'><a href='../S/2836.html#L544'>cpu</a> 544 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/2836.html#L547'>cpu</a> 547 src/exec.c if((sys->cpu->gr[r] & 0x8000) > 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L548'>cpu</a> 548 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/2836.html#L551'>cpu</a> 551 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/2836.html#L552'>cpu</a> 552 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/2836.html#L554'>cpu</a> 554 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L559'>cpu</a> 559 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L560'>cpu</a> 560 src/exec.c if((sys->cpu->fr & (SF | ZF)) == 0) {</span>
<span class='curline'><a href='../S/2836.html#L561'>cpu</a> 561 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L563'>cpu</a> 563 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L569'>cpu</a> 569 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L570'>cpu</a> 570 src/exec.c if((sys->cpu->fr & SF) > 0) {</span>
<span class='curline'><a href='../S/2836.html#L571'>cpu</a> 571 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L573'>cpu</a> 573 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L579'>cpu</a> 579 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L580'>cpu</a> 580 src/exec.c if((sys->cpu->fr & ZF) == 0) {</span>
<span class='curline'><a href='../S/2836.html#L581'>cpu</a> 581 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L583'>cpu</a> 583 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L589'>cpu</a> 589 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L590'>cpu</a> 590 src/exec.c if((sys->cpu->fr & ZF) > 0) {</span>
<span class='curline'><a href='../S/2836.html#L591'>cpu</a> 591 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L593'>cpu</a> 593 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L599'>cpu</a> 599 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L600'>cpu</a> 600 src/exec.c if((sys->cpu->fr & OF) > 0) {</span>
<span class='curline'><a href='../S/2836.html#L601'>cpu</a> 601 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L603'>cpu</a> 603 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L609'>cpu</a> 609 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L610'>cpu</a> 610 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L615'>cpu</a> 615 src/exec.c assert(sys->cpu->sp > execptr->end && sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/2836.html#L616'>cpu</a> 616 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L617'>cpu</a> 617 src/exec.c sys->memory[--(sys->cpu->sp)] = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L618'>cpu</a> 618 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L623'>cpu</a> 623 src/exec.c assert(sys->cpu->sp > execptr->end);</span>
<span class='curline'><a href='../S/2836.html#L624'>cpu</a> 624 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/2836.html#L627'>cpu</a> 627 src/exec.c if(sys->cpu->sp >= sys->memsize) {</span>
<span class='curline'><a href='../S/2836.html#L628'>cpu</a> 628 src/exec.c setcerr(203, s = pr2str(sys->cpu->pr)); /* Stack Pointer (SP) - stack underflow */</span>
<span class='curline'><a href='../S/2836.html#L631'>cpu</a> 631 src/exec.c sys->cpu->gr[get_r_r1(w[0])] = sys->memory[(sys->cpu->sp)++];</span>
<span class='curline'><a href='../S/2836.html#L632'>cpu</a> 632 src/exec.c sys->cpu->pr += 1;</span>
<span class='curline'><a href='../S/2836.html#L638'>cpu</a> 638 src/exec.c assert(sys->cpu->sp > execptr->end && sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/2836.html#L639'>cpu</a> 639 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L640'>cpu</a> 640 src/exec.c sys->memory[--(sys->cpu->sp)] = sys->cpu->pr + 1;</span>
<span class='curline'><a href='../S/2836.html#L641'>cpu</a> 641 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/2836.html#L646'>cpu</a> 646 src/exec.c assert(sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/2836.html#L647'>cpu</a> 647 src/exec.c if(sys->cpu->sp == sys->memsize) {</span>
<span class='curline'><a href='../S/2836.html#L649'>cpu</a> 649 src/exec.c } else if(sys->cpu->sp < sys->memsize) {</span>
<span class='curline'><a href='../S/2836.html#L650'>cpu</a> 650 src/exec.c sys->cpu->pr = sys->memory[(sys->cpu->sp)++] + 1;</span>
<span class='curline'><a href='../S/2836.html#L656'>cpu</a> 656 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/2836.html#L669'>cpu</a> 669 src/exec.c sys->cpu->pr += 2;</span>
<span class='curline'><a href='../S/2836.html#L686'>cpu</a> 686 src/exec.c for (sys->cpu->pr = execptr->start; ; ) {</span>
<span class='curline'><a href='../S/2836.html#L690'>cpu</a> 690 src/exec.c fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/2836.html#L694'>cpu</a> 694 src/exec.c fprintf(stdout, "#%04X: Memory::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/2836.html#L701'>cpu</a> 701 src/exec.c (execmode.monitor == true && sys->cpu->pr == execptr->start) ||</span>
<span class='curline'><a href='../S/2836.html#L702'>cpu</a> 702 src/exec.c execmode.step == true || getbps(sys->cpu->pr) == true)</span>
<span class='curline'><a href='../S/2836.html#L704'>cpu</a> 704 src/exec.c if(sys->cpu->pr == execptr->start) {</span>
<span class='curline'><a href='../S/2836.html#L710'>cpu</a> 710 src/exec.c if(sys->cpu->pr >= sys->memsize) {</span>
<span class='curline'><a href='../S/2836.html#L711'>cpu</a> 711 src/exec.c setcerr(201, s = pr2str(sys->cpu->pr)); /* Program Register (PR) - memory overflow */</span>
<span class='curline'><a href='../S/2836.html#L715'>cpu</a> 715 src/exec.c if(sys->cpu->sp <= execptr->end) {</span>
<span class='curline'><a href='../S/2836.html#L716'>cpu</a> 716 src/exec.c setcerr(202, s = pr2str(sys->cpu->pr)); /* Stack Pointer (SP) - stack overflow */</span>
<span class='curline'><a href='../S/2836.html#L721'>cpu</a> 721 src/exec.c if((cmdptr = getcmdptr(sys->memory[sys->cpu->pr] & 0xFF00)) == NULL) {</span>
<span class='curline'><a href='../S/2836.html#L722'>cpu</a> 722 src/exec.c setcerr(204, s = pr2str(sys->cpu->pr)); /* OP in word #1 - not command code */</span>
<span class='curline'><a href='../S/2834.html#L327'>cpu</a> 327 src/monitor.c fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/2834.html#L337'>cpu</a> 337 src/monitor.c fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/2853.html#L263'>cpu</a> 263 src/struct.c sys->cpu = malloc_chk(sizeof(CPU), "cpu");</span>
<span class='curline'><a href='../S/2853.html#L265'>cpu</a> 265 src/struct.c sys->cpu->gr[i] = 0x0;</span>
<span class='curline'><a href='../S/2853.html#L267'>cpu</a> 267 src/struct.c sys->cpu->sp = sys->memsize; /* スタックポインタ */</span>
<span class='curline'><a href='../S/2853.html#L268'>cpu</a> 268 src/struct.c sys->cpu->pr = 0x0; /* プログラムレジスタ */</span>
<span class='curline'><a href='../S/2853.html#L269'>cpu</a> 269 src/struct.c sys->cpu->fr = 0x0; /* フラグレジスタ */</span>
<span class='curline'><a href='../S/2853.html#L282'>cpu</a> 282 src/struct.c FREE(sys->cpu);</span>
</pre>
</body>
</html>