Cтраница 1
Программа умножения, выполняемого путем многократного повторения операции сложения, составленная для процессора Н8000. [1] |
Программа умножения двух чисел для процессора Н6809 ( рис. 5.6), переписанная применительно к процессору Н8000, приведена на рис. 5.19. Данная программа предназначена для обработки байтовых данных, однако ее можно легко модифицировать для выполнения операций над словами. [2]
Программы умножения и деления для чисел с плавающей запятой предлагается составить самостоятельно по приведенным выше алгоритмам. [3]
Программам умножения и деления должны быть переданы значения операндов. [4]
Как программа умножения чисел с фиксированной точкой, так и программа умножения упакованных десятичных чисел правильно нашли относительный адрес 19-го сегмента таблицы. Но следует особо подчеркнуть, что это был только относительный адрес. Эта величина должна быть суммирована с действительным адресом, доступным в процессе выполнения программы, определяя таким образом действительный абсолютный адрес сегмента таблицы. [5]
Использование программ умножения для генерирования адресов при произвольном доступе требует решения проблемы обработки чисел, которые больше максимального адреса памяти. Тогда ни один из генерированных адресов ( 21636 и 24491) не попадает в допустимую область. Существуют два подхода к решению этой проблемы. [6]
Этому уравнению соответствует программа умножения, приведенная на рис. 8.11, в которой четыре байта РЗ, Р2, Р1, РО представляют собой произведение, а команда MUL является командой умножения чисел без знака. По сравнению с этой программой умножение с повышенной точностью чисел со знаком и без знака, для реализации которого в качестве простейшей операции используется умножение чисел со знаком, выполняется более сложно. [7]
О ходе выполнения программы умножения дает представление рис. 4.5. Здесь, как и в рассмотренном выше примере умножения ( табл. 4.5), сначала обрабатываются младшие биты множителя. Однако вместо сдвига множимого влево оно помещается под старшим словом частичного произведения и производится сдвиг частичного произведения вправо. [8]
Так, например, программа умножения разбивается на микрокоманды сложения сдвига и анализа оставшихся разрядов множителя. И если оставшиеся разряды равны нулю, то умножение прекращается. Аналогично составляется и программа деления, в которой проверяются оставшиеся разряды делимого. [9]
Результаты исполнения команды СМР. [10] |
Если Вам когда-либо приходилось терпеть муки составления программы умножения для микропроцессоров Z80, 6502 или для каких-либо других распространенных 8-битовых микропроцессоров, то Вы будете рады узнать, что микропроцессор 8088 имеет встроенные команды умножения. Команда MUL ( multiply - умножить) умножает числа без знака, a IMUL ( integer multiply - умножить целые числа) - числа со знаком. Обе команды могут умножать как байты, так и слова. [11]
Программа строится совершенно прямолинейно, если только программу умножения из примера 6.4 изменить так, чтобы она давала [ гаг ] [ ] -, - см. сокращенную граф-схему возведения в степень. [12]
Как программа умножения чисел с фиксированной точкой, так и программа умножения упакованных десятичных чисел правильно нашли относительный адрес 19-го сегмента таблицы. Но следует особо подчеркнуть, что это был только относительный адрес. Эта величина должна быть суммирована с действительным адресом, доступным в процессе выполнения программы, определяя таким образом действительный абсолютный адрес сегмента таблицы. [13]
Для начинающих наличие у микропроцессора 8088 встроенных команд умножения и деления означает, что часы ( а то и дни), которые в противном случае пришлось бы потратить на разработку программ умножения и деления, можно провести более продуктивно, например поиграть в теннис. [14]
В действительности произведения U ( /) V ( /) являются, строго говоря, не произведениями n - разрядных чисел, а произведениями чисел, разряд которых не превышает п /, где t - фиксированная величина, зависящая от г. Легко составить программу умножения для ( га / разрядных чисел, которая требует выполнения лишь Т ( п) сгп операций, так как при фиксированном t два произведения i-раз-рядных чисел на n - разрядные можно получить за сгп операций. [15]