public static void BCF(string commandAsString) { int myLiteralAsNum = Convert.ToInt32(commandAsString, 16); // string zu int konvertieren string binary = Convert.ToString(myLiteralAsNum, 2); // int zu Binärstring konvertieren string fLiteralbinary = binary.Substring(6, 7); //Argument, Adresse f auslesen string bLiteralbinary = binary.Substring(3, 3); // Argument d auslesen ob 1 oder 0 int fAsInt = Convert.ToInt32(fLiteralbinary, 2); //Binäradresse wird als Int gespeichert byte fAsByteUnchecked = Convert.ToByte(fAsInt); byte fAsByte = CheckIndirectAddressing(fAsByteUnchecked); //Indirekte Adressierung wird überprüft byte fWert = Registerspeicher.getRegisterWert(fAsByte); int bAsInt = Convert.ToInt32(bLiteralbinary, 2); //B-binär wird als Int gespeichert byte result = 0; if (bAsInt == 0) { result = (byte)(fWert & 0xFE); } else if (bAsInt == 1) { result = (byte)(fWert & 0xFD); } else if (bAsInt == 2) { result = (byte)(fWert & 0xFB); } else if (bAsInt == 3) { result = (byte)(fWert & 0xF7); } else if (bAsInt == 4) { result = (byte)(fWert & 0xEF); } else if (bAsInt == 5) { result = (byte)(fWert & 0xDF); } else if (bAsInt == 6) { result = (byte)(fWert & 0xBF); } else if (bAsInt == 7) { result = (byte)(fWert & 0x7F); } else { MessageBox.Show("Problem BCF - b is not defined"); } Registerspeicher.setRegisterBCF(fAsByte, result); }