Ассемблер и программирование для IBM PC



         

ГЛАВА 13. Арифметические операции II: - часть 11


ъ Прежде чем выполнить ASCII-умножение, необходимо преобразовать множимое и множитель в "распакованный десятичный" формат, обнулив в каждом байте левые тройки. После умножения необходимо выполнить коррекцию результата с помощью команды AAM.

ъ Прежде чем выполнить ASCII-деление, необходимо: 1) преобразовать делимое и делитель в "распакованный десятичный" формат, обнулив в каждом байте левые тройки и 2) выполнить коррекцию делимого с помощью команды AAD.

ъ Для большинства арифметических операций используйте преобразование чисел из ASCII-формата в двоичной формат. В процессе такого преобразования проверяйте на корректность ASCII-символы: они должны быть от шест.30 до шест.39, могут содержать десятичную запятую (точку) и, возможно, знак минус.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ------------------------------------------------------------

13.1. Предположим, что регистр AX содержит 9 в ASCII коде, а регистр BX -7 также в ASCII коде. Объясните и дайте точный результат для следующих несвязанных операций:

а) ADD AX,33H б) ADD AX,BX AAA AAA в) SUB AX,BX г) SUB AX,0DH AAS AAS

13.2. Поле UNPAK содержит шест. 01040705 в распаковочном десятичном формате. Напишите цикл, который преобразует это содержимое в ASCII-формат, т.е. 31343735.

Ассемблер для IBM PC. Глава 13 12

13.3. Поле ASCA содержит значение 313733 в ASCII-формате, а другое поле ASCB содержит 35. Напишите команды для умножения этих чисел в ASCII-формате и записи произведения в поле ASCPRO.

13.4. Используя данные из вопроса 13.3, разделите ASCA на ASCB и запишите частное в поле ASCQUO.

13.5. Выполните следующие вычисления вручную: а) преобразо вать ASCII 46328 в двоичный формат и показать результат в шест.виде; б) преобразовать полученное шест.значение обратно в ASCII-формат.

13.6. Напишите и выполните программу, которая определяет размер памяти компьютера (INT 12H - см.гл.2), преобразует полученное значение в ASCII-формат и выводит результат на экран в следующем виде:

Размер памяти nnn байтов.

Ассемблер для IBM PC. Глава 14 24




    Содержание  Назад  Вперед