|
|
Главная Микроустройства: номенклатура изделий электронной промышленности
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
j 15. Программа многобайтового сложения двоичных чисел eg 0 1 ко- | Команда н операнд | Содержание команды. Пояснения | ю | MVI D, п | n - - PD. В регистр PD записывается длина п чисел в байтах | | LX1 ВС, а | а-РВС, PPHL. В регистры РВС и PHL заносятся адреса а и fi младших байтов слагаемых | сй+5 . | LXI HL, р | | OR А Л | V А~РА. Установка признака Q в 0 путем выполнения команды поразрядной дизъюнкции, после выполнения которой всегда Q = 0 | (0+9 | LDAXB | ЗУ (ВС) РА. Пересылка из ЗУ по адресу ВС очередного байта первого слагаемого в РА | со+Ш | ADCH | А + ЗУ (HL) + Q -> РА. Сложение очередных байтов чисел | со+11 | STAXB | РЛЗУ (ВС). Сумма очередных байтов записывается в ЗУ по адресу ВС, взятому из регистра РВС | co+l2 | DCR D | D - 1 PD. Уменьшение содержимого регистра PD па 1 с целью определения конца операции многобайтового сложения | (0+13 | JZ cu+21 | Переход по Z= I. Если признак 2=1, который в данном случае означает, что содержимое PD равно нулю и, следовательно, все байты просуммированы, то осуществляется переход к команде HLT. Если Z = 0, то осуществляется переход к команде сй+16 | | INXB | ВС + 1 -v РВС. HL+ 1-*- PHL. Образование | со+17 | INXH | адресов следующих байтов слагаемых | | JMP (0+9 | Безусловный переход к команде со + 9 (начало цикла) | | | Останов. Последняя команда программы |
Мб. Программа десятичного вычитания X ксо | Команла и операнд | Содержание команды. Пояснения | И | MV] с, II | п-РС. В регистр PC записывается длина п чисел в байтах | (0 + 2 | | Q= 1. Триггер переноса устанавливается в I | со + 3 | MV1 А, 99 | 99- РА. В регистр РА заносится двоичный код 1001 1001 числа 99 | (0 + 5 | АС1 0 | Л + 0 + Q - РА. Прибавление переноса, образовавшегося в предыдущем цикле, к числу 99 | (0 + 7 | н | Л - 3У (HL)-PA. .Образование очередного байта дополнительного кода вычитаемого | (0 + 8 | XCHG | PHL**PDE. Регистры PHL и PDE обмениваются информацией | со +9 | ADD Н | A-\-3Y (HL)-PA. Определение очередного байта результата | (0+10 | | Десятичная коррекция Л | Ш.+ И | Н, А | Л -> ЗУ (HL). Очередной откорректированный байт результата заносится на место использоваи-ного байта уменьшаемого | (0+ 12 | XCHG | PHL*-*PDE. Регистры PWL и PDE обмениваются содержимым | ©+ 13 (0+14 | INX D INXH | DE+ PDE, HL+\- PHL. Путем прибавления 1 формируются адреса следующих байтов операндов | (0+15 | DCR С | С - 1 - - PC. Содержимое счетчика циклов уменьшается на 1 | С0+ 16 | , JNZ CU+ 3 | Переход по Z = 0. Если Z = 0, то это в данном случае означает, что еще не над всеми байтами въиюлнены операции и, следовательно, надо вернуться на начало цикла к команде MV1. При Z = 1 переход осуществляется к следующей команде | (0+19 | | Останов |
1.17. Цифровая диаграмма вычитания трехбайтных чисел о Пояснения Исходные числа 3-й цикл 2-й цикл I-ft цикл MV1 ACI Результат Перенос Результат Операнд Результат Операнд Результат Константа Результат Окончательный результат 1001 | 10QI | 1001 | 1001 | 1001 | 1001 | | 0-<-- | | | | | 1001 | 1001 | 1001 | 1010 | 1001 | 1010 | 1001 | 0001 | J001 | 1000 | 0001 | 0111 | 0000 | 1000 | 0000 | 0010 | 1000 | ООН | ООП | 1001 | 0111 | оно | 0101 | 0100 | 0100 | 0001 | 0111- | 1000 | 1101 | 0111 | 0000 | оно | 0000 | 0000 | оно | 0000 | 0100 | 0111 0 0111 | 1000 1 | ООН | 0111 | 0100 | 0111 | 0111 | 1000 | ООН | 0111 | | | | | | |
1.18. Программа умножения 16-разрядиых чисел | Команда | Содержание команды. Пояснения | | LXI Н 0 | 0-PHL. Сброс в 0 PHL для последующего накопления в нем суммы частичных произведений | | MOV А, С | С - - РА. Младщий байт множителя засылается в РА для последующего просмотра его цифр | 0)-(-4 | MV1 с. 00001000 | 00001000PC. В счетчик циклов, организован, ный на PC, записывается число 8 | (0+6 | DADH | 2HL-* PHL. Сдвиг суммы частичных произведений - | (0+7 | | 2A-\-Q-PA. Очередной разряд множителя засылается в триггер переноса,-а старшая цифра величины 2Н1 - ъ младший разряд РА | (0+8 | JNC (0+14 | Переход по Q = 0. Анализ состояния TQ, в ко- тором находится очередная цифра множителя | (0+11 | DADD | DE-\-HL-*PHL. Образование нового значения суммы частичных произведений путем добавления множимого при Q = 1 |
|
|
|