//---------------------------------------------------------------------- public void DDWord(int AIndex, UInt64 AValue, EUlEndian AEndian = EUlEndian.Little) { if (AEndian == EUlEndian.Little) { Byte(AIndex + 0, UlBinTrim.LoByte(UlBinTrim.LoWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 1, UlBinTrim.HiByte(UlBinTrim.LoWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 2, UlBinTrim.LoByte(UlBinTrim.HiWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 3, UlBinTrim.HiByte(UlBinTrim.HiWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 4, UlBinTrim.LoByte(UlBinTrim.LoWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 5, UlBinTrim.HiByte(UlBinTrim.LoWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 6, UlBinTrim.LoByte(UlBinTrim.HiWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 7, UlBinTrim.HiByte(UlBinTrim.HiWord(UlBinTrim.HiDWord(AValue)))); } else { Byte(AIndex + 0, UlBinTrim.HiByte(UlBinTrim.HiWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 1, UlBinTrim.LoByte(UlBinTrim.HiWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 2, UlBinTrim.HiByte(UlBinTrim.LoWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 3, UlBinTrim.LoByte(UlBinTrim.LoWord(UlBinTrim.HiDWord(AValue)))); Byte(AIndex + 4, UlBinTrim.HiByte(UlBinTrim.HiWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 5, UlBinTrim.LoByte(UlBinTrim.HiWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 6, UlBinTrim.HiByte(UlBinTrim.LoWord(UlBinTrim.LoDWord(AValue)))); Byte(AIndex + 7, UlBinTrim.LoByte(UlBinTrim.LoWord(UlBinTrim.LoDWord(AValue)))); } }
//---------------------------------------------------------------------- public void Word(int AIndex, UInt16 AValue, EUlEndian AEndian = EUlEndian.Little) { if (AEndian == EUlEndian.Little) { Byte(AIndex + 0, UlBinTrim.LoByte(AValue)); Byte(AIndex + 1, UlBinTrim.HiByte(AValue)); } else { Byte(AIndex + 0, UlBinTrim.HiByte(AValue)); Byte(AIndex + 1, UlBinTrim.LoByte(AValue)); } }
//---------------------------------------------------------------------- public UInt64 DDWord(int AIndex, EUlEndian AEndian = EUlEndian.Little) { UInt64 nRet = 0; for (int i = 0; i < 8; i++) { if (AEndian == EUlEndian.Little) { nRet |= Convert.ToUInt64((Convert.ToUInt64(Byte(AIndex + i)) << (i * 8))); } else { nRet |= Convert.ToUInt64((Convert.ToUInt64(Byte(AIndex + i)) << (56 - i * 8))); } } return(nRet); }
//---------------------------------------------------------------------- public UInt32 DWord(int AIndex, EUlEndian AEndian = EUlEndian.Little) { UInt32 nRet = 0; for (int i = 0; i < 4; i++) { if (AEndian == EUlEndian.Little) { nRet |= Convert.ToUInt32((Convert.ToUInt32(Byte(AIndex + i)) << (i * 8))); } else { nRet |= Convert.ToUInt32((Convert.ToUInt32((Byte(AIndex + i)) << (24 - i * 8)))); } } return(nRet); }
//---------------------------------------------------------------------- public UInt16 Word(int AIndex, EUlEndian AEndian = EUlEndian.Little) { UInt16 nRet = 0; for (int i = 0; i < 2; i++) { if (AEndian == EUlEndian.Little) { nRet |= Convert.ToUInt16(Byte(AIndex + i) << (i * 8)); } else { nRet |= Convert.ToUInt16(Byte(AIndex + i) << (8 - i * 8)); } } return(nRet); }