Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

OEOl E60F

! МАСКА НА МЛЦ

ОЕОЗ 4F

г(С)-МЛЦ

0E04 78

0E05 ЕЙРО

OFOH

; МАСКА НА СТЦ

0Е07 OF

0ЕО8 47

?(В)-СТЦ»8

5ДВОИЧНОЕ СЛОЖЕНИЕ:СТЦ*(8+2)+МЛЦ

0Е09 OF

OEOA OF

;(А)-СТЦ*2

OEOB 80

;(А)-СТЦ«(8+2)

OEOC 81

;(А)-стц*10+млц

OEOn C9

0000

Программа распаковывает исходное двоично-десятичное число отдельно на его младшую (МЛЦ) и старшую (СТЦ) десятичные цифры, а затем умножает СТЦ на 10 и суммирует произведение с МЛЦ. После распаковки СТЦ она имеет в рамках двоичного байта значение СТЦХ Х2. Умножение этой цифры на 10 производится с помощью последовательности сдвигов и сложений в двоичной системе: СТЦ • 10 = СТЦ (2=* -- 2).

Программа П1016 преобразует четырехразрядное десятичное число Л10 е [0000,9999] в эквивалентное двухбайтное двоичное число Л2 е [0000,270FH] по методам (3.1), (3.2):

ОЕОО

ОЕЮ 78 0Е11 С5 0Е12 СВОООЕ 0Е15 С1

0Е16 2600 0Е18 6F 0Е19 29 0Е1А Е5 0Е1В В1 0Е1С 29

ORG 0Е10Н m08 SET ОЕООН

П1016:

(ПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ДВОИЧНО-ДЕСЯТИЧНОГО (КОД (8421) БЕЗЗНАКОВОГО ЧИСЛА ФОРМАТА 4*4 В ДВОИЧНОЕ ЧИСЛО (ФОРМАТА 16.

(ВХОДНОЙ ПАРАМЕТР:(ВгС)-ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО (РЗР2 (Р1Р0) .выходной ПАРАМЕП=-: (H»L)-ЭКВИВАЛЕНТНОЕ ДВОИЧНОЕ (ЧИСЛО.ИСПОЛЬЗУЮТСЯ РЕГИСТРЫ (СтЕ)»(А).ГЛУБИНА СТЕКА-4. (ИСПОЛЬЗУЕТСЯ ПОДПРОГРАММА *П108«.

(ОЦЕНКА:ЙЛИНА-40 БАЙТОВ (+14 БАЙТ ПОДПРОГРАММЫ)гВРЕМЯ-(334 ТАКТОВ (С УЧЕТОМ ПОДПРОГРАММЫ).

(§(«»»»«»»»«»«»«»«»»««»»«»««)()!»)! )(Х««)(»»«КК)(«»«К«««»»«К§(»*

(ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ 01=(РЗ«10+Р2)

MOV АгВ ((А)-ЧИСЛО (РЗР2)

PUSH В

CALL П108 ((А)-ДВОИЧНОЕ ЧИСЛО 01 POP В (ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ 01*10

PUSH

((H.L)-Ol ((H.L)-01*2

((В.Е)-01*2



OEII 29

г(HrL)-01*8

OEIE 19

г(HrL)-01»(8+2)

гВЫДЕЛЕНИЕ «ИФРН PI

OEIF 79

0E20 ЕЙЕО

OFOH

гМАСКА НА «ИФРУ

0E22 OF

0E23 OF

0E24 OF

0E25 OF

г(А)-ЦИФРА Р1

гВЫЧИСЛЕНИЕ ВЫРАЖЕНИЯ

02=(Q1»10+Pt>

0E26 1600

0E28 5F

0E29 19

г(HrL)-02

гВЫЧИСЛЕНИЕ

ВЫРАЖЕНИЯ

02»! 0

0E2A 29

г(HrL)-02»2

0E2B E5

PUSH

0E2C Bl

г(DrE)-02*2

0E2D 29

0E2E 29

г(HrL)-Q2»8

0E2F 19

г(ИrL)-Q2»10

гВЫЧИСЛЕНИЕ

ВЫРАЖЕНИЯ

(Q2»10+P0)

0E30 79

0E31 E60F

гМАСКА НА ЦИФРУ

0E33 1600

0E35 5F

0E36 19

г(НгЕ)-(((РЗ»10н

0E37 C9

0000

Исходное десятичное число представляется, согласно методу (3.2), в виде Л ю = ((Рз Ю-(-Р2) • 10-Ь Р,) • 10-(-+ Ро, где Pi - десятичные цифры. Для вычисления выражения в первых скобках используется подпрограмма П108. При выполнении последующих вычислений производятся распаковка двух младших PiPo цифр числа, сложение и умножение на 10 по правилу 10=8-(-2 с применением команд двухбайтного сложения. Для тестирования программ П108 и П1016 можно использовать данные таблиц, приведенных в прил. 2.

3.3. преобразования целых двоичных чисел в десятичные

Программа П810 преобразует однобайтное двоичное число Л2е[00,РРН] в эквивалентное трехразрядное десятичное число Люе [ООО, 255] по методам (3.1), (3.2):

0Е40 ORG 0Е40Н

П810:

г»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»и»и»»»)(»»»»»»»»»)(»»н»к

гПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ДВОИЧНОГО ЦЕЛОГО БЕЗЗНА-гКОБОГО ЧИСЛА ФОРМАТА 8 В ДВОИЧНО-ДЕСЯТИЧНОЕ (КОД



f8421) ЧИСЛО ФОРМАТА 3*4.

гВХОДНОЙ ПАРАМЕТР:(С)-ДВОИЧНОЕ ЧИСЛО.ВЫХОДНОЙ ПАРАМЕТР: ?(H»L)-ЭКВИВАЛЕНТНОЕ ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО (3 ЦИФРЫ). (ИСПОЛЬЗУЮТСЯ РЕГИСТРЫ В.АгСОХРАНЯЕТСЯ <С>. (0«ЕНКА:ДЛИНА-21 БАЙТ»ВРЕМЯ-547 ТАКТОВ.

S »»»»***»*»»»»»»»»»»»»»* »»»»»»»»*»»»»)(»»»»»»»»»»)Hf»»»»»»

ОЕАО 210000

HjO (ОБНУЛЕНИЕ ТЕКУШЕЙ СУММЫ

0Е43 0608

Б»8 (СЧЕТЧИК ЦИКЛОВ

(СДВИГ двоичного ЧИСЛА ВЛЕВО

0Е45 79

ЦИКЛ: MOV

0Е46 07

0Е47 4F

(ДВОИЧНО-ДЕСЯТИЧНОЕ УДВОЕНИЕ СУММЫ С УЧЕТОМ ПЕРЕНОСА

0Е48 7D

т>

OEI? 8D

OEIA 27

0Е4В 6F

L»A

0Е4С 7С

0E4D 8С

0Е4Е 27

0E4F 67

(ПРОВЕРКА КОНЦА ЦИКЛА

0Е50 05

0Е51 С2450Е

ЦИКЛ (ЗАЦИКЛИВАНИЕ

0Е54 С9

0000

Программа вычисляет выражение (3.2) путем последовательного сдвига двоичного числа влево. При этом значение признака переноса CY совпадает со значением очередной выдвинутой старшей двоичной цифры: СУ = = Gn-i, где п = 8, i=\, 2, 8. Умножение на основание R = 2 и сложение с очередной цифрой двоичного числа производятся методом двоично-десятичного сложения. Вычисление заканчивается через 8 циклов сдвигов и сложений.

Программа ПГ610, как и программа П810, преобразует двухбайтное двоичное число Лг е [0000, FFFFH] в эквивалентное пятиразрядное десятичное число Лю е е [00000, 65535] по методам (3.1), (3.2):

0Е60

0Е60 AF 152

ORG 0Е60Н

П1610!

(»»»»K»»»»»»»»»»»»»»»»»»»»f»»»f««»»»f*»»»f»f»»»»*»»»»

(ПОДПРОГРАММА ПРЕОБРАЗОВАНИЯ ДВОИЧНОГО ЦЕЛОГО БЕЗЗНА-(КОВОГО ЧИСЛА ФОРМАТА 16 Б ДВОИЧНО-ДЕСЯТИЧНОЕ (КОД (8421) ЧИСЛО ФОРМАТА 5x4.

(ВХОДНОЙ ПАРАМЕТР:(Б.С)-ДВОИЧНОЕ ЧИСЛО.ВЫХОДНЫЕ ПАРА-(МЕТРЫ!(АтНгЕ>-ЭКБИБАЛЕНТНОЕ ДВОИЧНО-ДЕСЯТИЧНОЕ ЧИСЛО ((5 ЦИФР).ИСПОЛЬЗУЮТСЯ ВСЕ РЕГИСТРЫ. (ОЦЕНКА:ДЛИНА-29 ЕАЙТтБРЕМЯ-1443 ТАКТА.

(»»»»)(»»»»»К»»)(»»»»»«»ЖК»»»»«»»»»»»»»Я**»»К»»»»»И)(»*»»*»*

(ОБНУЛЕНИЕ ТЕКУЩЕЙ СУММЫ (СгНтЕ) XRA А



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.0303
Яндекс.Метрика