Инструкции по повороту Gameboy

В настоящее время я внедряю эмулятор Gameboy. Когда я реализовывал инструкции сдвига, я заметил, что инструкция RL смещается через перенос, а инструкция RLC сменяется без переноса. Не логичнее ли было бы поменять местами имена. Почему они так называются, есть ли за этим какая-то скрытая причина?


person alex mafas    schedule 12.07.2020    source источник
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
comment
Это становится еще более запутанным, поскольку ROR в 8086 без переноса, а ROR в 6800 — с переносом. - person bryc; 27.06.2021