projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Valgrindで見つかったメモリー周辺の問題点を修正
[YACASL2.git]
/
src
/
struct.c
diff --git
a/src/struct.c
b/src/struct.c
index
58a3585
..
ef9a844
100644
(file)
--- a/
src/struct.c
+++ b/
src/struct.c
@@
-2,14
+2,14
@@
#include "cmem.h"
/**
#include "cmem.h"
/**
- * COMET IIの仮
装
実行マシンシステム
+ * COMET IIの仮
想
実行マシンシステム
*/
SYSTEM *sys;
/**
*/
SYSTEM *sys;
/**
- *
CASL IIプログラムのプロパティ
+ *
プログラム実行時の開始と終了のアドレス
*/
*/
-
PROGPROP *prog
;
+
EXECPTR *execptr
;
/**
* COMET II仮想マシンのリセット
/**
* COMET II仮想マシンのリセット
@@
-19,20
+19,20
@@
void reset(int memsize, int clocks)
int i;
sys = malloc_chk(sizeof(SYSTEM), "sys");
int i;
sys = malloc_chk(sizeof(SYSTEM), "sys");
- /* ã
\83
¡ã
\83
¢ã
\83
ªã
\82
µã
\82
¤ã
\82
ºã
\81
®
設定 */
+ /* ã
\83
¡ã
\83
¢ã
\83
ªã
\82
µã
\82
¤ã
\82
ºã
\82
\92
設定 */
sys->memsize = memsize;
sys->memsize = memsize;
- /* ã
\82
¯ã
\83
ã
\83
\83
ã
\82
¯å
\91
¨æ³¢æ
\95
°ã
\81
®
設定 */
+ /* ã
\82
¯ã
\83
ã
\83
\83
ã
\82
¯å
\91
¨æ³¢æ
\95
°ã
\82
\92
設定 */
sys->clocks = clocks;
sys->clocks = clocks;
- /* ã
\83
¡ã
\83
¢ã
\83
ªã
\81
®
初期化 */
+ /* ã
\83
¡ã
\83
¢ã
\83
ªã
\82
\92
初期化 */
sys->memory = calloc_chk(sys->memsize, sizeof(WORD), "memory");
sys->memory = calloc_chk(sys->memsize, sizeof(WORD), "memory");
- /* CPUã
\81
®
初期化 */
+ /* CPUã
\82
\92
初期化 */
sys->cpu = malloc_chk(sizeof(CPU), "cpu");
for(i = 0; i < GRSIZE; i++) {
sys->cpu->gr[i] = 0x0;
}
sys->cpu->sp = sys->cpu->pr = sys->cpu->fr = 0x0;
sys->cpu = malloc_chk(sizeof(CPU), "cpu");
for(i = 0; i < GRSIZE; i++) {
sys->cpu->gr[i] = 0x0;
}
sys->cpu->sp = sys->cpu->pr = sys->cpu->fr = 0x0;
- /* CASL2プログラムの
プロパティ
*/
-
prog = malloc_chk(sizeof(PROGPROP
), "prog");
+ /* CASL2プログラムの
開始と終了のアドレスを初期化
*/
+
execptr = malloc_chk(sizeof(execptr
), "prog");
}
/**
}
/**
@@
-40,8
+40,8
@@
void reset(int memsize, int clocks)
*/
void shutdown()
{
*/
void shutdown()
{
-
free_chk(prog, "prog"
);
-
free_chk(sys->memory, "sys.memory"
);
-
free_chk(sys->cpu, "sys.cpu"
);
-
free_chk(sys, "sys"
);
+
FREE(execptr
);
+
FREE(sys->memory
);
+
FREE(sys->cpu
);
+
FREE(sys
);
}
}