Лабораторная работа 2 . Программирование на ToyCode
Министерство образования и науки Российской Федерации
Иркутский государственный технический университет
Факультет кибернетики
Кафедра вычислительной техники
МАШИННО-ОРИЕНТИРОВАННЫЕ ЯЗЫКИ
Методические указания по выполнению
Лабораторных работ
Иркутск 2010
Оглавление
1 Лабораторная работа №1. Учебная машина ToyComp. 4
1.1 Цель работы: 4
1.2 Порядок выполнения работы.. 4
1.3 Система команд машины TOCOMP. 4
1.4 Пример выполнения задания. 5
1.5 Индивидуальные задания. 5
1.6 Вопросы к защите. 6
2 Лабораторная работа 2 . Программирование на ToyCode. 6
2.1 Цель работы.. 6
2.2 Порядок работы.. 6
2.3 Система команд TOYCODE. 7
2.4 Пример выполнения задания на циклы. 7
2.5 Индивидуальные задания. 9
2.5.1 Выполнить вычисления Y по формуле. 9
2.5.2 Разветвления. Простые циклы.. 10
2.6 Вопросы к защите. 10
3 Ассемблер МП i8086. Линейный процесс. 11
3.1 Цель работы.. 11
3.2 Порядок работы.. 11
3.3 Индивидуальные задания. 11
3.4 Вопросы к защите. 12
4 Ассемблер МП i8086. Разветвляющийся процесс. Простой цикл. 13
4.1 Цель работы.. 13
4.2 Порядок работы.. 13
4.3 Индивидуальные задания. 14
4.4 Вопросы к защите. 15
4.5 Справочная информация. 17
4.5.1 Арифметические команды с целыми двоичными числами. 17
4.5.2 Организация разветвлений на ассемблере. 18
4.6 Ввод – вывод данных. 20
4.7 Пример выполнения заданий. 21
4.8 Контрольные вопросы.. 22
5 Лабораторная работа 5. Работа с одномерными массивами. 23
|
|
5.1 Цель работы.. 23
5.2 Индивидуальные задания. 23
5.3 Справочная информация. 25
5.4 Примеры составления программ работы с массивами. 26
5.5 Контрольные вопросы.. 28
6 Лабораторная работа 6 . Макросы.. 28
6.1 Цель работы.. 28
6.2 Порядок выполнения работы: 28
6.3 Порядок работы.. 28
6.4 Содержание отчета. 29
6.5 Задания. 29
6.6 Справочная информация. 30
Основные понятия. Макрокоманды.. 30
7 Приложение 1. Список наиболее часто используемых макросов 33
8 Приложение 2 Титульный лист отчета по лабораторной работе. 36
Лабораторная работа №1. Учебная машина ToyComp.
1.1 Цель работы:
· Знакомство с архитектурой учебной машины .
· Знакомство с системой команд ToyComp.
· Получение навыков программирования в машинных кодах.
Порядок выполнения работы
1. Ознакомиться с теоретическими материалами по теме.
2. Ознакомиться с заданием по варианту.
3. Подобрать тестовые примеры к задаче . Предусмотреть тесты, которые вызовут переполнение, деление на ноль.
4. Закодировать алгоритм на языке ToyComp.
5. Выполнить трансляцию, изучить файл листинга.
6. Выполнить программe по шагам , изучая изменение регистров и переменных в памяти.
|
|
7. Оформить отчет.
СОДЕРЖАНИЕ ОТЧЕТА
1. Постановка задачи
2. Таблица спецификаций
3. Таблица тестов
4. Листинг программы (с подробными комментариями)
5 Протокол работы программы .
Система команд машины TOCOMP.
КОП | Выполняемые операции |
00 | Останов |
01 | Загрузка в аккумулятор ( пересылка содержимого ячейки памяти в АК) |
02 | Запись в память (( пересылка содержимого АК в ячейку памяти ) |
03 | Сложение |
04 | Вычитание |
05 | Умножение |
06 | Деление |
07 | Ввод (обеспечивает ввод числа с клавиатуры в ячейку памяти) |
08 | Вывод ( обеспечивает вывод на дисплей числа из ячейки памяти) |
09 | Переход безусловный по адресу |
10 | Переход по адресу, если число в аккумуляторе больше нуля |
11 | Переход по адресу, если в аккумуляторе нуль |
Пример выполнения задания
Задача. Вычислить Y=(x-10)/(z+x)
Распределить память под X,Z и Y.
Алгоритм
1. Ввод X
2. Ввод Z
3. Вычислить знаменатель и сохранить в рабочей ячейке
4. Вычислить числитель
5. Разделить сумматор на рабочую ячейку
6. Сохранить значение в ячейке Y/
7. Стоп
Таблица памяти
99 – X
98 – Z
97 – Y
96- константа 10
95 – R - рабочая ячейка
Программа на TOYCOMPe
№ ячейки | команда | Комментарий | ||
00 | 0799 | Ввод X | ||
01 | 0798 | Ввод Z | ||
02 | 0198 | Вычислить знаменатель и сохранить в рабочей ячейке
| ||
03 | 0399 | |||
04 | 0295 | |||
05 | 0199 | Вычислить числитель x-10 | ||
06 | 0496 | |||
07 | 0695 | Разделить сумматор на ячейку R | ||
08 | 0297 | Запись в ячейку Y | ||
09 | 0000 | Стоп |
Индивидуальные задания
Выполнить вычисления Y по формуле ( работы №1) из.
Значения аргументов вводятся с клавиатуры.
Вариант | Формула 1 |
1 | y=5a- b/ (7+ v) |
2 | y=-6a/ (b- ad) |
3 | y=ab/(a+ 10) |
4 | y=2a4/ (b+ 8c) |
5 | y=5a- b/ (a+c) |
6 | y=6a3- b/ c |
7 | y=7a- 2b/( a+ c) |
8 | y=-5a/(c- d) |
9 | y=9a/ (a- 3cd) |
10 | y=10a- 5b/(c-d) |
11 | Y=( 13a -125)/(100- b) |
12 | Y= a-( b –d) /(10*a) |
13 | Y=2a-( 13 -5c)/11 |
14 | Y=( 13a -6b)/(100- a) |
15 | Y= 7a /(4+ 3b)+6 |
16 | Y=a2- ( a/5 -2b) |
17 | Y=-3( a3 -b2)/(12- a) |
18 | Y=30( a2 -b)/(1- c) |
19 | Y= ( a3 -5b2)/10c |
20 | Y=-( a2 -c)/(-4b+ 7a) |
Вопросы к защите
1. Основные регистры учебной машины TOYCOMP.2. Структура машинной команды TOYCOMP.3. Сколько адресов у машинной команды TOYCOMP?4. Объем оперативной памяти учебной машины TOYCOMP.5. Распределение памяти под программу и данные.6. Сколько команд имеет учебная машина?7. Работа с эмулятором при вводе программы и отладке.8. В каких случаях имеет место прерывание при делении?
Лабораторная работа 2 . Программирование на ToyCode
|
|
Цель работы
· Программирование на ToyCode
· Закрепление знаний по отладке программы.· Использование знаний из курса «Программирование на ЯВУ».Порядок работы
1. Ознакомиться с теоретическими материалами по теме. 2. Разобрать лекционные примеры. 3. Ознакомиться с заданием согласно варианту. 4. Составить таблицу внешних спецификаций 5. Выполнить проектирование тестов к задачам. 6. Разработать и описать алгоритмы решения в виде блок-схемы или псевдокода. 4. Закодировать алгоритмы на языке ассемблера с необходимыми комментариями. 5. Получить исполняемый файл (.tcp) 7. Отладить и протестировать программу.Система команд TOYCODE
Дата добавления: 2019-02-12; просмотров: 313; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!