Рис.2.2. Структура команд:
А – 4-х адресная, Б – 3-х адресная, В – 2-х адресная, Г – одноадресная, Д - безадресная
По длине команды различают:
· с постоянной длиной,
· с переменной длиной
Следует различать понятия адресный код в команде Ак и исполнительный адрес Аи. Адресный код – это информация об адресе операнда, содержащаяся в команде. Исполнительный адрес – это номер ячейки памяти, к которой производится фактическое обращение. Как правило, адресный код не совпадает с исполнительным адресом.
По способам адресации различают:
· подразумеваемый операнд – в команде не содержится явных указаний об адресе операнда; операнд подразумевается и фактически задается кодом операции команды (пример использования: команда подсчета, в которой к содержимому счетчика прибавляется фиксированное приращение, чаще единица младшего разряда, один из операндов – число в счетчике – обычно адресуется явным методом, второй операнд – приращение – не адресуется, в памяти машины не содержится и является подразумеваемым),
· подразумеваемый адрес – в команде не содержится явных указаний об адресе участвующего в операции операнда или адреса, по которому помещается результат операции, но этот адрес подразумевается (пример: команда может содержать адреса обоих операндов, при этом подразумевается, что результат помещается по адресу одного из операндов, или команда указывает адрес одного операнда, а адрес второго, которым является содержимое специального регистра (называемого регистром результата или аккумулятором), подразумевается),
· непосредственная адресация – в команде содержится не адрес операнда, а непосредственно сам операнд; так как не требуется обращения к памяти для выборки операнда и ячейки для его хранения, то это способствует уменьшению времени выполнения программы и занимаемого ею объема памяти (использование: хранение различного рода констант),
· прямая адресация – исполнительный адрес совпадает с адресной частью команды; минусом является слишком большая адресация (длинное машинное слово),
· относительная адресация с базированием – исполнительный адрес определяется суммой адресного кода команды Ак и некоторого числа Аб, называемого базовым адресом; для хранения базовых адресов в машине могут быть предусмотрены регистры или специально выделенные для этой цели ячейки памяти (базовые регистры); в команде выделяется поле В для указания номера базового регистра; плюсы: при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти, для этого число разрядов в базовом адресе выбирают таким, чтобы можно было адресовать любую ячейку ОП, а адресный код Ак самой команды используют для представления лишь сравнительно короткого «смещения» (обозначают буквой D), которое определяет положение операнда относительно начала массива, задаваемого базовым адресом Аб (см. рис.2.3),
Рис.2.3. Базирование (относительная адресация):
А) – формирование исполнительного адреса суммированием,
Б) – формирование исполнительного адреса совмещением
· относительная адресация с индексированием используется для обработки массивов данных – в РОН выделяется ячейка или регистр, в котором хранится начальное значение индекса, это значение складывается с адресным полем команде D (смещением) и получается адрес ОЗУ, по которому хранится первый элемент массива, для получения следующих элементов массива значение индексной константы изменяется на заданную величину (приращение D): РОН[X]±D
КОП |
Х |
D |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.