о та же самая процедура, что и прямая адресация, за исключением того, что адресуется не ячейка памяти, а регистр. Типичной одноадресной командой, использующей прямую регистровую адресацию, является команда ADDR1, которая складывает содержимое регистра общего назначения 1 (РОН1) с содержимым аккумулятора. Некоторые ЭВМ должны использовать прямую регистровую адресацию для выполнения арифметических и логических операций.
Очевидно, что ей присущи достоинства и недостатки обычной прямой адресации. Регистровая прямая адресация даже быстрее, чем прямая адресация, так как ЦП нет необходимости извлекать данные из памяти. К тому же команды могут иметь более короткий формат, так как регистров меньше, чем ячеек памяти. Таким образом, прямая регистровая адресация — самый быстрый способ адресации, пригодный для большинства ЭВМ.
Ее очевидным недостатком является то, что сначала необходимо загрузить регистр общего назначения операндом, а после выполнения операции занести его обратно в память. Такой процесс требует дополнительных затрат времени и не пригоден, если программа использует содержимое регистра только 1 раз. Например, если необходимо сложить содержимое ячейки памяти 35 с содержимым аккумулятора, одиночная команда ADD 35 будет выполнена быстрее, чем последовательность
LOAD R1, 35
ADD R1
По команде LOAD Rl, 35 содержимое ячейки памяти 35 засылается в регистр 1. Однако, если необходимо сложить содержимое ячейки памяти 35 с сотней различных чисел, то число 35 следует загрузить в регистр 1 только 1 раз. Команда ADD Rl будет выполнена гораздо быстрее, чем команда ADD35, так как процессору не придется каждый раз извлекать из памяти содержимое ячейки 35. Таким образом, прямая регистровая адресация имеет преимущества, когда программа использует многократно одни и те же данные. Естественно, при этом необходимо внимательно произвести распределение ограниченного числа регистров.