Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Команды для организации циклов ( LOOP <label>)



Лабораторная работа N1_2С

 

Команды для организации циклов (LOOP <label>)

 

Синтаксис - такой же, как в командах условного перехода.

При выполнении команды LOOP содержимое регистра CX уменьшается на 1 и если содержимое регистра CX не равно 0 и истинно условие перехода (только для команд loope/loopz и loopne/loohnz), то выполняется переход по адресу label т.е. метки, иначе выполняется следующая по порядку команда. К этой группе относится и вспомогательная команда JCXZ с таким же синтаксисом, выполняющая переход при CX=0.

---------------------------------------------------------------------------------

¦ Мнемоника ¦ Содержание операции ¦

¦--------------------------------------------------------------------------------

¦ loop ¦Цикл пока CX > 0 ¦

¦ loope/loopz ¦Цикл пока CX > 0 и флаг ZF установлен в 1 ¦

¦ loopne/loopnz ¦Цикл пока CX > 0 и флаг ZF установлен в 0 ¦

---------------------------------------------------------------------------------

 

 

Пример. Вычислить в цикле следующее выражение Z = (X + Y)*J при J=1,2,…,5

и записать результат в последовательные адреса памяти:

.

 

TITLE Программа организации цикла

DATAS SEGMENT

X DW 2

Y DW 3

J DW?

I DW 0,0,0,0,0,0,0,0,0,0

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

PROGRAM:MOV AX,DATAS

MOV DS,AX

MOV CX,10

MOV AX,0

JCXZ K; переход при СХ равно 0

; следующие две команды показывают как организовать счетчик в АХ

A: INC AX; АХ=АХ+1

LOOP A; переход при СХ не равно 0

;следующие команды показывают реализацию условия

MOV CX,5

MOV J,5

MOV BX,OFFSET I;запись адреса I в ВХ

B: MOV AX,X

ADD AX,Y; АХ=Х+Y

MUL J; АХ= (Х+Y)*J

MOV [BX],AX;запись (Х+У)*J в последов.адреса (I, I+2,...) 5 раз

ADD BX,2

DEC J

MOV DX,J

CMP J,DX

LOOPZ B;переход при СХ не равно 0 и ZF=1

JMP K

K: MOV BX,CX

 

MOV AX,4C00h

INT 21H

CODES ENDS

END PROGRAM

 

Задания

1.Вычислить в цикле следующие выражения и записать результат в последовательные адреса памяти:

1. Подготовьте программу, реализующую следующие операции:

Z = ((X - Y) + (Y +11))*I I=1,10.

2. Z = (X +(X - Y))/I I=1,5.

3. Z = J*(X - 9) -(Y/3) J=1,7.

4. Z = K * (X - Y) + (Y +11) K=1,9.

5. Z =(W + 12) -(X - Y)/I I=1,7.

6. Z = (W +7)*J/(X - Y) J=1,7.

7. Z = W/Y +(X -9)/ J J=1,7.

8. Z = J*(X/8 - Y)*(Y/5 -X) J=1,4.

9. Z = (X - Y)/K + (Y-23) K=1,7

10. Z = W-(X-45)*3/I +(X - Y) I=1,7.

11. Z = J*X /(Y+7)*(X - Y) J=1,5

12. Z = L/(Y-9) +(X - Y)/X-27 L=1,9.

13. Z = J*(Y+79)/(X-5) J=1,7.

14. Z = W +(X - Y)/(Y-67)*I I=1,10.

15. Z = (X+6)*J/(13 - Y) J=1,7.

16. Z = W+Y +(X - Y)*K) K=1,7.

17. Z =((W-X)/(Y+21))*J J=1,5.

18. Z = (X/Y+7)*(X - Y)*I I=1,7.

19. Z = L*21 +(X - Y) L=1,3.

20. Z = W + 12-(X +2)*F F=1,5.

2. Найти в цикле смещение элемента массива в котором записано число 0 (массив записать как mas DB 1,2,3,4,5,6,7,8,9,10):

1. 2,3,4,0,5,6,7,8,9,10

2. 2,3,4,5,6,7,8,9,0

3. 2,3,4,5,6,0,7,8,9,10

4. 2,0,5,6,7,8,9,10

5. 2,3,4,5,6,7,8,0

6. 2,3,4,0,5,6,7,0

7. 2,0,5,6,7,8,9,10

8. 3,4,0,5,6,7,8,9,0

9. 2,3,0,5,6,7,8,9,10

10. 2,0,5,6,7,8,9,10

11. 2,3,4,5,6,7,8,9,0,10

12. 2,3,4,5,6,7,0,8,9,10



13. 2,3,4,0,5,6,7,8,9,10

14. 2,3,4,0,8,9,10

15. 4,0,5,6,7,8,9,10

16. 2,3,4,0,5,6,7,8,9,10

17. 2,3,4,0,5,6,7,8,9,10

18. 2,3,0,5,6,7,8,9,10

19. 2,3,4,5,6,7,8,9,0

20. 2,3,4,5,6,7,8,0

21. 2,0,5,6,7,8,9,10

22. 2,3,0,5,6,7,8,9,10

23. 2,3,4,0,6,7,8,9,10

24. 2,3,4,5,6,7,8,9,0,10

25. 2,3,4,0,5,6,7,8,9,10

26. 2,3,4,9,5,6,7,8,9,0

Пример можно посмотреть на стр.232 листинг 10.4 авторы В.Юров, С.Хорошенко

”АSSEMBLER” 1999г.


Дата добавления: 2015-11-04; просмотров: 16 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
What are the main reasons for the present division of Korea? | Динамическое выделение памяти

mybiblioteka.su - 2015-2024 год. (0.007 сек.)