Методические указания по составлению отчета.




 

Отчет должен быть выполнен аккуратно, на двойных листах бумаги в клетку или белых листах стандартного размера (А4). Отчет выполняется каждым студентом индивидуально и должен содержать:

 

1. Титульный лист по форме, изображенной на рис. 1.

 

Вятский государственный технический университет Факультет автоматики и вычислительной техники Кафедра КП ЭВА   Отчет по лабораторной работе N 1 "Исследование системы команд и способов адресации в МП К1810ВМ86"     Выполнил: студент гр. БРА-31 _______ "___"______1999 г.     Проверил: Ст. преподаватель, к. т. н. Краев Н.А.   г. Киров, 1999 г.

 

Рис. 1. Образец титульного листа

 

2. Цель работы.

3. Распечатку задания.

4. По каждой команде должны быть записаны:

а) назначение команды;

б) способы адресации, использованные в команде;

в) флаги, изменяемые данной командой;

г) значения используемых регистров и ячеек памяти до

выполнения и после выполнения исследуемой команды;

д) машинные форматы команд в двоичной форме с пояснениями;

е) эффективные и физические адреса операндов.

5. Выводы:

а) объяснить состояние регистра флагов;

б) указать особенности выполнения каждой команды.

 

 

4. Лабораторная работа N 2 "Исследование принципов выполнения команд ветвления, организации циклов и подпрограмм в МП К1810ВМ86".

 

1. В соответствии с заданием из табл.2 на этапе домашней подготовки составить с помощью встроенного ассемблера программу, реализующую предложенную задачу. Цикл организовать в двух вариантах: с использованием команд цикла и команд ветвления. В переходах по адресу организовать вложенные три пустые подпрограммы.

2. Отладку вести в интегрированной среде Turbo Debugger. Перед началом работы установить требуемые опции. Освоить приемы работы в указанной среде.

3. При пошаговом выполнении команд записать вычисляемые значения, содержимое флагов перед выполнением команд ветвления, содержимое указателя стека при входе в подпрограмму и выходе из нее. Записать машинные коды команд ветвления, циклов и организации подпрограмм.

4. Подобрать исходные данные для выполнения задачи по всем возможным ветвям.

Работа рассчитана на два четырехчасовых занятия.

 

Таблица 2. Задания к лабораторной работе N 2

