Назначение, состав и принципы работы с библиотекой стандартных подпрограмм. Принципы вывода информации на индикатор и принципы перекодировки данных для индикации

Страницы работы

Фрагмент текста работы

Лабораторная работа №3

Работа с библиотекой стандартных подпрограмм и изучение возможностей вывода на индикатор контроллера «Электроника МС2721»

Цель работы:  Изучить назначение, состав и принципы работы с библиотекой стандартных подпрограмм. Изучить принципы вывода информации на индикатор и принципы перекодировки данных для индикации.

Назначение и условия применения.

Библиотека подпрограмм с плавающей запятой состоит из 18 подпрограмм, по которым производятся 4 арифметических операции со знаком [+] или [-], вычисляются тригонометрические функции, вычисляются факториал, показательная функция и логарифмическая функция.

Имеется также 9 обслуживающих подпрограмм, которые обеспечивают работу основных.

Библиотека подпрограмм с плавающей запятой рассчитана на диапазон изменения чисел от 0,5867*10-38 до 0,1704*1039. Для работы библиотеки необходим объем ЗУ с произвольным обращением – 31 байт; глубина использования стэка – не более 20 байт.

Входные и выходные данные.

Целое число в библиотеке подпрограмм – это однобайтное или двухбайтное число (старший байт - знаковый), представленное в прямом коде, у двухбайтного числа 14-й бит – бит переполнения.

Целое число имеет следующий формат:

7

0

знак

15

14

… … … … … … … … … …

0

      знак      переполнение если число больше нуля, то знаковый бит равен 0, иначе  - 1

Экспоненциальная форма записи:

знак порядка

порядок

знак мантиссы

поле переполнения

мантисса

Максимальное число без потери точности: 16383 – 0,1638*105 .

Трехбайтовая область:

23

… … …

15

… … …

7

… … … … … … … … …

0

   поле порядка                          поле старшего           поле младшего байта мантиссы

    байта мантиссы

Информация на дисплее:

h

g

f

e

d

c

b

a

7        …        …               0

 
 



Библиотека подпрограмм:

##

Метка

Точка входа

Операнды

Описание

1

ADXAR

0F2CH

XAR1 – Слагаемое 1

XAR2 – Слагаемое 2, результат

Сложение однобайтовых чисел с фиксированной запятой и со знаком

2

ADMAN

0FC0H

MANS1 – Слагаемое 1

MANM1

MANS2 – Слагаемое 2,

MANM2   результат

Сложение двухбайтных чисел с фиксированной запятой и со знаком

3

ADNUM

106AH

XAR1 – Слагаемое 1

MANS1

MANM1

XAR2 – Слагаемое 2,

MANS2  результат

MANM2

Сложение чисел с плавающей запятой

4

MUMAN

1077H

MANS1 – множитель 1

MANM1

MANS2 - множитель 2,

MANM2   результат

Умножение двухбайтовых чисел со знаком и фиксированной запятой

5

MUNUM

10CFH

XAR1  – множитель 1

MANS1

MANM1

XAR2  - множитель 2,

MANS2   результат

MANM2

Умножение чисел с плавающей запятой

6

SUMAN

10DCH

MANS2 – делимое,

MANM2   частное

MANS1  - делитель

MANM1

Деление двухбайтовых чисел с фиксированной запятой

7

SUNUM

1152H

XAR2  – делимое,

MANS2   частное

MANM2

XAR1   - делитель

MANS1

MANM1

Деление чисел с плавающей запятой

8

FACTOR

117BH

A -исходное значение

XAR5   - результат

MANS5

MANM5

Вычисление факториала, до 7

9

SIN

136AH

XAR8   - аргумент

MANS8

MANM8

MAR3   - результат

MANS3

MANM3

Вычисление синуса угла

10

COS

1415H

XAR8   - аргумент

MANS8

MANM8

MAR3   - результат

MANS3

MANM3

Вычисление косинуса угла

Адреса переменных

переменная

адрес

переменная

адрес

переменная

адрес

XAR1

1880H

MANS1

1881H

MANM1

1882H

XAR2

1883H

MANS2

1884H

MANM2

1885H

XAR5

1886H

MANS5

1887H

MANM5

1888H

XAR8

1870H

MANS8

18871H

MANM8

1872H


