Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемГеннадий Юренев
1 Организация циклов в Ассемблере
2 Цикл – это многократно повторяющаяся последовательность операторов
3 Типы циклов «ПОКА» «ДО» «ДЛЯ»
4 Циклы в Паскале
5 Цикл «ПОКА» While X > 0 do S A:If X > 0 then begin S; тело цикла Goto A; end;
6 Цикл «ДО» Repeat S until X > 0 A:S; тело цикла If (X < 0) or (X = 0) then Goto A;
7 Цикл «ДЛЯ» For I := 1 to N do S I: = 1; A:S; тело цикла I:=I+1; If (I < N) or (I = N) then Goto A;
8 Циклы в Ассемблере
9 Цикл «ПОКА» A:CMP X, 0 JLE A2 S; тело цикла JMP A A2: … While X > 0 do S
10 Цикл «ДО» A:S; тело цикла CMP X, 0 JLE A Repeat S until X > 0
11 Цикл «ДЛЯ» MOV CX, N A:S; тело цикла DEC CX CMP X, 0 JNE A For I := 1 to N do S
12 Команда LOOP Общий вид: LOOP Функции команды: Автоматически уменьшает значение счетчика. Выполняет проверку на выход из цикла. Выполняет переход на начало тела цикла. Используется в случае цикла с известным числом повторений, т.е. цикла «ДЛЯ». Количество повторений цикла должно быть присвоено регистру СХ до начала цикла.
13 Цикл «ДЛЯ» MOV CX, N A:S; тело цикла DEC CX CMP X, 0 JNE A MOV CX, N A:S; тело цикла LOOP A Без использования команды LOOP С использованием команды LOOP
14 ПРИМЕР Составим программу, которая выводит на экран 1000 нулей
15 (1) prg segment para public 'code' (2) assume cs:prg,ss:prg,es:prg,ds:prg (3) org 100h (4) start: jmp go (5) go: (6) mov ax, 0600h (7) mov bh,07 (8) mov cx, 0000 (9) mov dx,184fh (10) mov cx,1000 (11) Zero: (12) mov ah,02 (13) mov dl,30h (14) int 21h (15) loop Zero (16) ret (17) prg ends (18) end start Решение:
16 Задачи для практики
17 Задача 1 Составить фрагмент программы на языке Ассемблер, подсчитывающий сумму первых 10 натуральных чисел (результат записать в АХ). Решение: ….. mov cx,10 mov ax,00 summa: add ax,cx loop summa …..
18 Задача 2 Составить фрагмент программы на языке Ассемблер, вычисляющий значение выражения: (результат записать в АХ). Решение: ….. mov BX,00 mov CX,05 sum: mov AX,02 mul CX add BX,AX loop sum …..
19 Задача 3 Составить фрагмент программы на языке Ассемблер, вычисляющий факториал заданного числа К (К – от 0 до 8; результат записать в АХ). Решение: ….. mov ax, 1 mov cx, К F: mul cx loop F …..
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.