当前位置: 首页>>代码示例>>C++>>正文


C++ Labels::value方法代码示例

本文整理汇总了C++中Labels::value方法的典型用法代码示例。如果您正苦于以下问题:C++ Labels::value方法的具体用法?C++ Labels::value怎么用?C++ Labels::value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Labels的用法示例。


在下文中一共展示了Labels::value方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: solveMatch

void Operands::solveMatch(struct s_match m, struct s_operand *op, Labels labels, struct s_status *status)
{
	op->name = m.element;
	op->operation = m.operation;
	op->aritOperand = m.operand;
	op->aritOperandType = TYPE_NONE;
	op->type = TYPE_LABEL;

	// if the operand is a label
	if((m.subtype[TYPE_ADDRESS] || m.subtype[TYPE_LABEL]) && labels.exists(op->name))
		op->value = Number::toBin(labels.value(op->name));
	// if not, it might be a number
	else if (Number::exists(op->name))
		op->value == Number::toBin(op->name);
	else
		throw(eUndefinedLabel);

	// checks if there is an operation
	if(op->operation.compare("") != 0)
		Operands::solveOperation(op, labels, status);
}
开发者ID:mgmillani,项目名称:hephasmos,代码行数:21,代码来源:operands.cpp

示例2: solveOperation

/**
  * resolve a operacao aritmetica presente no operando, escrevendo o valor em o->value
  */
void Operands::solveOperation(t_operand *op,Labels labels,t_status *status)
{
	if(op->operation.compare("") == 0)
		return;

	bool opPotentialLabel = false;
	Number *operand = NULL;
	if(status != NULL)
			status->label = (char *)op->aritOperand.c_str();
	if(labels.exists(op->aritOperand))
	{
		operand = new Number(Number::toBin(labels.value(op->aritOperand)));
	}
	else
	{
		try
		{
			operand = new Number(op->aritOperand);
		}
		catch(e_exception e)
		{
			opPotentialLabel = true;
		}
	}

	if(!opPotentialLabel)
	{
		Number result(op->value);
		result.operate(op->operation[0],*operand);
		op->value = result.toBin();
		delete operand;
	}
	else
	{
		op->aritOperandType = TYPE_LABEL;
		throw(eUndefinedLabel);
	}

}
开发者ID:mgmillani,项目名称:hephasmos,代码行数:42,代码来源:operands.cpp


注:本文中的Labels::value方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。