Все Студенту - шпоры, доклады, рефераты, лабораторные, ргр

Студент, решение твоих заданий здесь!

Билет 3

7. Составить подпрограмму на Ассемблере, подсчитывающую число ненулевых элементов массива из тысячи чисел, хранящихся в последовательных ячейках ОЗУ. Определить механизм передачи параметров в подпрограмму, привести пример вызова разработанной подпрограммы.

NonZero1000: mov R1,#0 ; обнуление счетчика

mov R3,#0 ; ненулевых элементов

mov R2,#10 ; загрузка счетчиков

L2: mov R3,#100 ; на 1000 элементов

L3: movx A,@DPTR ; чтение элемента массива

inc DPTR ; установка указателя на след. элемент

jz L1 ; если тек. элемент ноль идти на L1

inc R1 ; инкремент

cjne R1,#0,L1 ; двухбайтового счетчика

inc R3 ; ненулевых элементов

L1: djnz R3,L3 ; обработка счетчиков цикла

djnz R2,L2

ret ; возврат из подпрограммы

Пример вызова:

mov DPTR,#Massive ; загрузка в указатель адреса начала массива

acall NonZero1000 ; вызов подпрограммы

8. К порту вывода МПС подключен ЦАП .Предложить фрагмент принципиальной функциональной) электрической схемы МПС . Составить программу генерации на выходе ЦАП сигнала указанной формы с регулируемыми параметрами.

Start: mov P1,#0 ; формирование нулевого состояния участка t2

acall Delay2 ; реализация интервала t2

Next: inc P1 ; формирование очередного шага участка t1

acall Delay1 ; реализация интервала t1

mov A,P1

cjne A,#Amplitude, Next ; проверка на ампл. значения

sjmp Start

9. Составить подпрограмму на Ассемблере, преобразующую 8 - разрядное двоичное число в двоично - десятичный вид , т.е. вычисляющую байты, соответствующие сотням, десяткам и единицам.

BCDConvertor: mov B,#10 ; делим 1-й раз

div AB ; на 10

mov R0,B ; в остатке кол-во единиц в числе

mov B,#10 ; делим 2-й раз

div AB ; на 10

mov R1,B ; в остатке число десятков в числе

mov R2,A ; в частном число сотен в числе

ret ; возврат

Пример вызова:

mov A,#Znach ; загрузка числа

acall NonZero1000 ; вызов подпрограммы


Комментариев нет..
[ Добавить ] комментарий
Поля с пометкой * обязательны для заполнения

*Ваше имя
  Ваш сайт  
  Ваш город
*Ваше сообщение

Код подтверждения
*Код с картинки   @
код на картинке содержит только цифры (0..9) и буквы англ. алфавита (A..Z)