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

void VarDumpS(int base,VARSYS2 *var)
/* 変数領域ダンプ */
// for STK (printf2を使っている)
{
short flook=0,p;
unsint type;
long num;
unchar *vname;
	if (base&BIT15) {
		flook=1;
		base^=BIT15;
	}
	for (p=VTOP2;p<var->vpoint;p++) {
		type =var->vwork[p].type; // 型
		// 表示
		if (flook||(type&VTYPE)!=VTYPE-1) {
			num  =var->vwork[p].num;  // 数値
			vname=var->vwork[p].adrs; // 変数名
			printf2("%s\t",vname+(var->mode&BIT0));
			if (!(type&VKAKU)) { // 確定
				// 数値そのもの
				printf2("%d",num);
				if (base!=10) { // 10進以外指定の時は同時表示
				    unchar dec[2+BINT+1];
					printf2("(%s)",&dec[make_base(num,dec,base+100)]);
				}
				// type
				printf2("[%d]",type&VTYPE);
			} else	printf2("未確定");
			printf2(type&VDAI? "(再代入不可)\n":"\n");
		} /* VTYPE==VTYPE-1の変数は表示されない */
	}
}
