Организация массивов данных. Режимы адресации. Цикл выборки адреса и операнда БЭВМ

Массивы в БЭВМ

Массивы в БЭВМ организуются как последовательность элементов, расположенных в соседних ячейках памяти. Обычно используется указатель (адрес первого или последнего элемента массива), который хранится в отдельной ячейке памяти. Для последовательного обхода массива удобно использовать косвенную автоинкрементную или автодекрементную адресацию.

Символьные данные представляются 8-разрядными кодами. Так как длина слова БЭВМ составляет 16 бит, в одной ячейке памяти могут храниться два символа. Данные, слово которых занимает больше 16 бит, располагаются в нескольких соседних ячейках памяти (требуется определить порядок).

В БЭВМ используются следующие режимы адресации:

  • Прямая абсолютная — адрес операнда непосредственно содержится в команде.
  • Косвенная относительная — в команде задаётся адрес ячейки, содержащей адрес операнда.
  • Косвенная автоинкрементная — после обращения к операнду адрес увеличивается на единицу.
  • Косвенная автодекрементная — перед обращением к операнду адрес уменьшается на единицу.
  • Со смещением относительно SP — адрес вычисляется как сумма SP и смещения.
  • Прямая относительная — адрес вычисляется как сумма IP и смещения.
  • Прямая загрузка операнда — операнд содержится непосредственно в команде.

Цикл выборки адреса и операнда зависит от используемого режима адресации:

AF (Address Fetch), OF (Operand Fetch), SXT (Sign eXTension)

В прямой загрузке нет выборки операнда и адреса, т. к. операнд непосредственно содержится внутри команды.