Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Лабораторная работа №3




Организация циклов.

Для организации циклов с известным числом повторений используется команда loop или ее модификации. Область дей­ствия команды и ее модификаций такая же, как у команд условного перехода (-128..127).

Циклический участок программы обычно имеет следующую структуру:

mov сx, число повторений { Инициализация цикла}

Jcxz метка_после_цикла

метка:

............. {тело цикла}

Loop метка

метка_после_цикла:

Команда jcxz означает переход при сх=0, т.е. цикл не нужно выполнять ни разу. Напоминаем, что по команде loop содержимое сх уменьшается на 1 и, если сх<>0, то переход к метке, заданной в команде loop, в противном случае — выход из цикла.

Если выход из цикла определяется не только числом повто­рений, вместо команды loop можно использовать ее разновид­ности

{ loope } повтор цикла, если счетчик не исчерпан и флаг

{ loopz } нуля установлен

{ loopne } повтор цикла, если счетчик не исчерпан и флаг

{ loopnz } нуля не установлен

ПРИМЕР: Найти сумму S=1+2+3+4+…+n.

Var

s,n:integer;

Begin

Read(n);

Asm

Mov cx,n

Mov ax,0

jcxz @end

@for:

Add ax,cx

loop @for

@end: mov s,ax

End;

writeln('s=',s);

Readln;

Readln;

End.

Та же программа с использованием для организации цикла «прыжков».

Var

s,n:integer;

Begin

Read(n);

Asm

Mov cx,n

Mov ax,0

@for: jcxz @end

Add ax,cx

Dec cx

jmp @for

@end: mov s,ax

End;

writeln('s=',s);

Readln;

Readln;

End.

Пример2. 1. Дано натуральное n. Написать программу вычисления x в степени n.

Var

x,n:integer;

Begin

Read(x,n);

Asm

Mov cx,n

Mov ax,1

jcxz @end

@for:

Imul x

loop @for

@end: mov x,ax

End;

writeln('s=',x);

Readln;

Readln;

End.

Задание. Написать программу на языке Паскаль с использованием Ассемблерной вставки для произведения вычислений.

1. Найти сумму: S=1+2 +3 +4 +…+n

2. Вычислить произведение: S=(n-1)(n-2)(n-3)…(n-(n-1)).

3. Дано целое число n. Найти сумму цифр числа n.

4. Дано целое n. Сколько цифр в числе n?

5. Наитии наибольший делитель числа x не считая само число.





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 294 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2245 - | 2190 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.