Задать вопрос
@BasilikTheodore

Как занулить регистры на процессоре Intel 8080 при помощи команды MVI?

Добрый день!
Читаю книгу "Код" Чарльза Петцольда. Он рассматривает код, который осуществляет умножение двух восьмибитовых чисел:
6785154a1ac5e064694673.png.
Для зануления регистров H и L используются команды:
SUB H,H
SUB L,L
Об этом он пишет:
"Затем подпрограмма обнуляет содержимое регистров H и L. То же действие можно выполнить и с помощью команд MVI, но их понадобилось бы 4, а не 2, как команд SUB. "
Пожалуйста, поясните, почему для зануления необходимо 4 раза использовать команду MVI.
Разве двух не будет достаточно:
MVI H, 00h
MVI L, 00h ?
  • Вопрос задан
  • 51 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ошибка перевода. В оригинале - потребуется четыре байта, вместо двух.
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 кодируется в два байта.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы