projects
/
YACASL2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b8511b1
)
ソースを整理
v0.1p33
author
j8takagi
<j8takagi@nifty.com>
Sat, 2 Apr 2011 08:39:40 +0000
(17:39 +0900)
committer
j8takagi
<j8takagi@nifty.com>
Sat, 2 Apr 2011 08:39:40 +0000
(17:39 +0900)
include/exec.h
patch
|
blob
|
history
src/exec.c
patch
|
blob
|
history
diff --git
a/include/exec.h
b/include/exec.h
index
171b188
..
1750c96
100644
(file)
--- a/
include/exec.h
+++ b/
include/exec.h
@@
-36,7
+36,7
@@
void addcerrlist_load();
/**
* 指定されたファイルからアセンブル結果を読み込む
*/
/**
* 指定されたファイルからアセンブル結果を読み込む
*/
-bool loadassemble(char *file);
+bool loadassemble(c
onst c
har *file);
/**
* COMET II仮想マシンのリセット
/**
* COMET II仮想マシンのリセット
@@
-88,11
+88,6
@@
void suba_r_adr_x();
*/
void suba_r1_r2();
*/
void suba_r1_r2();
-/**
- * ADDL命令のテンプレート
- */
-void addl(const WORD r, const WORD val);
-
/**
* ADDL命令 - オペランドr,adr,x。語長2
*/
/**
* ADDL命令 - オペランドr,adr,x。語長2
*/
@@
-153,11
+148,6
@@
void cpa_r_adr_x();
*/
void cpa_r1_r2();
*/
void cpa_r1_r2();
-/**
- * CPL命令のテンプレート
- */
-void cpl(const WORD r, const WORD val);
-
/**
* CPL命令 - オペランドr,adr,x。語長2
*/
/**
* CPL命令 - オペランドr,adr,x。語長2
*/
diff --git
a/src/exec.c
b/src/exec.c
index
5a757c7
..
127729c
100644
(file)
--- a/
src/exec.c
+++ b/
src/exec.c
@@
-51,7
+51,7
@@
void addcerrlist_exec()
/**
* 指定されたファイルからアセンブル結果を読み込む
*/
/**
* 指定されたファイルからアセンブル結果を読み込む
*/
-bool loadassemble(char *file)
+bool loadassemble(c
onst c
har *file)
{
FILE *fp;
bool status = true;
{
FILE *fp;
bool status = true;
@@
-75,7
+75,7
@@
bool loadassemble(char *file)
/**
* プログラムレジスタ(PR)を表す文字列を返す
**/
/**
* プログラムレジスタ(PR)を表す文字列を返す
**/
-
static
char *pr2str(WORD pr) {
+char *pr2str(WORD pr) {
char *str = malloc_chk(CERRSTRSIZE + 1, "pr2str.pr");
sprintf(str, "PR:#%04X", pr);
char *str = malloc_chk(CERRSTRSIZE + 1, "pr2str.pr");
sprintf(str, "PR:#%04X", pr);
@@
-85,7
+85,7
@@
static char *pr2str(WORD pr) {
/**
* 標準入力から文字データを読込(SVC 1)
*/
/**
* 標準入力から文字データを読込(SVC 1)
*/
-
static
void svcin()
+void svcin()
{
int i;
char *buffer = malloc_chk(INSIZE + 1, "svcin.buffer");
{
int i;
char *buffer = malloc_chk(INSIZE + 1, "svcin.buffer");
@@
-112,7
+112,7
@@
static void svcin()
/**
* 標準出力へ文字データを書出(SVC 2)
*/
/**
* 標準出力へ文字データを書出(SVC 2)
*/
-
static
void svcout()
+void svcout()
{
int i;
WORD w;
{
int i;
WORD w;
@@
-135,7
+135,7
@@
static void svcout()
/**
* ロード/論理積/論理和/排他的論理和のフラグ設定。OFは常に0
*/
/**
* ロード/論理積/論理和/排他的論理和のフラグ設定。OFは常に0
*/
-
static void setfr(const
WORD adr)
+
void setfr(
WORD adr)
{
sys->cpu->fr = 0x0;
/* 第15ビットが1のとき、SFは1 */
{
sys->cpu->fr = 0x0;
/* 第15ビットが1のとき、SFは1 */
@@
-151,7
+151,7
@@
static void setfr(const WORD adr)
/**
* WORD値からx/r2を取得
*/
/**
* WORD値からx/r2を取得
*/
-
static WORD x_r2(const
WORD oprx)
+
WORD x_r2(
WORD oprx)
{
WORD x;
if((x = (oprx & 0x000F)) > GRSIZE - 1) {
{
WORD x;
if((x = (oprx & 0x000F)) > GRSIZE - 1) {
@@
-164,7
+164,7
@@
static WORD x_r2(const WORD oprx)
/**
* 2つのWORD値からadr[,x]を取得
*/
/**
* 2つのWORD値からadr[,x]を取得
*/
-
static WORD adrx(const WORD adr, const
WORD oprx)
+
WORD adrx(WORD adr,
WORD oprx)
{
WORD a = adr, x;
if((x = x_r2(oprx)) > 0) {
{
WORD a = adr, x;
if((x = x_r2(oprx)) > 0) {
@@
-177,7
+177,7
@@
static WORD adrx(const WORD adr, const WORD oprx)
/**
* 2つのWORD値からadr[,x]のアドレスに格納されている内容を取得
*/
/**
* 2つのWORD値からadr[,x]のアドレスに格納されている内容を取得
*/
-
static WORD val_adrx(const WORD adr, const
WORD oprx)
+
WORD val_adrx(WORD adr,
WORD oprx)
{
WORD a;
if((a = adrx(adr, oprx)) >= sys->memsize) {
{
WORD a;
if((a = adrx(adr, oprx)) >= sys->memsize) {
@@
-190,7
+190,7
@@
static WORD val_adrx(const WORD adr, const WORD oprx)
/**
* WORD値からr/r2を取得
*/
/**
* WORD値からr/r2を取得
*/
-
static WORD r_r1(const
WORD oprx)
+
WORD r_r1(
WORD oprx)
{
WORD r;
if((r = ((oprx & 0x00F0) >>4)) > GRSIZE - 1) {
{
WORD r;
if((r = ((oprx & 0x00F0) >>4)) > GRSIZE - 1) {
@@
-259,7
+259,7
@@
void lad()
* ADDA命令のテンプレート
* 汎用レジスタrに値valを算術加算
*/
* ADDA命令のテンプレート
* 汎用レジスタrに値valを算術加算
*/
-void adda(
const WORD r, const
WORD val)
+void adda(
WORD r,
WORD val)
{
long tmp;
{
long tmp;
@@
-328,7
+328,7
@@
void suba_r1_r2()
* ADDL命令のテンプレート
* 汎用レジスタrに値valを論理加算
*/
* ADDL命令のテンプレート
* 汎用レジスタrに値valを論理加算
*/
-void addl(
const WORD r, const
WORD val)
+void addl(
WORD r,
WORD val)
{
long tmp;
sys->cpu->fr = 0x0;
{
long tmp;
sys->cpu->fr = 0x0;
@@
-462,7
+462,7
@@
void xor_r1_r2()
* CPA命令のテンプレート
* 汎用レジスタrの内容と値valを算術比較
*/
* CPA命令のテンプレート
* 汎用レジスタrの内容と値valを算術比較
*/
-void cpa(
const WORD r, const
WORD val)
+void cpa(
WORD r,
WORD val)
{
sys->cpu->fr = 0x0;
if((short)sys->cpu->gr[r] < (short)val) {
{
sys->cpu->fr = 0x0;
if((short)sys->cpu->gr[r] < (short)val) {
@@
-499,7
+499,7
@@
void cpa_r1_r2()
* CPL命令のテンプレート
* 汎用レジスタrの内容と値valを論理比較
*/
* CPL命令のテンプレート
* 汎用レジスタrの内容と値valを論理比較
*/
-void cpl(
const WORD r, const
WORD val)
+void cpl(
WORD r,
WORD val)
{
WORD w[1];
w[0] = sys->memory[sys->cpu->pr];
{
WORD w[1];
w[0] = sys->memory[sys->cpu->pr];