/* 変数管理システム */
#include "var.h"

short VarNumWrite(short point,long num,unsint type,VARSYS2 *var)
/* 変数数値+型代入 */
{
	if (type&BIT15) {
		type=var->vwork[point].type&(~VKAKU); /* 確定にするのみ */
	} else {
		if (type&BIT14) type^=(BIT14); /* 再代入不可にかかわらず代入する */
		else if (var->vwork[point].type&VDAI) return(VARCSTA0); /* 再代入不可 */
	}
	var->vwork[point].type=type;
	var->vwork[point].num=num;
	#if DEBUG
	if (type&VKAKU) printf2("←未確定");
	else printf2("[%x]←%ld%s",point,num,type&VDAI? ":再代入不可":"");
	printf2("\n");
	#endif
	return(point+1);
}
