Из кодирования инструкции следует, что из 32 битов, которые занимает каждая инструкция, 8 используются для кодирования инструкции / операции, 4 используются для кодирования регистра, а остальные 20 используются для кодирования адреса в памяти.
Учитывая вышесказанное, я не вижу причин, по которым не может быть такой инструкции, как ADD, OR, MOV, XCHG и т. Д., Которая могла бы манипулировать двумя операндами памяти, адреса которых находятся в этих 20 битах, а регистр выбран эти остальные 4 бита.
Аналогичным образом, я не вижу причин, по которым регистры не могут находиться в основной памяти и выбираться либо 4-битным полем инструкции, либо соответствующим адресом в 20-битном поле инструкции. Существует много процессоров, регистры которых не имеют хранилища отдельно от основной памяти и являются просто фиксированными ячейками основной памяти.
Как указывалось выше, проблема дает возможность ответить на оба вопроса.