Migrated to new ResolveOperands procedure

date	2000.04.03.22.53.00;	author rmoore1;	state Exp;
This commit is contained in:
aystarik 2005-06-29 17:20:22 +00:00
parent 321fc007da
commit 6850472c85

View File

@ -183,40 +183,24 @@ AmlExecCreateField (
FUNCTION_TRACE ("AmlExecCreateField"); FUNCTION_TRACE ("AmlExecCreateField");
/* DefCreateField := CreateFieldOp SourceBuff BitIndex NumBits NameString */ Status = AmlResolveOperands (Opcode, Operands);
if (AML_CreateFieldOp == Opcode)
{
Status = AmlPrepOperands ("lnnb", Operands);
NumOperands = 4;
}
/*
* Create[Bit|Byte|DWord|Word]Field
* DefCreate*Field := Create*FieldOp SourceBuff [Bit|Byte]Index NameString
*/
else
{
Status = AmlPrepOperands ("lnb", Operands);
NumOperands = 3;
}
if (Status != AE_OK) if (Status != AE_OK)
{ {
/* Invalid parameters on object stack */ /* Invalid parameters on object stack */
AmlAppendOperandDiag (_THIS_MODULE, __LINE__, Opcode, Operands, NumOperands); AmlAppendOperandDiag (_THIS_MODULE, __LINE__, Opcode, Operands, 3);
goto Cleanup; goto Cleanup;
} }
OpName = PsGetOpcodeName (Opcode);
DUMP_OPERANDS (Operands, IMODE_Execute, OpName, NumOperands, "after AmlPrepOperands");
/* Get the operands */ /* Get the operands */
if (AML_CreateFieldOp == Opcode) if (AML_CreateFieldOp == Opcode)
{ {
/* DefCreateField := CreateFieldOp SourceBuff BitIndex NumBits NameString */
NumOperands = 4;
ResDesc = Operands[0]; ResDesc = Operands[0];
CntDesc = Operands[-1]; CntDesc = Operands[-1];
OffDesc = Operands[-2]; OffDesc = Operands[-2];
@ -225,16 +209,24 @@ AmlExecCreateField (
else else
{ {
/*
* Create[Bit|Byte|DWord|Word]Field
* DefCreate*Field := Create*FieldOp SourceBuff [Bit|Byte]Index NameString
*/
NumOperands = 3;
ResDesc = Operands[0]; ResDesc = Operands[0];
OffDesc = Operands[-1]; OffDesc = Operands[-1];
SrcDesc = Operands[-2]; SrcDesc = Operands[-2];
} }
OpName = PsGetOpcodeName (Opcode);
DUMP_OPERANDS (Operands, IMODE_Execute, OpName, NumOperands, "after AmlResolveOperands");
Offset = OffDesc->Number.Value; Offset = OffDesc->Number.Value;
/* If ResDesc is a Name, it will be a direct name pointer after AmlPrepOperands() */ /* If ResDesc is a Name, it will be a direct name pointer after AmlResolveOperands() */
if (!VALID_DESCRIPTOR_TYPE (ResDesc, DESC_TYPE_NTE)) if (!VALID_DESCRIPTOR_TYPE (ResDesc, DESC_TYPE_NTE))
{ {