Посмотрел.
Короче, вы записываете ассемблерные вставки по какому-то диапазону адресов *p_translation_ptr = 0x90, а затем зачем-то пихаете туда сам адрес последней инструкцией:
*p_translation_ptr = translation_ptr;
Получается какая-то неведомая ассемблерная инструкция (если скажите адрес, то можно будет наверное сказать — какая именно получается), в которой через каждые 128 проходов цикла инвертируется какой-то важный бит, в результате чего инструкция, сконструированная по адресу то прокатывает, то не прокатывает.
Извините, что если не так понял в коде — спать хочется.