Вариант 07 Лаба 02 |
200,00 ₽
Просмотров: 727
|
Тип работы: | Контрольная |
Название предмета: | Основы системного программирования |
Тема/вариант: | Вариант 07 Лаба 02 |
Объем работы: | 5 |
ВУЗ: | СибГУТИ |
Дата выполнения: | 2013-08-12 |
Размер файла, тип файла: | 97.77 Kb, RAR |
Прикрепленные файлы: |
Курс 170 Основы системного программирования (952 Kb)
|
Тема: Оператор цикла LOOP. Команды условных переходов
Цель работы: Научиться использовать оператор повторения и команды условных переходов.
Порядок выполнения работы:
ВАЖНО: Прочитайте требования к выполнению и оформлению лабораторных работ.
Задание1Вариант 7
1. Изучите приведенную ниже программу на языке ассемблера. Программа суммирует числа от 1 до 10 и результат заносит в регистр АХ.
TITLEProgram2 ;названиепрограммы
.MODEL small ;отводим под стек и под данные по 64Кб
.STACK 100h ;отмечаемначалосегментастека
.DATA ;отмечаемначалосегментаданных
.CODE ;отмечаемначалосегментакодов
main PROC
MOV AX, @data ;копируемадрес
MOV DS, AX ;сегментаданных
CLD
xor AX,AX
mov CX, 10
L1:
add AX, CX
loop L1 ; здесь в цикле суммируются числа
; начиная с 10 и заканчивая 1
MOV AX,4C00h ;выход
INT 21h ;изпрограммы
main ENDP
END main
2. Выполните отладку программу с использованием отладчика TurboDebugger. Посмотрите как изменяются регистры в процессе выполнения программы.Чему равно значение регистра АХ перед выходом из программы? регистра СХ? Совпадаетлирезультатвычислений с реальнымзначениемвыражения?
Задание 2
Используя предложенную выше программу, выполните второе задание. Исполнить программу с несколькими (три - четыре) значениями параметра N, проверить правильность результатов. В отчете обязательно привести результаты вычислений.
Номер задания выбирается в соответствии с последней цифрой пароля.
1. Составьте программу для подсчета суммы 1+3+5+…+(2•N+1), где N – произвольное положительное число. В программе нельзя использовать команды условных переходов. Допускается использование оператора цикла.
2. Составьте программу для подсчета выражения 1-2+3-4+…+(-1)N+1•N, где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла.
3. Составьте программу для подсчета выражения 1-2+3-4+…+(-1)N+1•N, где N – произвольное четное положительное число, без использования в программе команд условных и безусловных переходов. Допускаетсяиспользованиеоператорацикла.
4. Составьте программу для подсчета суммы 1+3+5+…+(2•N+1), где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла
5. Составьте программу для подсчета выражения 1-3+5-7+…+(-1)N•(2•N+1), где N – произвольное четное положительное число. В программе нельзя использовать команды условных переходов. Допускается использование оператора цикла.
6. Составьте программу для подсчета выражения 1-3+5-7+…+(-1)N•(2•N+1), где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла
7. Составьте программу для подсчета выражения 2-4+6-8+…+(-1)N•(2•N), где N – произвольное четное положительное число. В программе нельзя использовать команды условных переходов. Допускается использование оператора цикла.
8. Составьте программу для подсчета выражения 2-4+6-8+…+(-1)N•(2•N), где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла.
9. Составьте программу для подсчета выражения 1-4+7-10+…+(-1)N•(3•N+1), где N – произвольное положительное число. Допускается использование в программе команд условных и безусловных переходов и оператора цикла.
10. Составьте программу для подсчета выражения 2-5+8-11+…+(-1)N•(3•N+2), где N – произвольное четное положительное число. В программе нельзя использовать команды условных переходов. Допускается использование оператора цикла.
Сообщить другу