Дано: X=87A3 Y=5322 Z=07F1 (размещены в памяти один за другим) ЗАДАНИЕ № 1
В цикле сдвинуть циклически каждое число X, Y, Z на 3 разряда вправо (результат X',Y',Z') Вычислить М=X'-Z'+Y' M>0 переход к п/п 1 (R=M+5) M£0 переход к п/п 2 (R=-M) Если R>007D, то переход к АДР1 (R/2), иначе переход к АДР2 (R or 17D1) {R число со знаком}
Дано: X=D5A9 Y=31FF Z=5555 ЗАДАНИЕ № 2
Уменьшить X на 1 В цикле 3 раза к Y прибавить новое Х' (результатом будет L) Вычислить M=X' or Z M>10E8 переход к п/п 1 (R=M-211F) M£10E8 переход к п/п 2 (R=M+01D0) {M - число без знака} Если в мл. R нечетное количество единиц,то переход к АДР1 (R/2), иначе переход к АДР2 (R xor OF91)
Дано: X=6DA9 Y=11FA ЗАДАНИЕ № 3
В цикле 4 раза из Х вычесть Y (результатом будет L) Вычислить M=L xor Y M>0 переход к п/п 1 (R=M & OFOF) M£0 переход к п/п 2 (R=-M) Если R=0, то переход к АДР1 (R=27E1 xor L), иначе переход к АДР2 (R+67A1 - L)
Дано: X=13DD Y=715F Z=02FE ЗАДАНИЕ № 4
Увеличить Х на 007D В цикле 3 раза из Y вычесть Z (результатом будет X') Вычислить M=X'+ X M>OF99 переход к п/п 1 (R=M/2+(Z & 09AB)) M£OF99 переход к п/п 2 (R=M-019B-cf) {M - число со знаком} Если R положительный, то переход к АДР1 (R+1) если отрицательный, то переход к АДР2 (R-1)
Дано: X=E773 Y=717F Z=26AA (расположены в памяти один за другим) ЗАДАНИЕ № 5
X увеличить на "1" В цикле сложить X, X', Y и Z (результат М)   M>0 переход к п/п 1 (R=M*2 xor Y) M£0 переход к п/п 2 (R=M-(Z & OOFF)) Если произошло переполнение,то переход к АДР1 (R+OF91), иначе переход к АДР2 (R xor D1F1)
Дано: X=EE21 Y=4299 Z=9544 Q=545A (расположены в памяти один за другим) ЗАДАНИЕ № 6
В цикле из каждого X, Y, Z, Q вычесть единицу (результат X', Y', Z', Q') Вычислить M=(X'& Z')or(Y'xor Q') M³0 переход к п/п 1 (R=M/2+1344) M<0 переход к п/п 2 (R=M*2-092С) Если R³31B8, то переход к АДР1 (R+221B), иначе переход к АДР2 (R xor 913C) {R число со знаком}
Дано: X=5429 Y=7844 Z=AD43 Q=5622 (расположены в памяти один за другим без знака) ЗАДАНИЕ № 7  
В цикле каждое из X, Y, Z, Q увеличить на единицу и все сложить (результат X', Y', Z', Q' и L) Вычислить M=(L & X')-(L & Y') M³921B переход к п/п 1 (R=M/2-12B9) M<921B переход к п/п 2 (R=M-Q'/2) Если R четное, то переход к АДР1 (R or 009F) иначе переход к АДР2 (R-1)
Дано: X=2231 Y=48B3 Z=6BB8 (размещены в памяти один за другим) ЗАДАНИЕ № 8
В цикле из F291 вычесть X, Y, Z (результат L) Вычислить M=L/2+(X & Y) M<99F переход к п/п 1 (R=ст.М<=>мл.М) M³99F переход к п/п 2 (R=M+10BA) {М - число без знака} Если в мл. R четное количество единиц, то переход к АДР1 (R & F0F0), иначе переход к АДР2 (R xor 0F0F)
Дано: X=99C5 Y=2A6C Z=80CF (размещены в памяти один за другим) ЗАДАНИЕ № 9
В цикле у каждого из X, Y, Z обменять местами байты (результатом будет X', Y', Z') Вычислить M=X'+Y'-Z' M³012В переход к п/п 1 (R=M/2-0012) M<012В переход к п/п 2 (R=M+388A) {М - число со знаком} Если R положительное, то переход к АДР1 (R or 0FF0), если - отрицательное, то переход к АДР2 (-R xor 5555)
Дано: X=714A Y=6B15 Z=431B (расположены в памяти один за другим) ЗАДАНИЕ № 10
В цикле сложить по "модулю 2" числа X, Y, Z (результатом будет L) Вычислить M=L*2-(X & 00F0) M>3111 переход к п/п 1 (R=-M) M£3111 переход к п/п 2 (R=~M) {М - число без знака} Если R четное, то переход к АДР1 (R+0999), иначе переход к АДР2 (R or 5A5A)

 

Дано: X=45B2 Y=1C2D Z=203E (расположены в памяти один за другим) ЗАДАНИЕ № 11
В цикле проинвертировать младшие байты X, Y, Z (результатом будет X', Y', Z') Вычислить M=Z'*8+(X' & Y') Если есть перенос, то переход к п/п 1 (R=мл.М<=>ст.М), иначе переход к п/п 2 (R=M-9911E) Если R£0991, то переход к АДР1 (R or 2381), иначе переход к АДР2 (R xor 0080) {R - число со знаком}
Дано: X=8A64 Y=B3D1 Q=88BD (расположены в памяти один за другим) ЗАДАНИЕ № 12
В цикле каждое из X, Y, Q умножить на 4 (результат X',Y',Q') Вычислить M=X'+Y'-Q' M>21 переход к п/п 1 (R=M or 0FF0) M£21 переход кп/п 2 (R=M+1028) {М - число со знаком} Если R положительно, то переход к АДР1 (R <3c<), если R отрицательно, то переход к АДР2 (R >2>)
Дано: X=16E6 Y=D45B Z=C9C9 (расположены в памяти один за другим) ЗАДАНИЕ № 13
В цикле увеличить на три старшие байты X, Y, Z (результат X',Y',Z') Вычислить M=X'-Y'+Z' Если биты 2, 9, 10, 6 = 0, то переход к п/п 1 (R=(M[8,10]=1)), иначе переход к п/п 2 (R=M*2) Если R ¹ 4341, то переход к АДР1 (R or ~Z') иначе переход к АДР2 (R + 66) {R - число со знаком}
Дано: X=B8F7 Y=3DA6 Z=911C Q=6633 (числа со знаком расположены в памяти один за другим) ЗАДАНИЕ № 14
В цикле изменить знак у младших байтов X, Y, Z, Q (результат X', Y', Z', Q') Вычислить M=(Y' & X')+(Z' or Q') мл.М<4 переход к п/п 1 (R=M+Y') мл.М³4 переход к п/п 2 (R=M-999-cf) Если R отрицательное, то переход к АДР1 (R xor X'), Если R положительное, то переход к АДР2 (R xor 1011)
Дано: X=AB7C Y=С58E Z=ABCD (размещены в памяти один за другим) ЗАДАНИЕ № 15
В цикле обнулить в X, Y, Z биты 3, 5, 6, 10 (результат X',Y',Z') Вычислить M=(X' & Y')- ~Z' Если у мл.М четное количество единиц, то переход к п/п 1 (R=M(>6>)), иначе переход к п/п 2 (R=M & F1F1) Если был перенос, то переход к АДР1 (R+1), иначе переход к АДР2 (R or 1021)

 

 

Дано: X=FC6A Y=F639 Z=6132 ЗАДАНИЕ № 16
В цикле у Х установить в 1 биты 3, 7, 11 у Y сбросить биты 1, 6, 11 (результат Х' и Y') Вычислить M=(X'-Z) & (Y'-Z) Если М отрицательное, то п/п 1 (R=M+123), Если М положительное, то п/п 2 (R=M-999) Если R£09, то переход к АДР1 (R(<4c<)), при R>09 переход к АДР2 (R or 1001) {R - число со знаком}
Дано: X=CD5B Y=E742 Z=9138 (расположены в памяти один за другим) ЗАДАНИЕ № 17
В цикле у X, Y, Z проинвертировать биты 0, 5, 10, 9, 14,15 (результатом будет X', Y', Z') Вычислить M=X'-Y'+Z' M<19A8 переход к п/п 1 (R=M(<5c<)) M³19A8 переход к п/п 2 (R=M and 9238) {М - число без знака} Если R отрицательное, то переход к АДР1 (мл.R<=>ст.R), Если R положительное, то переход к АДР2 (R-1)
Дано: X=1231 Y=5691 Z=A893 Q=15EE (расположены в памяти один за другим) ЗАДАНИЕ № 18
Сложить проинвертированные данные в цикле (результатом будет L) Вычислить M=L & Z' M>4220 переход к п/п 1 (R=M/2) M£4220 переход к п/п 2 (R=~M) {М - число со знаком} Если в мл. R четное количество единиц, то переход к АДР1 (R xor F0F0), иначе переход к АДР2 (R+1)
Дано: X=9189 Y=714B Z=CD12 (расположены в памяти один за другим) ЗАДАНИЕ № 19
В цикле произвести обнуление старших байтов данных X,Y,Z (результат X', Y', Z') Вычислить M=X'+ Y'& Z' мл.M>0 переход к п/п 1 (R=M-4101) мл.М£0 переход к п/п 2 (R=M xor E130) Если в мл.R четное количество единиц, то переход к АДР1 (R or 1024), иначе переход к АДР2 (R/2)
Дано: X=381E Y=F120 Z=3F9B Q=3981 (расположены в памяти один за другим) ЗАДАНИЕ № 20
В цикле из младших байтов X, Y, Z, Q вычесть 43 (результат X', Y', Z', Q') Вычислить M=X'& Z' or Y' M¹1324 переход к п/п 1 (R=M+061B) M=1324 переход к п/п 2 (R=0028) Если ст.R³31, то переход к АДР1 (R-11F1), иначе переход к АДР2 (R xor 1F08) {R - число без знака}

 

Условные обозначения в таблице 2:

~ - логическое отрицание;

& - логическое умножение;

or - логическое сложение;

xor - сумма по "модулю 2";

>N> - циклический сдвиг вправо на N-разрядов;

<N< - циклический сдвиг влево на N-разрядов;

>Nc> - циклический сдвиг вправо на N-разрядов с cf;

<Nc< - циклический сдвиг влево на N-разрядов с cf;

<-> - обмен байтами в слове;

мл. - младший байт в слове;

ст. - старший байт в слове;

M[N] - выбирается бит N; { M[N1]=1, M[N1,N2]=0 }

cf - флаг переноса.

 

 

Содержание отчета.

 

1. Титульный лист по установленной форме.

2. Цель работы.

3. Распечатка задания.

4. Схема алгоритма программы, реализующей выполнение задачи с указанием пути выполнения при заданных исходных данных.

5. Таблица, включающая: программу на Ассемблере; машинные коды команд ветвлений, циклов и организации подпрограмм; содержимое указателя команд; результаты вычислений, значения флагов перед командами ветвлений и значения изменяющегося указателя стека.

6. В выводах указать особенности выполнения команд переходов, организации циклов с помощью команд цикла и команд ветвления и организации вложенных подпрограмм.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: