Кроме shld, push еще xthl, call, rst, у z80 еще добавляются ld (nn),de/bc/sp/ix/iy. Наверно запись в последнем цикле все же более приемлемый компромисс, чем в начале.