 9cb57fb4bb
			
		
	
	
		9cb57fb4bb
		
	
	
	
	
		
			
			* Change naming convention for Ryujinx project * Change naming convention for ChocolArm64 project * Fix NaN * Remove unneeded this. from Ryujinx project * Adjust naming from new PRs * Name changes based on feedback * How did this get removed? * Rebasing fix * Change FP enum case * Remove prefix from ChocolArm64 classes - Part 1 * Remove prefix from ChocolArm64 classes - Part 2 * Fix alignment from last commit's renaming * Rename namespaces * Rename stragglers * Fix alignment * Rename OpCode class * Missed a few * Adjust alignment
		
			
				
	
	
		
			39 lines
		
	
	
		
			No EOL
		
	
	
		
			948 B
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			No EOL
		
	
	
		
			948 B
		
	
	
	
		
			C#
		
	
	
	
	
	
| using ChocolArm64.Instructions;
 | |
| using System;
 | |
| 
 | |
| namespace ChocolArm64.Decoders
 | |
| {
 | |
|     class OpCodeAluImm64 : OpCodeAlu64, IOpCodeAluImm64
 | |
|     {
 | |
|         public long Imm { get; private set; }
 | |
| 
 | |
|         public OpCodeAluImm64(Inst inst, long position, int opCode) : base(inst, position, opCode)
 | |
|         {
 | |
|             if (DataOp == DataOp.Arithmetic)
 | |
|             {
 | |
|                 Imm = (opCode >> 10) & 0xfff;
 | |
| 
 | |
|                 int shift = (opCode >> 22) & 3;
 | |
| 
 | |
|                 Imm <<= shift * 12;
 | |
|             }
 | |
|             else if (DataOp == DataOp.Logical)
 | |
|             {
 | |
|                 var bm = DecoderHelper.DecodeBitMask(opCode, true);
 | |
| 
 | |
|                 if (bm.IsUndefined)
 | |
|                 {
 | |
|                     Emitter = InstEmit.Und;
 | |
| 
 | |
|                     return;
 | |
|                 }
 | |
| 
 | |
|                 Imm = bm.WMask;
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 throw new ArgumentException(nameof(opCode));
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } |