Нормального кросс дизасма нет, потому что невозможно стопроцентно отделить данные от кода, даже при "пробегании". Константные параметры, которые явно вычисляются из пзушных данных кросс может вычислить, но неконстантные, взятые, скажем, из портов - нет. Не говори мне, что твой кросс сам нашел бы точку входа в процедуру, выполняющуюся в ОЗУ, если бы ты не поставил на нее вектор AdrErr. Причем, чтобы сделать это в IDA, нужно иметь всего лишь глаза и один раз ткнуть кнопку 'C'.