Задания к обязательной контрольной работе №2
Выполняется по материалам раздела «Основы программирования на языке Assembler».
Работа выполняется в электронном формате. Все файлы работы (*.doc, *.asm, *.obj, *.exe) скопировать по сети в папку "Рабочий стол\ЛР-сдача\№группы_Фамилия_ОКР2" не позднее, чем за 5 минут до окончания занятия.
Пример оформления текстового файла контрольной работы.
Уточните у преподавателя номер своего варианта и выберите его из списка:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1. Дать письменный ответ на следующий вопрос:
Языки программирования. Деление на языки высокого и низкого уровня.
4 балла.
2. Разработать программу на языке Assembler для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения первых N натуральных чисел.
Уровень II (4 балла).
Составить программу вычисления функции y(a,b):
Протестировать программу при следующих исходных данных:
а) а= -2, b= -2; б) a=2, b=-3; в) а=2, b=3.
Уровень III (6 баллов).
Составить программу вычисления:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления суммы разработать подпрограмму на Ассемблере и использовать её в основной программе передав требуемые параметры.
1. Дать письменный ответ на следующий вопрос:
Назначение и возможности языков низкого уровня. Общие сведения о языке Assembler.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы первых N натуральных нечетных чисел.
Уровень II (4 балла).
Составить программу вычисления функции y(x):
Протестировать программу при следующих исходных данных:
а) x=4; б) x=3.
Уровень III (6 баллов).
Составить программу вычисления:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления факториала разработать подпрограмму на Ассемблере и использовать её в основной программе передав требуемые параметры.
1. Дать письменный ответ на следующий вопрос:
Программная модель микропроцессора. Регистры МП, их классификация.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения первых N натуральных четных чисел.
Уровень II (4 балла).
Составить программу вычисления функции y(a,b):
Протестировать программу при следующих исходных данных:
а) а= -2, b= 3; б) a=5, b= -2; в) а=2, b=3.
Уровень III (6 баллов).
Составить программу вычисления двойной суммы:
Исходные данные: n = 3; m = 5. Организовать ввод исходных данных с клавиатуры и вывод результата на экран. Для ввода-вывода чисел воспользоваться процедурами read и write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Организация памяти ПЭВМ. Адресация памяти. Понятие сегмента, смещения. Абсолютный и относительный адрес.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы первых N натуральных четных чисел.
Уровень II (4 балла).
Составить программу вычисления функции y(a,b):
Протестировать программу при следующих исходных данных:
а) а= -2, b= -3; б) a= 3, b= -2; в) а= -2, b=3.
Уровень III (6 баллов).
Составить программу вычисления двойной суммы:
Исходные данные: n = 3; m = 5. Организовать ввод исходных данных с клавиатуры и вывод результата на экран. Для ввода-вывода чисел воспользоваться процедурами read и write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Типы данных ассемблера, их физическая и логическая интерпретация. Основные форматы представления данных в памяти.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления функции y:
Протестировать программу при следующих исходных данных:
а) а= 2, b= 2; б) a=6, b=8; в) а=2, b=1.
Уровень II (4 балла).
Составить программу, подбирающую натуральные X и Y (одну комбинацию, наибольшее Y при наибольшем X), удовлетворяющие равенству: 2*X + 3*Y = 120. Найденные X, Y записать в память.
Уровень III (6 баллов).
Составить программу, подбирающую все натуральные X и Y, удовлетворяющие равенству:
2*X + 3*Y = N. N - исходное данное, можно определить в сегменте данных, или организовать ввод с клавиатуры. Вывести на экран найденные комбинации X-Y, их количество, или сообщение, что таких комбинаций нет. Для ввода-вывода чисел воспользоваться процедурами read и write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Структура программы на языке Assembler. Назначение сегментов данных, стека, кода. Основные директивы ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления функции y(a,b):
Протестировать программу при следующих исходных данных:
а) а=-2, b=1; б) a=3, b=2; в) а=2, b=2.
Уровень II (4 балла).
Составить программу вычисления суммы произведений:
Протестировать программу при: n=3; m = 5.
Уровень III (6 баллов).
Составить программу вычисления произведения байт памяти от адреса start_adr до адреса end_adr. Start_adr = DS : 0; End_Adr = DS : 3. Вывести на экран содержимое данного участка памяти как строку и значение полученного произведения (для вывода числа воспользоваться процедурой write из файла d:tasm/bin/primery/rw.asm).
1. Дать письменный ответ на следующий вопрос:
Средства разработки программ на ассемблере: текстовые редакторы, транслятор (tasm.exe), компоновщик (tlink.exe), отладчик (td.exe). Их назначения и правила использования.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления x:
Протестировать программу при следующих исходных данных:
a) y = 1; w = 4; u = 3; v = 5; z = 2. b) y = 12; w
= -2; u = 2; v = 3; z = -10.
Уровень II (4 балла).
Составьте программу вычисления суммы произведений:
Исходные данные: n = 3; m = 5.
Уровень III (6 баллов).
Составить программу вычисления контрольной суммы (сумму байт памяти от адреса start_adr до адреса end_adr). Start_adr = DS : 0; End_Adr = DS : 6. Вывести на экран содержимое данного участка памяти как строку и значение полученной суммы (для вывода числа можно воспользоваться процедурой write из файла d:tasm/bin/primery/rw.asm).
1. Дать письменный ответ на следующий вопрос:
Система команд микропроцессора. Общий обзор. Формат команды ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления выражения:
Протестировать программу при следующих исходных данных:
а) Y=1; Z=3; U=2; V=-5; W=4.
б) Y=-2; Z=3; U=2; V=5; W=4.
Уровень II (4 балла).
В отдельном файле (summa.asm) составить подпрограмму вычисления суммы:
Параметры x, n передать через стек. Результат возвратить в регистре ax. В главной программе (main.asm) вызвать составленную подпрограмму.
Уровень III (6 баллов).
Составить программу, определяющую в строке количество заданных символов. Организовать ввод-вывод данных.
1. Дать письменный ответ на следующий вопрос:
Команды ассемблера для пересылки данных. Способы адресации в командах ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления выражения:
Протестировать программу при следующих исходных данных:
а) Y=2; Z=18; U=10; V=5; W=3.
б) Y=2; Z=18; U=10; V=-2; W=3.
Уровень II (4 балла).
Составить подпрограмму (в текущем файле) вычисления суммы:
Параметры x, n передать через регистры. Результат возвратить в аккумуляторе. В главной программе вызвать составленную подпрограмму.
Уровень III (6 баллов).
Составить программу, заменяющую в строке один заданный символ на другой. Строку и символы вводить с клавиатуры, обработанную строку вывести на экран.
1. Дать письменный ответ на следующий вопрос:
Арифметические команды ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления выражения:
Протестировать программу при следующих исходных данных:
а) Y=1; Z=2; U=3; W=4; V=5.
б) Y=1; Z=-10; U=2; W=-2; V=3.
Уровень II (4 балла).
Составить подпрограмму вычисления суммы:
Способ размещения подпрограммы, передачу в неё параметров x, n и возвращение результата определить самостоятельно. В главной программе вызвать составленную подпрограмму.
Уровень III (6 баллов).
Задан массив целых чисел (ввести с клавиатуры и записать в сегменте данных). Составить программу получения нового массива (записать его в сегмент данных в отведенное для этого место и вывести на экран). Каждый элемент нового массива вычисляется как остаток от деления соответствующего элемента заданного массива на число 3. Для ввода-вывода чисел воспользоваться процедурами read и write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Команды безусловного и условных переходов. Организация ветвлений в программах на ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления выражения:
Протестировать программу при следующих значениях исходных данных:
a) y = 1; w = 4; u = 3; v = 5; z = 2
b) y = 12; w = 2; u = -2; v = 3; z = -10
Уровень II (4 балла).
Составить программу для вычисления многовариантной функции y(x):
Протестировать программу при следующих значениях исходных данных:
a) x= -2; b) x= 1; c) x= -6
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления факториала разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 7; m =5.
1. Дать письменный ответ на следующий вопрос:
Команды для организации циклов в программах на ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления выражения:
Протестировать программу при следующих значениях исходных данных:
a) y = 12; w = 4; u = 8; v = 2; z = 10
b) y = 12; w = 4; u = -8; v = 2; z = -20
Уровень II (4 балла).
Составить программу для вычисления многовариантной функции y(a,b):
Протестировать программу при следующих значениях исходных данных:
a) а= 10; b= 3 b) a= -4; b= -3 c) а= 2; b= -4
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления произведения разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 5; m = 5
1. Дать письменный ответ на следующий вопрос:
Организация подпрограмм в ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления выражения:
Протестировать программу при следующих значениях исходных данных:
a) y = 10; w = 8; u = 4; v = 3; z = 2
b) y = 10; w = 4; u = 4; v = -3; z = 2
Уровень II (4 балла).
Составить программу вычисления произведения суммы:
Протестировать программу при: n=3; m = 5.
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления суммы разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: a = 2; b = 1; c = 3; d = 2; n = 120; m = 10
1. Дать письменный ответ на следующий вопрос:
Использование системных ресурсов. Прерывания BIOS и DOS. Команда INT. Организация ввода-вывода данных, используя функции операционной системы.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления многовариантной функции y(x):
Протестировать программу при следующих значениях исходных данных:
a) x= 2; b) x= 12
Уровень II (4 балла).
Составить программу вычисления произведения суммы:
Протестировать программу при: n=3; m = 2.
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления факториала разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 5; m = 4
1. Дать письменный ответ на следующий вопрос:
Порты ввода/вывода, их назначение и примеры использования. Команды IN и OUT.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления многовариантной функции y(x):
Протестировать программу при следующих значениях исходных данных:
a) x= -2; b) x= 10; c) x= 0
Уровень II (4 балла).
Составить программу вычисления двойного произведения:
Протестировать программу при: n=3; m = 2.
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления произведения разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 4; m = 3; a = 2; b = 1
1. Дать письменный ответ на следующий вопрос:
Цепочечные команды для обработки цепочек данных (строк).
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу для вычисления многовариантной функции y(a,b):
Протестировать программу при следующих значениях исходных данных:
a) а= 15; b= 16 b) a= 12; b= 10 c) а= 5; b= 5
Уровень II (4 балла).
Составить программу вычисления двойного произведения:
Протестировать программу при: n=3; m = 2.
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления суммы разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: k = 4; l = 12; n = 3; m = 7
1. Дать письменный ответ на следующий вопрос:
Взаимодействие ассемблера с языками высокого уровня (Turbo Pascal).
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения 5-ти слов в памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr dw 1h, 2h, Ah, 3h, 2h
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить во внешнем файле. Параметры (x, n) в подпрограмму передать через регистры. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных: a) x = 2; n = 2; b) x = -2; n = 3; c) x = 7; n = 9
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления суммы разработать подпрограмму на Ассемблере и использовать ее в основной программе. Протестировать программу при следующих значениях исходных данных: n = 5; m = 2
1. Дать письменный ответ на следующий вопрос:
Программная модель микропроцессора. Регистры МП, их классификация.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы 5-ти слов в памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr dw F1h, A10h, Ah, ADh, 123h
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить в текущем файле. Параметры (x, n) в подпрограмму передать через стек. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных:
a) x = 2; n = 2; b) x = -2; n = 3; c) x = 9; n = 8
Уровень III (6 баллов).
Составить программу для вычисления выражения:
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления суммы разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 14; m = 3
1. Дать письменный ответ на следующий вопрос:
Типы данных ассемблера, их физическая и логическая интерпретация. Основные форматы представления данных в памяти.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения 6-ти байт памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr db '14.03'
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить во внешнем файле. Параметры (x, n) в подпрограмму передать через стек. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных:
a) x = 2; n = 2; b) x = -2; n = 3; c) x = 10; n = 8
Уровень III (6 баллов).
Составить программу для вычисления выражения: y = 3n! - 2m!
Основную программу разработать на языке Паскаль, в ней организовать ввод исходных данных и вывод результата. Для вычисления факториала разработать подпрограмму на Ассемблере и использовать её в основной программе. Протестировать программу при следующих значениях исходных данных: n = 4; m = 3
1. Дать письменный ответ на следующий вопрос:
Команды ассемблера для пересылки данных. Способы адресации в командах ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы 7-ти байт памяти от адреса start_adr в сегменте данных. Протестировать программу при следующем определении в сегменте данных: start_adr db 'Program'
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить в текущем файле. Параметры (x, n) в подпрограмму передать через регистры. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных: a) x = 2; n = 2; b) x = -2; n = 3; c) x = 5; n = 8
Уровень III (6 баллов).
Составить программу, удаляющую в строке заданный символ и подсчитывающую количество удалений. Организовать ввод исходных данных (исходную строку и удаляемый символ) с клавиатуры и вывод результатов (обработанную строку и количество удалений) на экран. Для вывода численного значения использовать процедуру write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Арифметические команды ассемблера.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения N натуральных чисел, хранящихся в памяти как массив. Протестировать программу при: N=5; A=(2, 5, 1, 3, 7).
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить во внешнем файле. Параметры (x, n) в подпрограмму передать через регистры. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных:
a) x = 2; n = 2; b) x = -2; n = 3; c) x = 5; n = 12
Уровень III (6 баллов).
Составить программу, удаляющую в строке два, идущих подряд заданных символа и подсчитывающую количество удалений. Организовать ввод исходных данных (исходную строку и пару удаляемых символов) с клавиатуры и вывод результатов (обработанную строку и количество удалений) на экран. Для вывода численного значения использовать процедуру write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Команды безусловного и условных переходов. Организация ветвлений в программах на ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы N натуральных чисел, хранящихся в памяти как массив A. Протестировать программу при: N=5; A=(2, 5, 1, 3, 7).
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить в текущем файле. Параметры (x, n) в подпрограмму передать через регистры. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных: a) x = 2; n = 2; b) x = -2; n = 3; c) x = 15; n = 12
Уровень III (6 баллов).
Составить программу вычисления выражения:
Организовать ввод исходных данных с клавиатуры и вывод результата на экран. Для ввода и вывода численных значений использовать процедуры read и write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Команды для организации циклов в программах на ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления произведения первых N натуральных чисел (факториала N). Протестировать программу при N=5.
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить в текущем файле. Параметры (x, n) в подпрограмму передать через стек. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных: a) x = 2; n = 2; b) x = -2; n = 3; c) x = 3; n = 10
Уровень III (6 баллов).
Составить программу, вставляющую в строку за заданным символом другой заданный символ и подсчитывающую количество произведенных вставок. Организовать ввод исходных данных (исходную строку и два символа) с клавиатуры и вывод результатов (обработанную строку и количество вставок) на экран. Для вывода численного значения использовать процедуру write из файла d:tasm/bin/primery/rw.asm.
1. Дать письменный ответ на следующий вопрос:
Организация подпрограмм в ассемблере.
4 балла.
2. Разработать программу на Assemblere для решения одной из трех предложенных задач:
Уровень I (2 балла).
Составить программу вычисления суммы первых N натуральных чисел. Протестировать программу при N=5.
Уровень II (4 балла).
Составить подпрограмму для вычисления суммы:
Подпрограмму разместить в текущем файле. Параметры (x, n) в подпрограмму передать через регистры. Результат возвратить в регистре ax. В основной программе организовать вызов подпрограммы для следующих наборов исходных данных: a) x = 2; n = 2; b) x = -2; n = 3; c) x = -12; n = 30
Уровень III (6 баллов).
Составить подпрограмму для вычисления функции y(x):
Организовать ввод исходного данного с клавиатуры и вывод результата на экран. Для ввода и вывода численных значений использовать процедуры read и write из файла d:tasm/bin/primery/rw.asm.