• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Motorola M6800 (6800) Exorciser / SWTPC emulator plus 6801 instruction set emulation


コミットメタ情報

リビジョンa8cfd78e1d485bcc8af49fc67d3d49732dc3ddc5 (tree)
日時2020-11-22 02:27:01
作者Joel Matthew Rees <joel.rees@gmai...>
コミッターJoel Matthew Rees

ログメッセージ

bad boolean math for 8-bit binary

変更サマリ

差分

--- a/sim6800.c
+++ b/sim6800.c
@@ -349,7 +349,7 @@ void show_trace(int insn_no, struct trace_entry *t)
349349 break;
350350 } case 0x9D: case 0xAD: case 0xBD: /* JSR */ {
351351 if (cputype == 0x6800 && t->insn[0] == 0x9D)
352-{ fputs( "JSR\n", stderr ); goto invalid16;
352+{ fputs( "JSR error\n", stderr ); goto invalid16;
353353 } else if (t->cc & 0x80)
354354 sprintf(buf3, "EA=%4.4X%s", t->ea, buf_ea);
355355 insn = "JSR";
@@ -357,21 +357,21 @@ void show_trace(int insn_no, struct trace_entry *t)
357357 break;
358358 } case 0xC3: case 0xD3: case 0xE3: case 0xF3: /* ADDD N,Z,V,C (6801) */ {
359359 if (cputype == 0x6800)
360-{ fputs( "ADDD\n", stderr ); goto invalid16;
360+{ fputs( "ADDD error\n", stderr ); goto invalid16;
361361 } else if (t->cc & 0x80)
362362 sprintf(buf3, "EA=%4.4X%s D=%4.4X", t->ea, buf_ea, t->data);
363363 insn = "ADDD";
364364 break;
365365 } case 0xCC: case 0xDC: case 0xEC: case 0xFC: /* LDD N,Z,V=0 (6801) */ {
366366 if (cputype == 0x6800)
367-{ fputs( "LDD\n", stderr ); goto invalid16;
367+{ fputs( "LDD error\n", stderr ); goto invalid16;
368368 } else if (t->cc & 0x80)
369369 sprintf(buf3, "EA=%4.4X%s D=%4.4X", t->ea, buf_ea, t->data);
370370 insn = "LDD";
371371 break;
372372 } case 0xCD: case 0xDD: case 0xED: case 0xFD: /* STD N,Z,V=0 (6801) */ {
373373 if (cputype == 0x6800)
374-{ fputs( "STD\n", stderr ); goto invalid16;
374+{ fputs( "STD error\n", stderr ); goto invalid16;
375375 } else if (t->cc & 0x80)
376376 sprintf(buf3, "EA=%4.4X%s D=%4.4X", t->ea, buf_ea, t->data);
377377 insn = "STD";
@@ -1047,8 +1047,8 @@ void sim(void)
10471047 case 0x9D: /* (6801) */
10481048 case 0xAD: case 0xBD: /* JSR */ {
10491049 if (cputype == 0x6800 && opcode == 0x9D)
1050- goto invalid16;
1051- else {
1050+{ fputs( "JSR op error\n", stderr ); goto invalid16;
1051+} else {
10521052 push2(pc);
10531053 jump(ea);
10541054 t->ea = ea;
@@ -1056,8 +1056,8 @@ void sim(void)
10561056 break;
10571057 } case 0xC3: case 0xD3: case 0xE3: case 0xF3: /* ADDD N,Z,V,C (6801) */ {
10581058 if (cputype == 0x6800)
1059- goto invalid16;
1060- else {
1059+{ fputs( "ADDD op error\n", stderr ); goto invalid16;
1060+} else {
10611061 setACCD( accd );
10621062 w = mread2(ea);
10631063 t->ea = ea; t->data = w;
@@ -1071,8 +1071,8 @@ void sim(void)
10711071 break;
10721072 } case 0xCC: case 0xDC: case 0xEC: case 0xFC: /* LDD N,Z,V=0 (6801) */ {
10731073 if (cputype == 0x6800)
1074- goto invalid16;
1075- else {
1074+{ fputs( "LDD op error\n", stderr ); goto invalid16;
1075+} else {
10761076 accd = mread2(ea);
10771077 t->ea = ea; t->data = accd;
10781078 z_flag = Z_16( accd );
@@ -1083,8 +1083,8 @@ void sim(void)
10831083 break;
10841084 } case 0xDD: case 0xED: case 0xFD: /* STD N,Z,V=0 (6801) */ {
10851085 if (cputype == 0x6800)
1086- goto invalid16;
1087- else {
1086+{ fputs( "STD op error\n", stderr ); goto invalid16;
1087+} else {
10881088 setACCD( accd );
10891089 n_flag = N_16( accd );
10901090 z_flag = Z_16( accd );