Программа вывода на экран даты рождения

1900

TABLE:

06

;

Цифра 1

1901

4F

;

Цифра 3

1902

06

;

Цифра 1

1903

06

;

13.11.1980

 
Цифра 1

1904

06

;

Цифра 1

1905

67

;

Цифра 9

1906

FF

;

Цифра 8

1907

3F

;

Цифра 0

1908

START:

21 00 19

LXI H,1900H

;

загрузка стартового адреса данных

190B

06 08

MVI B,08H

;

загрузка счетчика

190D

M1:

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 FFH

;

не занулился ли счетчик

1915

C2 0D 19

JNZM1

;

и не пора ли закончить вывод

1918

76

HLT

;

останов если конец

Программа поиска и вывода на экран таблицы перекодировки

1900

TABLE:

3F

;

Цифра 0

1901

06

;

Цифра 1

1902

5B

;

Цифра 2

1903

4F

;

Цифра 3

1904

66

;

Цифра 4

1905

START:

21 00 00

LXI H,0000H

;

Установка счетчика адреса

1908

M2:

11 00 19

LXI D,1900H

;

Адрес образца начала таблицы перекодировки

190B

M3:

EB

XCHG

;

Обмен между парами

190C

7E

MOV A,M

;

Считываем в аккумулятор содержимое памяти

190D

EB

XCHG

;

Обмен между парами

190E

BE

CMP M

;

Сравниваем с образцом

190F

CA 16 19

JZ M1

;

Если совпало – проверка следующего адреса

1912

23

INX H

;

Иначе – переход к сл. адресу с проверкой на

1913

C3 08 19

JMP M2

;

Совпадение начиная с первого элемента

1916

M1:

23

INX H

;

Увеличиваем адрес на единицу

1917

13

INX D

;

Переходим к сл. сравниваемому символу

1918

7B

MOV A,E

;

1919

FE 05

CPI 05H

;

Если уже сравнили 5 цифр – адрес 

191B

C2 0B 19

JNZ M3

;

таблицы найден!

191E

2B

DCX H

;

Регистр HL содержит адрес начала таблицы

191F

2B

DCX H

;

Перекодировки

1920

2B

DCX H

;

1921

2B

DCX H

;

1922

2B

DCX H

;

1923

E5

PUSH H

;

Копирование пары HL в пару DE

1924

D1

POP D

;

1925

7C

MOV A,H

;

Потетрадное выделение цифр найденного

1926

E6 F0

ANI F0H

;

адреса и последолвательный выаод на

1928

0F

RRC

;

дисплей

1929

0F

RRC

;

192A

0F

RRC

;

192B

0F

RRC

;

192C

CD 40 19

CALL DISP

;

192F

7C

MOV A,H

;

1930

E6 0F

ANI 0FH

;

1932

CD 40 19

CALL DISP

;

1935

7D

MOV A,L

;

1936

E6 F0

ANI F0H

;

1938

0F

RRC

;

1939

0F

RRC

;

193A

0F

RRC

;

193B

0F

RRC

;

193C

CD 40 19

CALL DISP

;

193F

7D

MOV A,L

;

1940

E6 0F

ANI 0FH

;

1942

CD 40 19

CALL DISP

;

1945

76

HLT

;

1946

DISP:

83

ADD E

;

Подпрограмма вывода на дисплей

1947

5F

MOV E,A

;

Определение адреса в таблице перекодировки

1948

1A

LDAX D

;

Загрузка в аккумулятор кода символа

1949

D3 E4

OUT E4H

;

Выставление кода символа на дисплей

194A

E5

PUSH H

;

Установка DE на начало таблицы

194C

D1

POP D

;

194D

C9

RET

;

возврат

Найденный адрес: 0E79h

Заключение: библиотека подпрограмм контроллера «Электроника МС2721» позволяет придать микропроцессорным системам на его основе необходимую гибкость и универсальность при решении различного рода задач, а также возможность работать с действительными числами. Система индикации, построенная на основе контроллера клавиатуры и дисплея, обладает рядом преимуществ перед системами с прямым подключением индикаторов к линиям ППА (УМК) – в данном случае производится побайтовый (один знак) ввод информации в порт E4h, с циклическим сдвигом индикации. Данная система не требует программной регенерации дисплея

Похожие материалы

Информация о работе