Реферат: Разработка программы на Ассемблере

      ....

      mov cx,64h;блок операторов от метки syc до loop syc

syc:   ....;будет выполнен 100 раз.

       ....

       loop syc

2. LOOPZ NAME или LOOPE NAME кроме того осуществляет проверку ZF флага. Поэтому цикл заканчивается по условию, когда (CX) = 0 или (ZF) = 0 или и то и другое вместе. Т.о. эта команда служит для обнаружения первого ненулевого результата.

3. LOOPNZ, LOOPNE - выход из цикла по "нулю".

 

       ....

       mov cx,1000d;цикл может быть завершен раньше 1000

next:  .... ;прохода,если содержимое аккумулятора

       .... ;станет равным 129,т.е. равным ASCII коду

       cmp al,'Б';буквы Б.

       loopnz next

9.3.9 КОМАНДЫ ОБРАБОТКИ СТРОК (ЦЕПОЧЕК БАЙТОВ)

1. LODSB; команда lodsb загружает байт адресованный регистром SI из сегмента данных, и увеличивает SI на 1, если перед этим была введена команда CLD (очистить флаг направления DF) и уменьшает SI на 1, если была использована команда STD (установить флаг направления).

 

       ....

       .DATA

string DB 'abcdefg'

       .CODE

       ....

       cld;после выполнения этих команд в AL будет

       mov si,OFFSET [string+2]; загружен ASCII код 'с'

       lodsb;причем содержимое SI будет указывать на 'd'.

2. MOVSB; эта команда перемещает один байт из ячейки памяти с адресом в регистре SI в ячейку памяти с адресом в регистре DI и увеличивает (SI) и (DI) на 1. Значение SI может находиться, как в сегменте данных DS, так и в дополнительном сегменте ES. Значение DI может находиться только в дополнительном сегменте ES.

 

      ....

      .DATA

msg  DB 'Всё O.K.'

К-во Просмотров: 489
Бесплатно скачать Реферат: Разработка программы на Ассемблере