-#include "casl2.h"
+#include <stdio.h>
#include "exec.h"
-/* COMET IIのメモリを表示 */
+/**
+ * COMET IIのメモリを表示する
+ */
void dumpmemory()
{
const int col = 16;
int i;
/* Header */
- fprintf(stdout, "#%04X: adr :", PR);
- for(i = 0; i < col; i++) {
+ fprintf(stdout, "#%04X: adr :", sys->cpu->pr);
+ for(i = 0; i < sys->memsize && i < col; i++) {
fprintf(stdout, " %04X", i);
}
fprintf(stdout, "\n");
/* Memory */
- for(i = 0; i < memsize; i++) {
+ for(i = 0; i < sys->memsize; i++) {
if(i % col == 0) {
- fprintf(stdout, "#%04X: %04X: ", PR, i);
+ fprintf(stdout, "#%04X: %04X: ", sys->cpu->pr, i);
}
- fprintf(stdout, "%04X", memory[i]);
+ fprintf(stdout, "%04X", (sys->memory)[i]);
if(i > 0 && (i + 1) % col == 0) {
fprintf(stdout, "\n");
} else {
}
}
-/* COMET IIのレジスタを表示 */
+/**
+ * COMET IIのレジスタを表示する
+ */
void dspregister()
{
int i;
- for(i = 0; i < REGSIZE; i++ ) {
- fprintf(stdout, "#%04X: GR%d: ", PR, i);
- print_dumpword(GR[i], (&execmode)->logicalmode);
+ for(i = 0; i < GRSIZE; i++ ) {
+ fprintf(stdout, "#%04X: GR%d: ", sys->cpu->pr, i);
+ print_dumpword(sys->cpu->gr[i], (&execmode)->logical);
}
- fprintf(stdout, "#%04X: SP: %6d = #%04X = %s\n", PR, SP, SP, word2bit(SP));
- fprintf(stdout, "#%04X: PR: %6d = #%04X = %s\n", PR, PR, PR, word2bit(PR));
- fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n", PR, (word2bit(FR)+13));
+ fprintf(stdout, "#%04X: SP: %6d = #%04X = %s\n",
+ sys->cpu->pr, sys->cpu->sp, sys->cpu->sp, word2bit(sys->cpu->sp));
+ fprintf(stdout, "#%04X: PR: %6d = #%04X = %s\n",
+ sys->cpu->pr, sys->cpu->pr, sys->cpu->pr, word2bit(sys->cpu->pr));
+ fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n",
+ sys->cpu->pr, (word2bit(sys->cpu->fr)+13));
}