Лабораторная работа  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; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!