в порт 002. Операция десятичной
014 002 001
014 003 047 DAA
014 004 006 MVI B, 040Q
014005 040
014006315 M2: CALL DL
014007 277
014 010 000
014011005 OCR В
014012302 JNZ, M2
014013 006
014 014 014
014015323 OUT, 002Q
014016 002
014017303 JMP, Ml
014020 001
014021 014
Программа производит примерно каждые 0,5 с суммирование содержимого аккумулятора с единицей (инкремент), выполняет операцию десятичной коррекции и выводит результат в порт 002. Операция десятичной коррекции дает правильный результат только после операции сложения. Поэтому для выполнения вычитания одного двоично-кодированного десятичного числа из другого необходимо либо заменить вьиитание прибавлением к уменьшаемому вычитаемого, представленного в дополнительном коде, а затем уже производить десятичную коррекцию результата, либо применить эквивалентные этому искусственные приемы. Для примера введем в ПМ-ЭВМ программу вычитания содержимого ячейки 014Q 005Q (здесь 28) из содержимого ячейки 014Q 007Q (здесь 75) :
014000076 MVIA, 99D
014001 231
014002306 ADI, 01D
014 003 001
014004336 SBI, 28D
014005 050
014 006 306 ADI, 75D
014 007 165
014 010 047 DAA
014011323 OUT, OOOQ 014 012000
014013166 HLT
В данной программе вычитание числа 28D из числа 99D + ID эквивалентно формированию в аккумуляторе вычитаемого в дополнительном коде. Поэтому прибавление уменьшаемого (здесь 75 D) с последующей десятичной коррекцией дает правильный результат (47 D), индицируемый портом 000.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий