Лабораторная работа №3.
Изучение библиотек стандартных подпрограмм.
Цель работы: изучить состав стандартных библиотек подпрограмм универсального программируемого контроллера Электроника «МС-2721».
Состав библиотеки стандартных подпрограмм.
№ |
Название подпрограммы |
Адрес точки входа |
Формат вызова |
Назначение подпрограммы |
1 |
WRABC |
1175h |
Адрес памяти®HL |
Подпрограмма передачи числа из регистров А.В.С в память |
2 |
SUMAN |
10DCh |
делимое®1884h, 1885h делитель®1881h,1882h частное®1884h,1885h |
Подпрограмма деления двухбайтовых чисел со знаком и с фиксированной запятой |
3 |
FACTOR |
117Bh |
Целое n®аккумулятор Результат®1886h, 1887h |
Подпрограмма вычисления факториала. |
4 |
XSTA |
11EBh |
x®1880h, 1881h, 1882h a®1873h xa®1883h, 1884h, 1885h. |
Подпрограмма реализующая показательную функцию. |
5 |
LOGE |
124Eh |
x®1870h, 1871h, 1872h ln x®1877h, 1878h, 1879h |
Подпрограмма, реализующая логарифмическую функцию |
6 |
COS |
1415h |
x®1870h,1871h,1872h cos x®1874h,1875h,1876h |
Подпрограмма вычисления cosx. |
7 |
TANG |
152Ah |
x®1870h,1871h,1872h tg x®1883h,1884h,1885h |
Подпрограмма вычисления тангенса угла. |
8 |
CTANG |
1644h |
x®1870h,1871h,1872h ctg x®1883h,1884h,1885h |
Подпрограмма вычисления котангенса угла |
9 |
ARTAN |
1558h |
x®1870h,1871h,1872h arctg®1874h,1875h,1876h |
Подпрограмма вычисления арктангенса угла |
10 |
ADMAN |
0FC0h |
Слаг1®1880h,1881h,1882h Слаг2®1883h,1884h,1885h å®1883h, 1884h, 1885h. |
Подпрограмма сложения двухбайтовых чисел с фиксированной запятой и со знаком |
Для корректной работы с подпрограммами необходимо соблюдать верный формат вызова, например, при вызове подпрограммы вычисления факториала FACTOR, в аккумулятор необходимо заносить число не больше 7 или при работе с подпрограммой LOGE нельзя в качестве аргумента заносить в память нули и т.д. Вызов подпрограмм осуществляется с помощью команды безусловного вызова или вызова подпрограммы, если …
Принцип перекодировки.
Принцип перекодировки состоит в том, что любое число можно представить в виде комбинации горящих и погасших сегментов представленных на рисунке. Так, чтобы вывести на индикатор любое число необходимо перед посылкой в порт ПККД ввести в аккумулятор код, каждый бит которого означает: загорится сегмент-1 или нет- 0. Например, чтобы загорелось число 8 необходимо, чтобы загорелись сегменты a,b,c,d,e,f,g следовательно код в аккумуляторе должен выглядеть следующим образом:01111111 или 3Fh, где 0 бит отвечает за а сегмент, 1-b, 2-c, 3-d, 4-e, 5-f, 6-g, 7-h.
Напишем программу, выводящую дату своего рождения на дисплей УПК.
Адрес |
Метка |
Код |
Мнемокод |
Комментарии |
1900 |
06 |
«1» |
Запись кодов цифр даты своего рождения |
|
1901 |
06 |
«1» |
||
1902 |
3F |
«0» |
||
1903 |
06 |
«1» |
||
1904 |
06 |
«1» |
||
1905 |
6F |
«9» |
||
1906 |
7F |
«8» |
||
1907 |
06 |
«1» |
||
1908 |
21 00 19 |
LXI H, 1900h |
Загрузка начального адреса |
|
190В |
06 08 |
MVI B, 08h |
Кол-во цифр |
|
190D |
М1: |
7E |
MOV A, M |
Вывод на дисплей. |
190E |
D3 E4 |
OUT E4 |
||
1910 |
23 |
INX H |
Переход к следующей цифре |
|
1911 |
05 |
DCR B |
||
1912 |
78 |
MOV A, B |
||
1913 |
E6 FF |
ANI FF |
Проверка, все ли цифры выведены на дисплей |
|
1915 |
C2 OD 19 |
JNZ M1 |
||
1918 |
76 |
HLT |
Напишем программу, находящую начальный адрес таблицы перекодировки.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.