} PASS;
/* ラベル表からアドレスを検索する */
-WORD getlabel(const char *label, const char *prog);
+WORD getlabel(const char *prog, const char *label);
/* ラベルを表に追加する */
bool addlabel(const char *prog, const char *label, WORD word);
} else if(isdigit(*str) || *str == '-') {
adr = getint(str);
} else {
- if(pass == SECOND && (adr = getlabel(str, prog)) == 0xFFFF) {
+ if(pass == SECOND && (adr = getlabel(prog, str)) == 0xFFFF) {
setcerr(103, str); /* label not found */
}
}
} else if(isdigit(*str) || *str == '-') {
adr = getint(str);
} else {
- if(pass == SECOND && (adr = getlabel(str, prog)) == 0xFFFF) {
+ if(pass == SECOND && (adr = getlabel(prog, str)) == 0xFFFF) {
setcerr(103, str); /* label not found */
}
}
prog = strdup(cmdl->label);
/* オペランドがある場合、実行開始番地を設定 */
if(pass == SECOND && cmdl->opd->opdc == 1) {
- if((startptr = getlabel(cmdl->opd->opdv[0], prog)) == 0xFFFF) {
+ if((startptr = getlabel(prog, cmdl->opd->opdv[0])) == 0xFFFF) {
setcerr(103, cmdl->opd->opdv[0]); /* label not found */
}
}
LABELTAB *labels[LABELTABSIZE];
/* ラベル表からアドレスを検索する */
-WORD getlabel(const char *label, const char *prog)
+WORD getlabel(const char *prog, const char *label)
{
LABELTAB *np;
LABELTAB *np;
unsigned hashval;
- if(getlabel(label, prog) != 0xFFFF) {
+ if(getlabel(prog, label) != 0xFFFF) {
setcerr(101, label); /* label already defined */
return false;
}