АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример 8. Пусть команда JZ L расположена по адресу 2010h, а метка L соответствует адресу 2072h

Читайте также:
  1. I. 1.1. Пример разработки модели задачи технического контроля
  2. IV. ТИПОВОЙ ПРИМЕР РАСЧЕТОВ.
  3. X. примерный перечень вопросов к итоговой аттестации
  4. Б2. Пример №2
  5. Буду на работе с драконом примерно до 21:00.
  6. Булевы функции. Способы задания. Примеры.
  7. В нашем примере каждый доллар первоначального депозита обеспечил 5 дол. средств на банковских счетах.
  8. В некоторых странах, например в США, президента заменяет вице-
  9. В примере
  10. В странах Востока (на примере Индии и Китая)
  11. Вания. Одной из таких областей является, например, регулирова-
  12. Вариационные задачи с подвижными границами. Пример в теории управления.

Пусть команда JZ L расположена по адресу 2010h, а метка L соответствует адресу 2072h. Получим машинное представление этой команды.

Смещение будет равно:

2072 - (2010+2)=2072+DFEE=0060

Это число со знаком может быть закодировано в 1 байте, следовательно, такой переход возможен. Используя код команды из табл. 6.4, получим машинное представление этой команды: 7460 h.

Рассматриваемая команда передаст управление по адресу 2072, если к моменту ее выполнения ZF=1. При состоянии признака ZF регистра флагов, равном нулю, управление будет передано следующей команде, то есть по адресу 2012.

Теперь рассмотрим пример кодирования команд, представляющих собой некоторый законченный в смысловом отношении фрагмент программы.

Необходимо сложить l слов a[i], расположенных последовательно в оперативной памяти, начиная с адреса [31A6h], а результат записать по адресу [3000h].

Один из возможных вариантов программы, не использующий команду цикла, представлен в табл. 8.1. В программе предполагается, что конечный и промежуточные результаты не превышают длины слова. Количество слагаемых также занимает слово и записано перед исходным массивом, то есть по адресу 31A4h. Начальное значение IP взято произвольно.

Таблица 8.1. Пример программы  
Символическая запись Комментарий IP Машинное представление  
2-й код 16-й код  
MOV CX,[31A4h] CX = l     8B 0E A4  
SUB AX,AX S = 0     C0  
MOV SI,AX i = 0     8B F0  
CYC: ADD AX,[SI+31A6h] S = S+a[i]     A6  
ADD SI,2 i = i+1 010C   C6  
DEC CX l = l-1 010F      
JNZ CYC перейти, если l 0     F6  
MOV [3000h],AX SUM = S     A1  

Отметим некоторые особенности использования отдельных команд этой программы. Обнуление регистра AX осуществляется вычитанием его содержимого из самого себя. Переход к новому слагаемому достигается использованием регистровой относительной адресации с изменением на каждом шаге содержимого индексного регистра на длину слагаемого, то есть на 2. Последняя команда, засылка результата, закодирована в специальном формате работы с аккумулятором.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)