<!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/29751.html#L49'>cpu</a> 49 include/struct.h CPU *cpu; /**<CPU */</span>
<span class='curline'><a href='../S/30203.html#L11'>cpu</a> 11 src/dump.c fprintf(stdout, "#%04X: adr :", sys->cpu->pr);</span>
<span class='curline'><a href='../S/30203.html#L24'>cpu</a> 24 src/dump.c fprintf(stdout, "#%04X: %04X: ", sys->cpu->pr, i);</span>
<span class='curline'><a href='../S/30203.html#L42'>cpu</a> 42 src/dump.c char *sp = word2bit(sys->cpu->sp);</span>
<span class='curline'><a href='../S/30203.html#L43'>cpu</a> 43 src/dump.c char *pr = word2bit(sys->cpu->pr);</span>
<span class='curline'><a href='../S/30203.html#L44'>cpu</a> 44 src/dump.c char *fr = word2bit(sys->cpu->fr);</span>
<span class='curline'><a href='../S/30203.html#L49'>cpu</a> 49 src/dump.c fprintf(stdout, "#%04X: GR%d: ", sys->cpu->pr, i);</span>
<span class='curline'><a href='../S/30203.html#L50'>cpu</a> 50 src/dump.c print_dumpword(sys->cpu->gr[i], execmode.logical);</span>
<span class='curline'><a href='../S/30203.html#L53'>cpu</a> 53 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/30203.html#L54'>cpu</a> 54 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/30203.html#L55'>cpu</a> 55 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/30203.html#L64'>cpu</a> 64 src/dump.c if(sys->cpu->pr == execptr->start && execmode.reverse == true) { /* reverseオプション指定時、スタート時にプログラム全体を逆アセンブル */</span>
<span class='curline'><a href='../S/30203.html#L68'>cpu</a> 68 src/dump.c fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/30203.html#L72'>cpu</a> 72 src/dump.c fprintf(stdout, "#%04X: Memory::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/30203.html#L76'>cpu</a> 76 src/dump.c fprintf(stdout, "#%04X: Disassemble::::", sys->cpu->pr);</span>
<span class='curline'><a href='../S/30203.html#L77'>cpu</a> 77 src/dump.c disassemble_memory(sys->memory, sys->cpu->pr, sys->cpu->pr + code2cmdwordlen(sys->memory[sys->cpu->pr] & 0xFF00) - 1);</span>
<span class='curline'><a href='../S/30182.html#L114'>cpu</a> 114 src/exec.c sys->memory[sys->cpu->gr[1]] = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L115'>cpu</a> 115 src/exec.c sys->memory[sys->cpu->gr[2]] = 0xFFFF;</span>
<span class='curline'><a href='../S/30182.html#L123'>cpu</a> 123 src/exec.c if(sys->cpu->gr[1] + i >= execptr->end) {</span>
<span class='curline'><a href='../S/30182.html#L127'>cpu</a> 127 src/exec.c sys->memory[sys->cpu->gr[1] + i] = buf[i];</span>
<span class='curline'><a href='../S/30182.html#L128'>cpu</a> 128 src/exec.c sys->memory[sys->cpu->gr[2]] = i + 1;</span>
<span class='curline'><a href='../S/30182.html#L138'>cpu</a> 138 src/exec.c for(i = 0; i < sys->memory[sys->cpu->gr[2]]; i++) {</span>
<span class='curline'><a href='../S/30182.html#L139'>cpu</a> 139 src/exec.c if(sys->cpu->gr[1] + i >= execptr->end) {</span>
<span class='curline'><a href='../S/30182.html#L146'>cpu</a> 146 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/30182.html#L159'>cpu</a> 159 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L162'>cpu</a> 162 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L166'>cpu</a> 166 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L176'>cpu</a> 176 src/exec.c setcerr(205, s = pr2str(sys->cpu->pr)); /* r/r1 in word #1 - not GR */</span>
<span class='curline'><a href='../S/30182.html#L189'>cpu</a> 189 src/exec.c setcerr(206, s = pr2str(sys->cpu->pr)); /* r/r1 in word #1 - not GR */</span>
<span class='curline'><a href='../S/30182.html#L202'>cpu</a> 202 src/exec.c a += sys->cpu->gr[x];</span>
<span class='curline'><a href='../S/30182.html#L213'>cpu</a> 213 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/30182.html#L228'>cpu</a> 228 src/exec.c sys->cpu->pr += getcmdwordlen("NOP", NONE);</span>
<span class='curline'><a href='../S/30182.html#L233'>cpu</a> 233 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L234'>cpu</a> 234 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/30182.html#L235'>cpu</a> 235 src/exec.c sys->cpu->pr += getcmdwordlen("LD", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L240'>cpu</a> 240 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L241'>cpu</a> 241 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/30182.html#L242'>cpu</a> 242 src/exec.c sys->cpu->pr += getcmdwordlen("LD", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L247'>cpu</a> 247 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L248'>cpu</a> 248 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/30182.html#L249'>cpu</a> 249 src/exec.c sys->cpu->pr += getcmdwordlen("ST", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L254'>cpu</a> 254 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L255'>cpu</a> 255 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/30182.html#L256'>cpu</a> 256 src/exec.c sys->cpu->pr += getcmdwordlen("LAD", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L263'>cpu</a> 263 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L266'>cpu</a> 266 src/exec.c if((tmp = (short)(sys->cpu->gr[r]) + (short)val) > 32767 || tmp < -32768) {</span>
<span class='curline'><a href='../S/30182.html#L267'>cpu</a> 267 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L270'>cpu</a> 270 src/exec.c sys->cpu->gr[r] = (WORD)(tmp & 0xFFFF);</span>
<span class='curline'><a href='../S/30182.html#L271'>cpu</a> 271 src/exec.c if((sys->cpu->gr[r] & 0x8000) == 0x8000) {</span>
<span class='curline'><a href='../S/30182.html#L272'>cpu</a> 272 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L273'>cpu</a> 273 src/exec.c } else if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L274'>cpu</a> 274 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L280'>cpu</a> 280 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L282'>cpu</a> 282 src/exec.c sys->cpu->pr += getcmdwordlen("ADDA", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L287'>cpu</a> 287 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L288'>cpu</a> 288 src/exec.c adda(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/30182.html#L289'>cpu</a> 289 src/exec.c sys->cpu->pr += getcmdwordlen("ADDA", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L294'>cpu</a> 294 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L296'>cpu</a> 296 src/exec.c sys->cpu->pr += getcmdwordlen("SUBA", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L301'>cpu</a> 301 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L302'>cpu</a> 302 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/30182.html#L303'>cpu</a> 303 src/exec.c sys->cpu->pr += getcmdwordlen("SUBA", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L311'>cpu</a> 311 src/exec.c o = sys->cpu->gr[r];</span>
<span class='curline'><a href='../S/30182.html#L312'>cpu</a> 312 src/exec.c sys->cpu->fr = 0; /* flag initialize */</span>
<span class='curline'><a href='../S/30182.html#L317'>cpu</a> 317 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L321'>cpu</a> 321 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L328'>cpu</a> 328 src/exec.c sys->cpu->gr[r] = (WORD)s;</span>
<span class='curline'><a href='../S/30182.html#L331'>cpu</a> 331 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L334'>cpu</a> 334 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L340'>cpu</a> 340 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L342'>cpu</a> 342 src/exec.c sys->cpu->pr += getcmdwordlen("ADDL", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L347'>cpu</a> 347 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L348'>cpu</a> 348 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/30182.html#L349'>cpu</a> 349 src/exec.c sys->cpu->pr += getcmdwordlen("ADDL", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L354'>cpu</a> 354 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L356'>cpu</a> 356 src/exec.c sys->cpu->pr += getcmdwordlen("SUBL", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L361'>cpu</a> 361 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L362'>cpu</a> 362 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/30182.html#L363'>cpu</a> 363 src/exec.c sys->cpu->pr += getcmdwordlen("SUBL", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L368'>cpu</a> 368 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L369'>cpu</a> 369 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/30182.html#L370'>cpu</a> 370 src/exec.c sys->cpu->pr += getcmdwordlen("AND", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L375'>cpu</a> 375 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L376'>cpu</a> 376 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/30182.html#L377'>cpu</a> 377 src/exec.c sys->cpu->pr += getcmdwordlen("AND", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L382'>cpu</a> 382 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L383'>cpu</a> 383 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/30182.html#L384'>cpu</a> 384 src/exec.c sys->cpu->pr += getcmdwordlen("OR", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L389'>cpu</a> 389 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L390'>cpu</a> 390 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/30182.html#L391'>cpu</a> 391 src/exec.c sys->cpu->pr += getcmdwordlen("OR", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L396'>cpu</a> 396 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L397'>cpu</a> 397 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/30182.html#L398'>cpu</a> 398 src/exec.c sys->cpu->pr += getcmdwordlen("XOR", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L403'>cpu</a> 403 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L404'>cpu</a> 404 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/30182.html#L405'>cpu</a> 405 src/exec.c sys->cpu->pr += getcmdwordlen("XOR", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L410'>cpu</a> 410 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/30182.html#L411'>cpu</a> 411 src/exec.c if((short)sys->cpu->gr[r] < (short)val) {</span>
<span class='curline'><a href='../S/30182.html#L412'>cpu</a> 412 src/exec.c sys->cpu->fr = SF;</span>
<span class='curline'><a href='../S/30182.html#L413'>cpu</a> 413 src/exec.c } else if(sys->cpu->gr[r] == val) {</span>
<span class='curline'><a href='../S/30182.html#L414'>cpu</a> 414 src/exec.c sys->cpu->fr = ZF;</span>
<span class='curline'><a href='../S/30182.html#L420'>cpu</a> 420 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L422'>cpu</a> 422 src/exec.c sys->cpu->pr += getcmdwordlen("CPA", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L427'>cpu</a> 427 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L428'>cpu</a> 428 src/exec.c cpa(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/30182.html#L429'>cpu</a> 429 src/exec.c sys->cpu->pr += getcmdwordlen("CPA", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L434'>cpu</a> 434 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L435'>cpu</a> 435 src/exec.c if(sys->cpu->gr[r] < val) {</span>
<span class='curline'><a href='../S/30182.html#L436'>cpu</a> 436 src/exec.c sys->cpu->fr = SF;</span>
<span class='curline'><a href='../S/30182.html#L437'>cpu</a> 437 src/exec.c } else if(sys->cpu->gr[r] == val) {</span>
<span class='curline'><a href='../S/30182.html#L438'>cpu</a> 438 src/exec.c sys->cpu->fr = ZF;</span>
<span class='curline'><a href='../S/30182.html#L444'>cpu</a> 444 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L446'>cpu</a> 446 src/exec.c sys->cpu->pr += getcmdwordlen("CPL", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L451'>cpu</a> 451 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L452'>cpu</a> 452 src/exec.c cpl(get_r_r1(w[0]), sys->cpu->gr[get_x_r2(w[0])]);</span>
<span class='curline'><a href='../S/30182.html#L453'>cpu</a> 453 src/exec.c sys->cpu->pr += getcmdwordlen("CPL", R1_R2);</span>
<span class='curline'><a href='../S/30182.html#L458'>cpu</a> 458 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L460'>cpu</a> 460 src/exec.c WORD sign = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/30182.html#L463'>cpu</a> 463 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/30182.html#L464'>cpu</a> 464 src/exec.c sys->cpu->gr[r] &= 0x7FFF;</span>
<span class='curline'><a href='../S/30182.html#L466'>cpu</a> 466 src/exec.c last = sys->cpu->gr[r] & 0x4000;</span>
<span class='curline'><a href='../S/30182.html#L467'>cpu</a> 467 src/exec.c sys->cpu->gr[r] <<= 1;</span>
<span class='curline'><a href='../S/30182.html#L469'>cpu</a> 469 src/exec.c sys->cpu->gr[r] = sign | (sys->cpu->gr[r] & 0x7FFF);</span>
<span class='curline'><a href='../S/30182.html#L472'>cpu</a> 472 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L476'>cpu</a> 476 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L479'>cpu</a> 479 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L480'>cpu</a> 480 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L482'>cpu</a> 482 src/exec.c sys->cpu->pr += getcmdwordlen("SLA", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L487'>cpu</a> 487 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L489'>cpu</a> 489 src/exec.c WORD sign = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/30182.html#L492'>cpu</a> 492 src/exec.c sys->cpu->fr = 0;</span>
<span class='curline'><a href='../S/30182.html#L493'>cpu</a> 493 src/exec.c sys->cpu->gr[r] &= 0x7FFF;</span>
<span class='curline'><a href='../S/30182.html#L495'>cpu</a> 495 src/exec.c last = sys->cpu->gr[r] & 0x1;</span>
<span class='curline'><a href='../S/30182.html#L496'>cpu</a> 496 src/exec.c sys->cpu->gr[r] >>= 1;</span>
<span class='curline'><a href='../S/30182.html#L498'>cpu</a> 498 src/exec.c sys->cpu->gr[r] |= 0x4000;</span>
<span class='curline'><a href='../S/30182.html#L501'>cpu</a> 501 src/exec.c sys->cpu->gr[r] = sign | sys->cpu->gr[r];</span>
<span class='curline'><a href='../S/30182.html#L504'>cpu</a> 504 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L508'>cpu</a> 508 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L511'>cpu</a> 511 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L512'>cpu</a> 512 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L514'>cpu</a> 514 src/exec.c sys->cpu->pr += getcmdwordlen("SRA", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L519'>cpu</a> 519 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L523'>cpu</a> 523 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L525'>cpu</a> 525 src/exec.c last = sys->cpu->gr[r] & 0x8000;</span>
<span class='curline'><a href='../S/30182.html#L526'>cpu</a> 526 src/exec.c sys->cpu->gr[r] <<= 1;</span>
<span class='curline'><a href='../S/30182.html#L530'>cpu</a> 530 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L533'>cpu</a> 533 src/exec.c if((sys->cpu->gr[r] & 0x8000) > 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L534'>cpu</a> 534 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L537'>cpu</a> 537 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L538'>cpu</a> 538 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L540'>cpu</a> 540 src/exec.c sys->cpu->pr += getcmdwordlen("SLL", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L545'>cpu</a> 545 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L549'>cpu</a> 549 src/exec.c sys->cpu->fr = 0x0;</span>
<span class='curline'><a href='../S/30182.html#L551'>cpu</a> 551 src/exec.c last = sys->cpu->gr[r] & 0x0001;</span>
<span class='curline'><a href='../S/30182.html#L552'>cpu</a> 552 src/exec.c sys->cpu->gr[r] >>= 1;</span>
<span class='curline'><a href='../S/30182.html#L556'>cpu</a> 556 src/exec.c sys->cpu->fr += OF;</span>
<span class='curline'><a href='../S/30182.html#L559'>cpu</a> 559 src/exec.c if((sys->cpu->gr[r] & 0x8000) > 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L560'>cpu</a> 560 src/exec.c sys->cpu->fr += SF;</span>
<span class='curline'><a href='../S/30182.html#L563'>cpu</a> 563 src/exec.c if(sys->cpu->gr[r] == 0x0) {</span>
<span class='curline'><a href='../S/30182.html#L564'>cpu</a> 564 src/exec.c sys->cpu->fr += ZF;</span>
<span class='curline'><a href='../S/30182.html#L566'>cpu</a> 566 src/exec.c sys->cpu->pr += getcmdwordlen("SRL", R_ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L571'>cpu</a> 571 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L572'>cpu</a> 572 src/exec.c if((sys->cpu->fr & SF) > 0) {</span>
<span class='curline'><a href='../S/30182.html#L573'>cpu</a> 573 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L575'>cpu</a> 575 src/exec.c sys->cpu->pr += getcmdwordlen("JMI", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L581'>cpu</a> 581 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L582'>cpu</a> 582 src/exec.c if((sys->cpu->fr & ZF) == 0) {</span>
<span class='curline'><a href='../S/30182.html#L583'>cpu</a> 583 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L585'>cpu</a> 585 src/exec.c sys->cpu->pr += getcmdwordlen("JNZ", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L591'>cpu</a> 591 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L592'>cpu</a> 592 src/exec.c if((sys->cpu->fr & ZF) > 0) {</span>
<span class='curline'><a href='../S/30182.html#L593'>cpu</a> 593 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L595'>cpu</a> 595 src/exec.c sys->cpu->pr += getcmdwordlen("JZE", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L601'>cpu</a> 601 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L602'>cpu</a> 602 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L607'>cpu</a> 607 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L608'>cpu</a> 608 src/exec.c if((sys->cpu->fr & (SF | ZF)) == 0) {</span>
<span class='curline'><a href='../S/30182.html#L609'>cpu</a> 609 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L611'>cpu</a> 611 src/exec.c sys->cpu->pr += getcmdwordlen("JPL", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L617'>cpu</a> 617 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L618'>cpu</a> 618 src/exec.c if((sys->cpu->fr & OF) > 0) {</span>
<span class='curline'><a href='../S/30182.html#L619'>cpu</a> 619 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L621'>cpu</a> 621 src/exec.c sys->cpu->pr += getcmdwordlen("JOV", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L627'>cpu</a> 627 src/exec.c assert(sys->cpu->sp > execptr->end && sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/30182.html#L628'>cpu</a> 628 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L629'>cpu</a> 629 src/exec.c sys->memory[--(sys->cpu->sp)] = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L630'>cpu</a> 630 src/exec.c sys->cpu->pr += getcmdwordlen("PUSH", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L635'>cpu</a> 635 src/exec.c assert(sys->cpu->sp > execptr->end);</span>
<span class='curline'><a href='../S/30182.html#L636'>cpu</a> 636 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr]};</span>
<span class='curline'><a href='../S/30182.html#L639'>cpu</a> 639 src/exec.c if(sys->cpu->sp >= sys->memsize) {</span>
<span class='curline'><a href='../S/30182.html#L640'>cpu</a> 640 src/exec.c setcerr(203, s = pr2str(sys->cpu->pr)); /* Stack Pointer (SP) - stack underflow */</span>
<span class='curline'><a href='../S/30182.html#L643'>cpu</a> 643 src/exec.c sys->cpu->gr[get_r_r1(w[0])] = sys->memory[(sys->cpu->sp)++];</span>
<span class='curline'><a href='../S/30182.html#L644'>cpu</a> 644 src/exec.c sys->cpu->pr += getcmdwordlen("POP", R_);</span>
<span class='curline'><a href='../S/30182.html#L650'>cpu</a> 650 src/exec.c assert(sys->cpu->sp > execptr->end && sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/30182.html#L651'>cpu</a> 651 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L652'>cpu</a> 652 src/exec.c sys->memory[--(sys->cpu->sp)] = sys->cpu->pr + 1;</span>
<span class='curline'><a href='../S/30182.html#L653'>cpu</a> 653 src/exec.c sys->cpu->pr = get_adr_x(w[1], w[0]);</span>
<span class='curline'><a href='../S/30182.html#L658'>cpu</a> 658 src/exec.c assert(sys->cpu->sp <= sys->memsize);</span>
<span class='curline'><a href='../S/30182.html#L659'>cpu</a> 659 src/exec.c if(sys->cpu->sp == sys->memsize) {</span>
<span class='curline'><a href='../S/30182.html#L661'>cpu</a> 661 src/exec.c } else if(sys->cpu->sp < sys->memsize) {</span>
<span class='curline'><a href='../S/30182.html#L662'>cpu</a> 662 src/exec.c sys->cpu->pr = sys->memory[(sys->cpu->sp)++] + 1;</span>
<span class='curline'><a href='../S/30182.html#L668'>cpu</a> 668 src/exec.c WORD w[] = {sys->memory[sys->cpu->pr], sys->memory[sys->cpu->pr + 1]};</span>
<span class='curline'><a href='../S/30182.html#L681'>cpu</a> 681 src/exec.c sys->cpu->pr += getcmdwordlen("SVC", ADR_X);</span>
<span class='curline'><a href='../S/30182.html#L695'>cpu</a> 695 src/exec.c for (sys->cpu->pr = execptr->start; ; ) {</span>
<span class='curline'><a href='../S/30182.html#L699'>cpu</a> 699 src/exec.c if((execmode.monitor == true && execptr->started == false) || execptr->stop == true || execmode.step == true || getbps(sys->cpu->pr) == true)</span>
<span class='curline'><a href='../S/30182.html#L709'>cpu</a> 709 src/exec.c if(sys->cpu->pr >= sys->memsize) {</span>
<span class='curline'><a href='../S/30182.html#L710'>cpu</a> 710 src/exec.c setcerr(201, s = pr2str(sys->cpu->pr)); /* Program Register (PR) - memory overflow */</span>
<span class='curline'><a href='../S/30182.html#L714'>cpu</a> 714 src/exec.c if(sys->cpu->sp <= execptr->end) {</span>
<span class='curline'><a href='../S/30182.html#L715'>cpu</a> 715 src/exec.c setcerr(202, s = pr2str(sys->cpu->pr)); /* Stack Pointer (SP) - stack overflow */</span>
<span class='curline'><a href='../S/30182.html#L720'>cpu</a> 720 src/exec.c if((cmdptr = getcmdptr(sys->memory[sys->cpu->pr] & 0xFF00)) == NULL) {</span>
<span class='curline'><a href='../S/30182.html#L721'>cpu</a> 721 src/exec.c setcerr(204, s = pr2str(sys->cpu->pr)); /* OP in word #1 - not command code */</span>
<span class='curline'><a href='../S/30177.html#L330'>cpu</a> 330 src/monitor.c fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);</span>
<span class='curline'><a href='../S/30213.html#L338'>cpu</a> 338 src/struct.c sys->cpu = malloc_chk(sizeof(CPU), "comet2_init.cpu");</span>
<span class='curline'><a href='../S/30213.html#L354'>cpu</a> 354 src/struct.c sys->cpu->gr[i] = 0x0;</span>
<span class='curline'><a href='../S/30213.html#L356'>cpu</a> 356 src/struct.c sys->cpu->sp = sys->memsize; /* スタックポインタ */</span>
<span class='curline'><a href='../S/30213.html#L357'>cpu</a> 357 src/struct.c sys->cpu->pr = 0x0; /* プログラムレジスタ */</span>
<span class='curline'><a href='../S/30213.html#L358'>cpu</a> 358 src/struct.c sys->cpu->fr = 0x0; /* フラグレジスタ */</span>
<span class='curline'><a href='../S/30213.html#L403'>cpu</a> 403 src/struct.c FREE(sys->cpu);</span>
</pre>
</body>
</html>