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

