![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Особенности интегральных микросхем Действия над числами десятичными двоичными ,23 +J15 Коррекция -(-00 ,23 + 18 Коррекция -f06 28 + 79 107 Коррекция -f66 00 01 01 10
Команда ADD DAA ADD DAA Таблица 1.30
99 63 79 П6 Корреиция -t-66 IOOI 1001 1001 1100
SUB , STC ADC 99 -79 ? 63 lOOl 1000 1001 Olio Дополнительный код -J6
STC ADC можно использовать для определения знака числа, а именно: при отрицательном результате Q = О, а результат представлен в дополнительном коде. Во многих применениях МП 8 бит недостаточно для достижения заданной точности представления чисел. В этом случае числа представляются двумя или более байтами, основные арифметические операции над которыми реализуются программным путем. В табл. 1.31 приведена программа многобайтового сложения двоичных чисел, расположенных в п ячейках, начиная соответственно с адресов аир (старшие байты чисел расположены В ячейках с большими адресами), с занесением результата на место первого числа. Регистр PD служит в качестве счетчика циклов. Прн подготовке цикла в него командой MVI, в адресной части которой и втором (адресном) байте указаны соответственно код PD и п, заносится длина чисел. При сло-
жении очередных сайтов чисел его содержимое уменьшается на I. По нулю этого регистра командой IZ осуществляется переход к команде HLT. Адреса очередных байтов формируются в регистрах РВС и PHL. Адреса первых байтов команд образуют ряд о, ш -f 2, ш-f 5,..., ш -f 21. В ячейках с пропущенными в указанном ряду номерами, располагаются вторые и третьи байты команд соответствующей длины. Например, команды MVI и /Z двух- и трехбайтные. Следовательно, в ячейке с адресом w -f 1 хранится второй байт команды MVI, а в ячейках с адресами ш -f- 14 и ш + 15 - второй н третий байты команды IZ. Так как команда ADC однобайтная и хранится в ячейке с адресом w -f 10, то первый байт следующей команды записан по адресу <а -f 11. Если в рассмотренной программе заменить команду ADC командой SBB, получим программу вычитания для многобайтовых чисел. Если же после команды ADC поставить команду десятичной коррекции, получим программу сложения 2/г-разрядных десятичных чисел. В табл. 1.32 приведена программа десятичного вычитания я-байтных десятичных чисел, адреса младших байтов которых указаны в регистрах
СО MVI nf(J. ь регистр записывается длина п с, п чисел в байтах <о--2 STC Q= 1. Триггер переноса устанавливается в 1 <0J 3 MVI 99-*-РЛ. В регистр РА заносится двоичный А, 99, код 1001 I00I числа 99 Ш -f 5 ACl А -\- О -\- Q ->- PA. Прибавление переноса, об- 0 разовавшегося в предыдущем цикле, к числу 99 <fl-f7 SUB А ЗУ (Я!,;РЛ. Образование очередного ЗУ байта дополнительного кода вычитаемого (0+8 XCHG PHL о PDE. Регистры PHL и PDE обменя- ваются информацией (0+9 ADD Л + ЗУ {HL) РА. Определеняе очередного ЗУ байта результата (0+10 DAA Десятичная коррекция Л (0+11 MOV ЛЗУ (Я). Очередной откорректированный ЗУ, Л байт результата заносится иа место использованного байта уменьшаемого (0+12 ХСНа PHL< PDE. Регистры PHL я PDE обмени- ваются содержимым (0+13 INX D D£ + 1 PDE. Я! + 1 -> PHL. Путем при- бавления I формируются адреса следующих ш + 14 INX Я байтов операндов со + 15 DCR С - I PC. Содержимое счетчика циклов С уменьшается на I (0+16 INZ Переход по Z = 0. Если Z = О, то это в данном (0 + 3 случае означает, что еще не над всеми байтами выполнены операции и, следовательно, надо вернуться на начало цикла к команде MVI. При Z = 1 переход осуществляется к следующей команде (0+19 HLT Останов PDE н PHL. Поясняет программу цифровая диаграмма для вычитания трех-бантных чисел, приведенная в табл. 1.33. При выполнении операций над третьим байтом перенос не возник, что в данном случае является признаком отрицательного результата, представленного в дополнительном коде. Команда умножения в МП отсутствует. Вследствие этого умножение проводится программным путем. В табл. 1.34 приведен пример умножения двух положительных 16-разрядных двоичных чисел, записанных в регистрах РВС и PDE. Умножение начинается со старших разрядов множителя и сдвигом суммы частичных произведений в два этапа. На 1-м этапе умножают на младший байт множителя, а на 2-м - на старший. После этого два
< LXI Я . О PHL. Сброс в О PHL для последующего О накопления в нем суммы частичных произве- дений ю + 3 MOV С- РА. Младший байт множителя засыла- А, С ется в РА для последующего просмотра его цифр о+ 4 MV1 0000100PC. В счетчик циклов, организо- С, 00001000 ванный иа PC, записывается число 8 (0+6 DAD Н 2HL-* PHL. Сдвиг суммы частичных произ- ведений (0+7 RAL 2Л + Q-РЛ. Очередной разряд множителя засылается в триггер переноса, а старшая цифра величины 2HL - в младший разряд РА (а+ 8 INC Переход по Q = 0. Анализ состояния TQ, (0+14 в котором находятся очередная цифра множителя (0+11 DAD D DE + HL- PHL. Образование нового зна- чения суммы частичных произведений путем добавления множимого при Q = 1 со+12 АС1 Л+О + С-РЛ. Переибс из младших бай- 0 тов HL суммы частичных произведений при- бавляется к старшему байту (й + 14 DCR С - 1 ->- PC. Уменьшение на 1 кода счетчика С циклов (0+15 1NZ Переход по Z = 0. При Z = О С О и, следо- 0) + 6 вательно, умножение на младший бант не окончено
+ 18 SHLD PHL => ЗУ (а). Засылка младших байтов ре- а зультата в ЗУ по адресу а (L) и а -(- 1 (Я) со + 21 MOV О РН. Сброс в О РН путем засылки кода О Я, С нз PC О) -(- 22 MOV А -+ PL. Старший байт результата умножения L, А на младший байт множителя пересылается в PL для дальнейшего сложения с суммой частичных произведений со Ц- 23 MOV В РА. Действия, аналогичные тем действн- : : ям, которые выполнились командами -(- 3... ...О) -\- 15. В результате выполинется умно-ш + 35 INZ жение иа старший байт множители 01-1-38 XCHG PHL о PDE. Обмен содержимым регистров PHL и PDE й -(- 39 LHLD ЗУ (а -I- 1) => PHL. Засылка в PL второго а -(- 1 байта результата умиожеинн множимого иа младший байт множители CD -и 42 MOV О РН. Сброс в О РН. Н, С 01-1-43 DAD D DE -\- HL- PHL. Формирование второго и третьего байтов произведения се-(-44 ADC А-\-О-\-Q- -РА. Формирование старшего С байта произведения полученных произведения суммируются с учетом взаимного сдвига на один байт. При этом старший байт произведения, полученного иа 1-м этапе, суммируется за счет предварительной его засылки в PL. Три старших байта результата расположены в регистрах РА и PHL, а младший байт - в ЗУ по адресу а. Деление, так же, как н умножение, выполняется в МП программно. В табл. 1.35 приведена программа деления с восстановлением остатка двухбайтных положительных чисел. При этом предполагаетсн, что делитель больше делимого, делимое в старшем разряде содержит О н находится в ячейках ЗУ с адресами а н а -- I (старший байт хранится по адресу а 4. 1), а делитель расположен в регистре PDE. Частное формнруетсн в РВС, а конец деления определяется с помощью маркерной 1, которая после определения 16 бит частного перейдет в TQ. Микросхема ВГ75 предиазначеиа для организации свнзи микро-ЭВМ с растровыми сканирующими дисплеями иа основе ЭЛТ н обеспечивает согласование синхронного режима работы дисплея с асинхронным режямом обмена информацией в микропроцессорной системе посредством буферизации информации, поступающей из ЗУ. Контроллер ВГ75 запоминает информацию, подлежащую отображению иа ЭЛТ, формирует сигналы синхронизации строчной и кадровой разверток, генерирует курсор н фиксирует сигналы светового пера. Регистры ИР82 и ИР83 содержат 8 D-триггеров и схем И с трехстабиль-ным выходом. Микросхема ИР83 отличается от ИР82 тем, что ее выходной каскад построен на схемах И-НЕ. ю -I- 8 со -I- 9 со -(- 10 0-1-11 0-1-12 сй -I- 13 се -(- 14 се-)- 17 се -I- 18 0-1-21 се -I- 22 со -I- 23 ,01-1-24 01 -f- 25 о -f- 26 01-1-27
MOV А, С RAL MOV с, А MOV A, В RAL MOV B, А 01 -f 33 DAD Я SHLD а MOV А, L SUB Е MOV L, A MOV A, Я SBB D MOV Я, A JNC 01 -j- 7 C-PA, 2A-j-Q-PA, A-PC,B-*PA 2A + PA, APB. Сдвиг частного, которое формируется в РВС, на один разряд влево и запись в младший разряд РВС очередной цифры частного. В первом цикле в младший разряд РВС записывается маркерная 1, по которой в дальнейшем фиксируется конец деления Переход по Q= 1. При Q =. 1 маркерная 1 попала в TQ. Это означает, что все циклы деления выполнены н, следовательно, надо перейти к команде Я17 , которая в данном случае означает конец деления. При Q = О деление следует продолжить 2HL-*-PHL. Сдвиг остатка на один разряд влево PHL3W (а + \, а). Запись остатка в ЗУ для его восстановления, если он окажется меньше делителя L-*PA, А-ЕРА, A-PL, НРА. А ~D -Q- РА, А~> PH. Из остатка вычитается делитель Переход по Q = 0. Если Q = О, то это означает, что очередной остаток положительный, очередная цифра частного равна 1 и следует перейти к выпо;ч(1енига сдвигов
ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |