Witam!
Mam listę tablic char [] o nazwie etykiety, zawierającą wszystkie etykiety potrzebne do skoków w maszynie RAM zebrane podczas pierwszego odczytu pola tekstowego zawierającego program. W dalszym ciągu sprawdzam i wykonuję program rozkaz po rozkazie.
Gdy natrafiam na instrukcję skoku wczytuje do listy znajdujący się za nią ciąg znaków i konwertuję na tablicę char [].
I teraz jest pies pogrzebany, bo nie mogę porównać tej tymczasowej etykiety (et_temp) z elementami listy
int size = etykieta_temp.Count() + 1;//
et_tmp = new char [size+1];//tworzy ciag znakow o dlugosci size
for (int s = 0;;s++)
{
if (s >= etykieta_temp.Count()) break;//
et_tmp = etykieta_temp.ToArray();//wypelnia go elementami wektora
}
for(int o = 0;o<etykiety.Count();++o) //sprawdzam czy etykieta pasuje do zbiotu etykiet
{
if (et_tmp.Equals(etykiety[o])) //jesli tak
{
z = index_etykiety[o];
break;
}
else z++; //w przeciwnym wypadku kontynuuje wykonanie programu
}
etykieta_temp.Clear();
No i mimo zgodności pomiędzy etykietami licznik rozkazów (z) się nie cofa tylko wykonuje operacje dalej.