УЛЬЯНОВСКИЙ

advertisement
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 1
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Возврат значений из подпрограмм.
2. Отладка программ, разрабатываемых на ассемблере.
3. Разработать четыре подпрограммы поиска числа в массиве, заданном записью
struct {short len; /* длина массива */ long *pm; /* указатель массива */}.
Подпрограммы SS16 и SL16 строятся в архитектуре IA-16, а подпрограммы SS32 и
SL32 – в архитектуре IA-32. Подпрограммы SS16 и SS32 используют строковые
команды, а SL16 и SL32 – не используют. В подпрограммы через стек передается
указатель на структуру и искомый элемент, а через регистры возвращается адрес
найденного элемента, либо 0, если элемент не найден.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 2
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование ввода и вывода восьмеричных чисел на ассемблере.
2. Управление процессом трансляции через опции ассемблера. Использование листинга
трансляции.
3. Разработать на ассемблере I80x86 две версии программы обработки данных,
заданной следующим фрагментом С-программы:
int i1,i2,*pi=&i1;
int abc(int *p)
{
register int * p1,*p2;
int m[20],n;
load(m,20);
for(p1 = m, p2 = m+20; n=1; p1 < m+10; p1++,p2--,n++)
m[i2] = m[5] + pi[3];
return (p[4] + m[i1]*m[i2]);
}
*p1 = *p2;
Первая версия должна строится в архитектуре IA-16, вторая – в архитектуре IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 3
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Представление и обработка множеств на ассемблере.
2. Общая организация ассемблер-программы.
3. Разработать четыре подпрограммы сравнения двух массивов, заданных записями
типа struct {short len; /* длина массива */ long *pm; /* указатель массива
*/}. Подпрограммы CMPS16 и CMPL16 строятся в архитектуре IA-16, а подпрограммы
CMPS32 и CMPL32 – в архитектуре IA-32. Подпрограммы CMPS16 и CMPS32 используют
строковые команды, а CMPL16 и CMPL32 – не используют. В подпрограммы через
стек передаются два указателя на структуру, представляющие сравниваемые
массивы. Длины сравниваемых массивов могут быть не равны. При равенстве через
аккумулятор возвращается 0, иначе возвращается значение индекса, при котором
обнаружено неравенство.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 4
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Организация локальных переменных в подпрограммах.
2. Представление индексных и базовых методов адресации в ассемблер-программах.
3. Разработать две версии ассеблер-программы обработки данных, заданной следующим
фрагментом С-программы:
struct list {struct list *next; long dat; };
long ar[30];
long max(struct list *p)
{
register long m = p->dat; register struct list *scan;
for(int n=0; scan = p; scan != NULL; scan = scan->next, n = n++ % 30)
if (m < scan->dat) m = scan->dat;
return (ar[i] + m);
}
Первая версия должна строится в архитектуре IA-16, вторая – в архитектуре IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 5
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование адресной арифметики на ассемблере.
2. Декларации данных в ассемблер-программах.
3. Разработать четыре подпрограммы копирования одного массива в другой. Первый
массив задан записью типа struct {short len; /* длина массива */ long *pm; /*
указатель массива */}, а второй – типом long dst[30]; /* статический массив
*/}. Подпрограммы CPYS16 и CPYL16 строятся в архитектуре IA-16, а подпрограммы
CPYS32 и CPYL32 – в архитектуре IA-32. Подпрограммы CPYS16 и CPYS32 используют
строковые команды, а CPYL16 и CPYL32 – не используют. В подпрограммы через
стек передаются указателя: на структуру, задающую копируемый массив, и область
памяти, куда нужно копировать. Через аккумулятор возвращается количество
элементов второго массива, в которые ничего не скопировано (len<=30). Если
скопированы не все элементы исходного массива (dst исчерпан), то через
аккумулятор возвращается -1.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 6
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Механизмы преобразования дробной части вещественных чисел из внешнего
представления во внутреннее.
2. Основные информационные процессы при программировании на ассемблере.
3. Разработать четыре ассеблер-программы обработки данных, заданной следующим
фрагментом С-программы:
int m[20][20];
void transp(int n)
{
register int i,j;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
m[i][j] = m[j][i];
}
int sumcol(int ncol, int n)
{ int s = 0, i;
for(i = 0; i < n; i++) s += m[i][ncol];
return s;
}
Первая программа буквально реализует приведенный текст для архитектуры IA-16, а
вторая программа – для IA-32. Третья и четвертая реализуют ту же обработку
данных, но с использованием указателей, а не индексного доступа к массивам.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 7
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Использование автоиндексации в ассемблер-программах.
2. Представление и обработка записей на ассемблере.
3. Разработать четыре подпрограммы скалярного сложения векторов(A + B :=:
<a1+b1,a2+b2,...>). Первый вектор задан записью типа struct {short len; /*
длина массива */ short *pm; /* указатель массива */}, а второй – типом long
dst[30]; /* статический массив */}. Подпрограммы ADDVS16 и ADDVL16 строятся в
архитектуре IA-16, а подпрограммы ADDVS32 и ADDVL32 – в архитектуре IA-32.
Подпрограммы ADDVS16 и ADDVS32 используют строковые команды, а ADDVL16 и
ADDVL32 – не используют. В подпрограммы через стек передаются три указателя:
на структуру, задающую первый вектор массив, область памяти, где второй вектор
и область памяти, куда нужно поместить сумму. Через аккумулятор возвращается
количество элементов второго массива, которые не участвовали в суммировании
(len<=30). Если задействованы не все элементы первого вектора массива (dst
исчерпан), то через аккумулятор возвращается -1.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 8
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование ввода и вывода десятичных чисел на ассемблере.
2. Рекурсивные подпрограммы.
3. Разработать четыре ассеблер-программы обработки данных, заданной следующим
фрагментом С-программы:
struct pers { char *name; int by; int tnum };
char * abc(struct pers *p, int n)
{
int old; char *s;
for(old = p->by, p++, n--,s=p->name; n>0; n--, p++)
if(old < p->by)
{ old = p->by;
s = p->name;
}
return (s);
}
Первая программа буквально реализует приведенный текст для архитектуры IA-16, а
вторая программа – для IA-32. Третья и четвертая реализуют ту же обработку
данных, с использованием индексного доступа к элементам массива структур p.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 9
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Организация подпрограмм.
2. Представление и обработка битовых полей на ассемблере.
3. Разработать четыре подпрограммы нахождения суммы элементов вектора A = <a1,a2,
...>, где компоненты вектора представляют собой беззнаковые числа с плавающей
запятой в формате <4 бита характеристики, 12 бит мантиссы>. Подпрограммы
SUMS16 и SUML16 строятся в архитектуре IA-16, а подпрограммы SUMS32 и SUML32 –
в архитектуре IA-32. Подпрограммы SUMS16 и SUMS32 используют строковые
команды, а SUML16 и SUML32 – не используют. В подпрограммы через стек
передается указатель на массив чисел и размер массива. Через AX возвращается
сумма, а через 4 младших бита DX – признаки результата в формате NZVC.
переполнение, то суммирование прекращается и через бит переноса
PSW/регистра_флагов возвращается 1, иначе бит СPSW/СFRF = 0.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 10
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование ввода и вывода двоичных чисел на ассемблере.
2. Выражения в ассемблер-программах.
3. Построить две подпрограммы сложения с плавающей запятой чисел, имеющих формат:
<бит знака, 7 бит характеристики, 24 бита мантиссы> (значение характеристики
0000000 соответствует порядку –64, значение 0000001 – порядку –63, … значение
0111111 – порядку –1, значение 1000000 – порядку 0, … значение 1111111 –
порядку +63). Код прямой. Подпрограмма ADD_16 реализуется в архитектуре IA-16?
а подпрограмма ADD_32 – в архитектуре IA-32. Слагаемые передаются в
подпрограммы через стек. Результат возвращается через EAX/<DX,AX>. Через
младший бит регистра BX возвращается признак исчезновения порядка, а через
следующий бит – признак переполнения.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 11
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование ввода и вывода шестнадцатеричных чисел на ассемблере.
2. Программные прерывания в MS DOS и их использование.
3. Разработать программы обработки данных(для IA-16 и IA-32), заданной следующим
фрагментом С-программы:
char *txt[50];
int nstr(char **plast)
{ int n;
char **p;
for(n = 0, p = txt; **p != ‘\0’; n++) p++;
*plast = --p;
return (n);
}
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 12
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Механизмы преобразования дробной части вещественных чисел из внутреннего
представления во внешнее.
2. Передача значений и адресов в подпрограммы через регистры и глобальные
переменные.
3. Разработать подпрограмму умножения 32-разрядных беззнаковых чисел без
использования команды MUL. Метод умножения – младшими разрядами вперед.
Операнды передаются в ПП через стек. Результат возвращается через область
памяти, указатель на которую передается также через стек.
Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 13
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Представление и обработка списков на ассемблере.
2. Программирование ветвлений на ассемблере.
3. Разработать на ассемблере подпрограмму вычисления процентной доли единичных
бит в массиве 16-разрядных слов.
Имя подпрограммы: NMBITS.
Входные параметры: адрес массива - через стек; длина массива - через AX.
Результат округления процента единичных бит до целого возвращается через AL.
Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 14
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование обработки бит-векторов на ассемблере.
2. Профилирование программ.
3. Разработать программы обработки данных(для IA-16 и IA32), заданной следующим
фрагментом С-программы:
int m1[20]; long m2[20];
struct abc { char id; int par1, long par2[4];};
void copy(struct abc *ps, int len)
{ int n, *pn;
for(n = 0, pn = m1; n < len; n++, ps++)
{ *pn = ps->par1;
m2[n] = ps->par2[n % 4];
}
}
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 15
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование обработки текстовой информации на ассемблере.
2. Передача значений и адресов в подпрограммы через область памяти, примыкающую к
команде вызова ПП.
3. Разработать на ассемблере I8086 подпрограмму вычисления суммы элементов обеих
диагоналей квадратной матрицы.
Имя подпрограммы: SUMDIA.
Входные параметры: адрес массива чисел матрицы - через стек; число строк матрицы
- через CX; Результат возврашается через AX. Каждый элемент матрицы занимает 1
слов(16 бит). Числа целые беззнаковые. Через бит CF регистра флагов возвращается
признак переполнения. Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 16
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование циклов c параметром на ассемблере.
2. Компоновка программ и управление ею через опции компоновщика. Использование
карты загрузки.
3. Разработать на ассемблере программу, которая вводит в режиме опроса готовности
двоичные числа (ACII-символы ‘0’,’1’) с удаленного терминала и выводит в
десятичном виде (тоже ASCII-коды) на другой терминал в режиме прерываний.
Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 17
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Представление регистровой, косвенно-регистровой, абсолютной и непосредственной
адресаций в ассемблер-программах.
2. Механизмы преобразования целых чисел из внутреннего представления во внешнее.
3. Разработать на ассемблере подпрограмму вычисления суммы элементов обратной
диагонали квадратной матрицы.
Имя подпрограммы: SDI.
Входные параметры: адрес массива чисел матрицы и - через стек; число строк
матрицы - через регистр-аккумулятор.
Результат возвращается через аккумулятор.
Каждый элемент матрицы занимает три байта (24 бит). Числа целые беззнаковые.
Через бит CF регистра флагов возвращается признак переполнения.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 18
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование операторов выбора (switch, case) на ассемблере.
2. Программирование обработки многомерных массивов на ассемблере.
3. Разработать на ассемблере программу, которая вводит с терминала 24-разрядное
двоичное число, упаковывая его в байт. Затем вводится десятичный номер
разряда(0-младший, 23-старший) и соответствующий разряд введенного числа
сбрасывается в ноль. Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 19
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование данных повышенной точности на ассемблере.
2. Передача значений и адресов в подпрограммы через стек.
3. Разработать на ассемблере программу, которая вводит двоичное число длиной 36
символов и выводит его в восьмиричном виде без первых незначащих нулей.
Например, при вводе 000000000000000000000000000000011010 будет выведено 32.
Необходимо разработать два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 20
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Механизмы преобразования целых чисел из внешнего представления во внутреннее.
2. Программирование циклов c пред- и постусловиями в ассемблере.
3. Разработать на ассемблере программу, которая вводит с терминала односимвольную
строку. Затем вводится на другой строке слово, и выводится в
восьмиричном виде количество вхождений символа первой строки во вторую
строку.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 21
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование обработки одномерных массивов на ассемблере.
2. Организация прерываний.
3. Разработать на ассемблере I8086 программу, которая вводит с терминала в режиме
опроса готовности строку слов, разделенных одним пробелом, и выводит каждое
слово на отдельной строке, позиционируя его посередине. Необходимо разработать
два варианта – для IA-16 и IA-32.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 22
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование обработки целых чисел повышенной точности
2. Модели памяти и адресная арифметика
3. Разработать на ассемблере подпрограмму M0_M1, которая преобразует
множество нулевых наборов значений аргументов булевой функции в множество
единичных наборов. Количество аргументов функций не более 16. Наборы в
множестве представляются в упакованном виде, т.е. один набор задается
одним 16-разрядным словом. В подпрограмму через стек передаются число
аргументов функции, адрес массива чисел с множеством нулевых наборов M0,
мощность этого множества и адрес целевого массива для множества единичных
наборов M1.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 23
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование реализации булевых функций, заданных множествами наборов
значений аргументов
2. Программирование ввода-вывода данных через параллельный порт ПЭВМ
3. Разработать на ассемблере подпрограмму INT_IV вычисления значения булевой
функции, заданной изображающим вектором. Вектор задается массивом 32разрядных слов, каждое из которых хранит 32 компонента изображающего
вектора. Число аргументов функции находится в пределах 3-16. В
подпрограмму через стек передаются адреса массива изображающего вектора,
число переменных и адрес массива байтов, в котором находится набор значений
аргументов, на котором необходимо определить значение функции. Начальный
байт этого массива соответствует последней (правой) переменной базиса
изображающего вектора, а конечный байт соответствует начальной (левой)
переменной. Вычисленное значение функции возвращается через регистр AL.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
УЛЬЯНОВСКИЙ
ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ N 24
ПО ДИСЦИПЛИНЕ “МАШИННО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ”
1. Программирование реализации булевых функций, заданных изображающим
вектором.
2. Программирование арифметической обработки чисел с плавающей точкой с
помощью команд FPU.
3. Разработать подпрограмму INT_TM вычисления значения булевой функции,
заданной троичной матрицей. Троичная матрица задается двумя массивами:
массивом масок MA, выделяющих небезразличные компоненты вектора, и
массивом значений этих небезразличных компонентов VA. При этом MA[i] и
VA[i] задают i-й троичный вектор матрицы. Число аргументов функции не
более 32. Один элемент массива MA или VA задается одним 32-разрядным
словом. В подпрограмму через стек передаются адреса массивов MA и VA,
число векторов троичной матрицы, количество переменных булевой функции и
32-разрядное слово с набором значений аргументов, на котором необходимо
определить значение функции. Вычисленное значение функции возвращается
через регистр AX/EAX.
Составил:
В.Н.Негода
Утверждаю:
П.И.Соснин
Download