EmitSingleDataTransfer() 공개 메소드

public EmitSingleDataTransfer ( ConditionCode conditionCode, Indexing indexing, OffsetDirection offsetDirection, TransferSize transferSize, WriteBack writeBack, TransferType transferType, int firstRegister, int destinationRegister, ShiftType secondShiftType, int secondRegister ) : void
conditionCode ConditionCode
indexing Indexing
offsetDirection OffsetDirection
transferSize TransferSize
writeBack WriteBack
transferType TransferType
firstRegister int
destinationRegister int
secondShiftType ShiftType
secondRegister int
리턴 void
예제 #1
0
 protected void EmitMemoryLoadStore(InstructionNode node, MachineCodeEmitter emitter, TransferType transferType)
 {
     if (node.Operand2.IsConstant)
     {
         emitter.EmitSingleDataTransfer(
             node.ConditionCode,
             Indexing.Post,
             OffsetDirection.Up,
             TransferSize.Word,
             WriteBack.NoWriteBack,
             transferType,
             node.Operand1.Index,
             node.Result.Index,
             (uint)node.Operand2.ConstantUnsignedLongInteger
             );
     }
     else
     {
         emitter.EmitSingleDataTransfer(
             node.ConditionCode,
             Indexing.Post,
             OffsetDirection.Up,
             TransferSize.Word,
             WriteBack.NoWriteBack,
             transferType,
             node.Operand1.Index,
             node.Result.Index,
             node.Operand2.ShiftType,
             node.Operand3.Index
             );
     }
 }
예제 #2
0
 protected void EmitMemoryLoadStore(InstructionNode node, MachineCodeEmitter emitter, TransferType transferType)
 {
     if (node.Operand2.IsConstant)
     {
         emitter.EmitSingleDataTransfer(
             node.ConditionCode,
             Indexing.Post,
             OffsetDirection.Up,
             TransferSize.Word,
             WriteBack.NoWriteBack,
             transferType,
             node.Operand1.Index,
             node.Result.Index,
             (uint)node.Operand2.ConstantUnsignedLongInteger
         );
     }
     else
     {
         emitter.EmitSingleDataTransfer(
               node.ConditionCode,
               Indexing.Post,
               OffsetDirection.Up,
               TransferSize.Word,
               WriteBack.NoWriteBack,
               transferType,
               node.Operand1.Index,
               node.Result.Index,
               node.Operand2.ShiftType,
               node.Operand3.Index
           );
     }
 }