Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
4. ЗАКЛЮЧЕНИЕ. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СИСТЕМ АДРЕСАЦИИ ИСПОЛЬЗУЕМЫХ В CM1700 И В ПЭВМ НА БАЗЕ ПРОЦЕССОРА 80386.
В двух предыдущих разделах мы привели примеры и описали основные способы адресации, используемые в машинах двух разных семейств - мини- и микроЭВМ. Конечно, это не все, что можно сказать о системах адресации для компьютеров этих семейств, тем не менее основные способы задания адресов и адресации операндов были рассмотрены и можно попытаться проанализировать, сравнить и привести примеры использования тех способов адресации, которые были описаны.
Для начала, рассмотрим самые простые способы адресации, такие как регистровая, прямая, непосредственная и короткого литерала. Про регистровую адресацию трудно написать больше, чем уже было написано. Естественно, что этот способ адресации поддерживается и на СМ1700 и 80386 процессором, как впрочем, вообще всеми процессорами семейства 80х86 и многими другими процессорами, которые имеют регистровую память. Несмотря на простоту этого способа адресации, он достаточно часто используется для манипуляции регистрами, их очистки, модификации их содержимого. Регистровая память отличается очень большой скоростью, и поэтому большинство вычислений, особенно несложных программисты пытаются делать в этих регистрах. В них помещают начальные значения, производят вычисления, модификацию и как-то используют полученные результаты. Для всех этих действий естественным является применение именно регистрового способа адресации. Большим подспорьем регистровому способу адресации является режим непосредственной адресации. Конечно в основном он используется для загрузки в регистры начальных значений, заранее известных адресов, сравнения с константой и так далее. Но если копнуть чуть глубже, то этот способ адресации дает еще множество удобств. Например, для перехода по заранее известному адресу представленному в виде сегмента со смещением можно использовать такой код: push 0f000h push 0ffffh ret Команда RET берет из стека значения сегмента и смещения, а потом делает межсегментный переход. Представим себе, выполнение подобного кода без возможности помещать на вершину стека непосредственное значение: mov ax, 0f000h push ax mov ax, 0ffffh push ax ret Как видим, выглядит это не слишком компактно, в сравнении с предыдущим примером, и можете быть уверены, что выполняется это на несколько тактов дольше. Это самый простой пример применения непосредственной адресации, на самом деле ее применение гораздо шире, особенно если интенсивно используются работа с операционной системой, где все значения, адреса и параметры стандартизированы и в основном заранее известны. На СМ 1700 режим непосредственной адресации реализуется программно, с использованием счетчика инструкций, а в машинах на базе i386 он реализуется аппаратно. Трудно сказать что лучше, однако в СМ 1700 предусмотрен еще и режим короткого литерала, преимущества которого перед обычной непосредственной адресацией данных меньших чем 64 беспорны. В 80386 процессоре ничего подобного не предусмотрено, хотя может быть это лучше - не увеличивает систему команд и следовательно упрощает структуру процессора.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |


