private void interpretMovIndirectOffsetDirect8(Instruction ins) { IndirectOffset offs = (IndirectOffset)ins.Operand1.Value; Register reg1 = offs.Register; Register reg2 = (Register)ins.Operand2.Value; memory.WriteInt8((uint)((int)GetGeneralPurposeRegister(reg1) + offs.Offset), (byte)GetGeneralPurposeRegister(reg2)); }
private void interpretMovDirectIndirect(Instruction ins) { IndirectOffset offs = (IndirectOffset)ins.Operand2.Value; Register reg1 = (Register)ins.Operand1.Value; Register reg2 = offs.Register; uint val = this.memory.ReadInt32((uint)((int)GetGeneralPurposeRegister(reg2) + offs.Offset)); SetGeneralPurposeRegister(reg1, val); }