Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 59 стр.

UptoLike

Составители: 

массива на предмет поиска в нем байта F6 (абстрактный пример, весь
смысл которогонайти нужный байт).
Составляем программу, используя подходящую для этого случая
циклическую команду:
MOV BX, 04FF ;загрузить предначальный адрес массива в BX;
MOV CX, 0100 ;загрузить число байтов (циклов) в СX;
M1: INC BX ;подготовить следующий адрес;
CMP BYTE [BX],F6 ;сравнить элемент массива в М
<ВХ>
с F6, и
LOOPNZ M1 ;если элемент обнаружен или CX = 0, то
;выйти из цикла.
Таким образом, цикл будет повторяться до тех пор, пока CX0 и
Z0, или более точно по смыслу: цикл будет продолжаться до конца в том
случае, если до окончания заданного числа циклов не будет обнаружен
байт F6. А иначе досрочное прекращение цикла, при этом в BX окажется
адрес элемента массива F6.
10 Цепочные команды
Цепочные (или строчные) команды реализованы в МП 8086 в
количестве 5-и штук. Это очень «крутые» команды, хотя любая из этих
команд состоит только из одного байта. При изучении данной группы
команд важно понять механизм их выполнения, так как по умолчанию
они используют до 6-и регистров с четко определенными функциями.
Для облегчения изучения этой группы команд сначала «раскрутим» одну
только команду, которая представлена в двух видах:
а) команда MOVSB, KOП = A4;
б) команда MOVSW, KOП = А5.
По мнемокоду ассемблера можно догадаться, что это команда пересылки,
только с некоторым расширением:
Sцепочная (строчная) команда;
B и Wсоответственно байт и слово.
Больше в мнемокодах нет никакой информации. Начнем «раскручивать» эту
команду. Основные параметры и этапы выполнения команды:
1) Пересылка: dst := <src> пересылка из источника в
приемник, где
dst = M
<ES:DI>
,
src = M
<DS:SI>
.
Значит, команда позволяет переслать байт или слово из ячейки памяти
одного сегмента в ячейку памяти другого сегмента.
2) После пересылки :
а) DI:= <DI> ± 1, SI:= <SI> ± 1, если переслали
байт;
59
массива на предмет поиска в нем байта F6 (абстрактный пример, весь
смысл которого — найти нужный байт).
     Составляем программу, используя подходящую для этого случая
циклическую команду:
     MOV BX, 04FF      ;загрузить предначальный адрес массива в BX;
     MOV CX, 0100      ;загрузить число байтов (циклов) в СX;
M1: INC BX          ;подготовить следующий адрес;
     CMP BYTE [BX],F6 ;сравнить элемент массива в М<ВХ> с F6, и
     LOOPNZ M1      ;если элемент обнаружен или CX = 0, то
                          ;выйти из цикла.

           Таким образом, цикл будет повторяться до тех пор, пока CX≠0 и
     Z≠0, или более точно по смыслу: цикл будет продолжаться до конца в том
     случае, если до окончания заданного числа циклов не будет обнаружен
     байт F6. А иначе досрочное прекращение цикла, при этом в BX окажется
     адрес элемента массива F6.

                        10 Цепочные команды

     Цепочные (или строчные) команды реализованы в МП 8086 в
количестве 5-и штук. Это очень «крутые» команды, хотя любая из этих
команд состоит только из одного байта. При изучении данной группы
команд важно понять механизм их выполнения, так как по умолчанию
они используют до 6-и регистров с четко определенными функциями.
Для облегчения изучения этой группы команд сначала «раскрутим» одну
только команду, которая представлена в двух видах:
     а) команда MOVSB, KOП = A4;
     б) команда MOVSW, KOП = А5.
     По мнемокоду ассемблера можно догадаться, что это команда пересылки,
только с некоторым расширением:
     S — цепочная (строчная) команда;
     B и W —соответственно байт и слово.
Больше в мнемокодах нет никакой информации. Начнем «раскручивать» эту
команду. Основные параметры и этапы выполнения команды:
     1) Пересылка: dst :=  — пересылка из источника в
приемник, где
     dst = M ,
     src = M.
 Значит, команда позволяет переслать байт или слово из ячейки памяти
одного сегмента в ячейку памяти другого сегмента.
     2) После пересылки :
            а) DI:=  ± 1, SI:=  ± 1, если переслали
     байт;

                                                                         59