Контрольные и курсовые ЮГУИР - недорого + гарантия
Лаба 1
1. Напишите программу, заполняющую ячейки $8200...$8205 значением $55. используя индексную адресацию.
2. Перезаписать регистр А в регистр В таким образом, чтобы значение регистра флагов осталось неизменным.
3. Занести $АА и $55 в регистры А и В соответственно. Перенести значение этих регистров в регистр X таким образом, чтобы в регистре X оказалось значение $55АА.
4. Заполнить 10 ячеек стека значением ячеек памяти, начиная с $8000.
5. Произвести обмен регистров X и Y тремя различными способами.
6. Занести в регистр X число $1F0. Используя только рассмотренные в этой лабораторной работе команды, уменьшить это число на 3.
7. Произвести обмен содержимого младшего байга регистра X с регистром А.
8. Изменить порядок следования байтов в регистре X. не используя команду XGDX.
9. Занести значение регистра стека в регистр D.
10. Изменить порядок следования байтов в регистре Y. используя только неявную адресацию.
11. С охранить текущее значение регистра стека в стеке.
12. Установить регистр флагов в соответствии с содержимым младшего байта регистра SP.
13. Переписать содержимое регистра А в регистры В. X и Y.
14. Сохранить все регистры ОЭВМ в ячейках памяти $8100 ... $8108. При этом содержимое данных ячеек памяти должно соответствовать значению регистров при входе в программу.
В приложении А представлена система команд, а пример программы - в приложении Б.
Примечание. При написании программ в случае необходимости следует предварительно записать значения в ячейки памяти в соответствии с заданием.
Лаба 2
1. Напишите программу' суммирования двух 16-разрядных чисел, представленных в BCD-формате, с учётом возможного переполнения.
2. Напишите программу' суммирования регистров МК по следующей формуле: D = А + В + 1о(Х) + hi(X) + lo(Y) + hi(Y). где 1о и hi младший и старший байты соответствующих регистров.
3. Напишите программу' вычитания содержимого регистров X и Y из регистра D.
4. Напишите программу' сравнения ячеек памяти SO и $1. Регистр А должен быть равен единице, если ячейки памяти равны.
5. Вычислите произведение двух ячеек памяти. Содержимое всех регистров должно остаться неизменным.
6. Напишите программу', позволяющую вычислить адрес элемента, находящегося в двухмерном массиве размерностью 3x3. Массив располагается по адpecy S8100. Индекс задается регистрами А н В. где А - номер строки. В - номер столбца массива.
7. Напишите программу, которая преобразует число, заданное в регистре А. в восьмеричное представление этого числа в ASCII коде.
8. Напишите программу, которая преобразует число, заданное в регистре А. в десятичное представление этого числа в ASCII коде.
9. Просуммируйте содержимое двух ячеек памяти. Содержимое всех регистров должно остаться неизменным.
10. Вычислите разность содержимого регистров X и Y.
11. Вычислите произведение регистров X и Y.
12. Используя только команды TAB. SUBA. STAB. LDAB. DECA и XGDX. занесите в регистр А значение SFF.
13. Вычислите частное от деления содержимого индексного регистра X на содержимое индексного регистра Y. При этом все остальные регистры необходимо сохранить в начальных условиях.
14. Напишите программу сравнения 1б-разрядных чисел, расположенных в ячейках памяти $0 и S2. Регистр А должен быть равен нулю, если ячейки памяти не равны.