コード例 #1
0
ファイル: Helpers.cs プロジェクト: derplayer/x8086Sharp
 private ushort Param(ParamIndex index, ushort ipOffset = 1, DataSize size = X8086.DataSize.UseAddressingMode)
 {
     if (size == DataSize.UseAddressingMode)
     {
         size = addrMode.Size;
     }
     opCodeSize += (byte)(size + 1);
     return(ParamNOPS(index, ipOffset, size));
 }
コード例 #2
0
ファイル: Helpers.cs プロジェクト: derplayer/x8086Sharp
        private ushort ParamNOPS(ParamIndex index, ushort ipOffset = 1, DataSize size = X8086.DataSize.UseAddressingMode)
        {
            // Extra cycles for address misalignment
            // This is too CPU expensive, with few benefits, if any... not worth it
            //If (mRegisters.IP Mod 2) <> 0 Then clkCyc += 4

            return((ushort)((size == DataSize.Byte || (size == DataSize.UseAddressingMode && addrMode.Size == DataSize.Byte)) ? (
                                get_RAM8(mRegisters.CS, mRegisters.IP, (byte)(ipOffset + index), true)) : (
                                get_RAM16(mRegisters.CS, mRegisters.IP, (byte)(ipOffset + (int)index * 2), true))));
        }