В настоящее время я внедряю эмулятор Gameboy. Когда я реализовывал инструкции сдвига, я заметил, что инструкция RL смещается через перенос, а инструкция RLC сменяется без переноса. Не логичнее ли было бы поменять местами имена. Почему они так называются, есть ли за этим какая-то скрытая причина?
Инструкции по повороту Gameboy
comment
Intel 8080 (процессор Game Boy является производным от него) сделал это первым, но это ставит тот же вопрос перед 8080.
- person harold   schedule 12.07.2020
Ответы (1)
При мнемонике инструкций часто бывает трудно придать слишком большое значение именам. Однако здесь есть некоторый ответ, если посмотреть на длинные имена, показанные в некоторых (но не во всех) местах:
RL
: Повернуть влево
RLC
: Повернуть влево по кругу
Эти имена имеют смысл, если вы думаете, что перенос является частью кругового цикла в случае RLC
. Буква «C» в RLC
не для ношения, а для круглой формы.
person
Thomas Jager
schedule
12.07.2020
Это становится еще более запутанным, поскольку
ROR
в 8086 без переноса, а ROR
в 6800 — с переносом.
- person bryc; 27.06.2021