WORD adr = 0x0;
if(*str == '=') {
adr = getliteral(str, pass);
- } else if((*str == '#') || isdigit(*str) || *str == '-') {
+ } else if(isdigit(*str) || *str == '-' || *str == '#') {
adr = nh2word(str);
} else {
if(pass == SECOND && (adr = getlabel(prog, str)) == 0xFFFF) {
#include "casl2.h"
#include "assemble.h"
-int labelcnt = 0; /* ラベル数 */
+int labelcnt = 0; /* ラベル数 */
LABELTAB *labels[LABELTABSIZE]; /* ラベル表 */
/* プログラム名とラベルに対応するハッシュ値を返す */
setcerr(101, label); /* label already defined */
return false;
}
- /* ã\83\97ã\83ã\82°ã\83©ã\83 å\90\8dã\80\81ã\83©ã\83\99ã\83«ã\80\81ã\82¢ã\83\89ã\83¬ã\82¹ã\82\92è¨å®\9aã\80\82ã\83¡ã\83¢ã\83ªã\83¼ã\82\92確ä¿\9dã\81§ã\81\8dã\81ªã\81\84å ´å\90\88ã\81¯ã\82¨ã\83©ã\83¼ç\99ºç\94\9f */
+ /* プログラム名、ラベル、アドレスを設定。メモリを確保できない場合はエラー発生 */
if((np = malloc(sizeof(LABELTAB))) == NULL || (np->label = strdup(label)) == NULL ||
(prog != NULL && (np->prog = strdup(prog)) == NULL))
{