Я поступаю проще. В 51-х строго регламентировано время выполнения
каждой операции, поэтому делаю ногодрыгом UART со скоростью 3Mbps
на любой из портов. К компу подключаю через преобразователь на FTDI
и по ходу выполнения смотрю, что надо в терминале. В таком варианте можно динамически выводить нужные данные. Разве что, приходится пожертвовать одним выводом и небольшим куском памяти программ (мой самописный printf на асме забирает ~512байт).