У меня есть свой дизассемблер, вот я и тренеруюсь на кошках

Да и чего там изучать - всего 256 байт...
Начало блока, и else теперь - у них есть общее: генерация jmp и запись куда-то (по адресу в регистре) адреса после этого jmp. Я думаю, это можно выделить в подпрограмму.