Для правильного вопроса надо знать половину ответа
Ошибка перевода. В оригинале - потребуется четыре байта, вместо двух.
It could have used the MVI (Move Immediate) instructions rather than SUB instructions for this job, but that would have required 4 instruction bytes rather than 2.
SUB H,H кодируется в один байт. MVI H,00H кодируется в два байта.