if (type == 0) patch_label();
void	transfer (int word0, int type){	int	i;	i = tokenix;	inst0 = word0;	if (type == 0 && reserved ("rel", i)) {		inst1 = evaluate (i + 2) - dsps - 8;		i += 4;		inst0 |= 0x00800000;	}	else if (type != 1) {		inst1 = evaluate (i);		++i;	}	if (i >= ntokens) {		inst0 |= 0x00080000;		store_inst ();		return;	}	if (tokens[i].type != ',')		errout ("Expected a separator, ',' assumed");	else		++i;	if (reserved("when", i))		inst0 |= 0x00010000;	else if (reserved ("if", i) == 0) {		errout ("Expected a reserved word");		store_inst ();		return;	}	i++;	if (reserved("false", i)) {		store_inst ();		return;	}	if (reserved ("not", i))		++i;	else		inst0 |= 0x00080000;	if (reserved ("atn", i)) {		inst0 |= 0x00020000;		++i;	} else if (CheckPhase (i)) {		inst0 |= 0x00020000;		++i;	}	if (i < ntokens && tokens[i].type != ',') {		if (inst0 & 0x00020000) {			if (inst0 & 0x00080000 && reserved ("and", i)) {				++i;			}			else if ((inst0 & 0x00080000) == 0 && reserved ("or", i)) {				++i;			}			else				errout ("Expected a reserved word");		}		inst0 |= 0x00040000 + (evaluate (i++) & 0xff);	}	if (i < ntokens) {		if (tokens[i].type == ',')			++i;		else			errout ("Expected a separator, ',' assumed");		if (reserved ("and", i) && reserved ("mask", i + 1))			inst0 |= ((evaluate (i + 2) & 0xff) << 8);		else			errout ("Expected , AND MASK");	}	store_inst ();}