Непосредственная адресация

Косвенная регистровая адресация

Косвенная адресация

Регистровая адресация

1) Слово данных - размещено в одном из регистров;

 

2) В поле атрибута - адрес регистра;

 

3) Обозначать будем - reg, либо, если имеется в виду специальный регистр, имя специального регистра (RC, PC, SP,..)

 

 

1) Слово данных - в одной из ячеек ОЗУ (или – нескольких соседних ячейках, если слово данных – длинное);

 

2) В поле атрибута хранится адрес ячейки памяти, но не той ячейки памяти, где находятся сами данные, другой ячейки – называемой "указателем на данные" или "прост "указателем". А вот указатель – уже содержит адрес слова данных. То есть процессор, когда требуется выбрать из памяти слово данных указанное косвенной адресацией, сначала выбирает адрес размещения данных из указателя, и лишь затем – по выбранному из указателя адресу выбирает само слово данных.

 

3) Обозначать будем - [mem]. Скобки указывают, что ячейка mem - не само слово данных, а только указатель на данные.

 

4) Такой способ адресации, хоть и может показаться "странным", на самом деле – бывает очень полезен. Например когда необходимо адресоваться к элементам массива, и во многих других случаях – вы ещё успеете увидеть эти случаи, в том числе - и в нашем курсе.

 

1) Отличается от косвенной только тем, что: указатель находится не в ОЗУ, а в одном из регистров.

2) Обозначать будем: [reg] ( например: [reg1] [reg2]…, или, если в качестве указателя специальный регистр, то [SP], [PC] …

 

 

1) Атрибут команды – сам и является искомым словом данных;

2) Т.к. команды не переписываются в ходе выполнения программы, этим методом адресации - возможно адресовать только константы, но не переменные программы.

3) Обозначать будем: #имя, где имя – некое имя которым названа данная константа.