Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Свойства операций над строками

Читайте также:
  1. V. АКУСТИЧЕСКИЕ СВОЙСТВА ГОРНЫХ ПОРОД И МАССИВОВ. ОСНОВНЫЕ ФАКТОРЫ, ВЛИЯЮЩИЕ НА АКУСТИЧЕСКИЕ СВОЙСТВА ГОРНЫХ ПОРОД
  2. Автоматизация расчетно-кассовых операций
  3. Акустические свойства горных пород
  4. Аудит кассовых операций
  5. Аудит операций выпуска и продажи готовой продукции
  6. Биологические свойства крови
  7. Боевые свойства гранат
  8. Бронза – ее свойства и области использования в художественных изделиях.
  9. Бронзы – состав, свойства.
  10. Важнейшие свойства воды

Команды обработки строк

Лекция 5.

Отрицательные величины

Некоторые применения программ допускают наличие отрица­тельных величин. Знак минус может устанавливаться после числа, на­пример, 12,34-, или перед числом -12,34. Программа может проверять наличие минуса при преобразовании в двоичный формат. Можно оста­вить двоичное число положительным, но установить соответствующий индикатор исходной отрицательной величины. После завершения ариф­метических операций знак минус при необходимости может быть встав­лен в ASCII поле.

В случае, если необходимо, чтобы двоичное число было также от­рицательным, то можно преобразовать, как обычно, ASCII-формат в двоичный. Будьте внимательны при использовании команд IMUL и IDIV для обработки знаковых данных. Для округления отрицательных чисел следует не прибавлять, а вычитать фактор 5.

Важно:

Ф ASCII-формат требует один байт на каждый символ. В случае, если поле содержит только цифры от 0 до 9, то замена старших троек в каждом байте на нули создает распакованный десятичный формат. Сжатие числа до двух цифр в байте создает упакованный десятичный формат.

Ф После ASCII-сложения необходимо выполнить коррекцию с помощью команды ААА; после ASCII-вычитания — коррекция с помощью команды AAS.

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

Ф Прежде чем выполнить ASCII-деление, необходимо:

1) преобразовать делимое и делитель в «распакованный десятичный» формат, обнулив в каждом байте левые тройки и 2) выполнить коррекцию делимого с помощью команды AAD.

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

 

Часто бывает необходимо переслать или сравнить поля данных, которые превышают по длине одно слово.

Например, необходимо сравнить описания или имена для того, чтобы отсортировать их в восходящей последовательности. Элементы та­кого формата известны как строковые данные и могут являться как сим­вольными, так и числовыми. Для обработки строковых данных Ассемб­лер имеет пять команд обработки строк:

> MOVS — переслать один байт или одно слово из одной области памяти в другую;

Ф LODS — загрузить из памяти один байт в регистр AL или одно слово в регистр АХ;

Ф STOS — записать содержимое регистра AL или АХ в память;

Ф CMPS — сравнить содержимое двух областей памяти, размером в один байт или в одно слово;

Ф SCAS — сравнить содержимое регистра AL или АХ с содержимым памяти.

Префикс REP позволяет этим командам обрабатывать строки лю­бой длины.

Цепочечная команда может быть закодирована для повторяющей­ся обработки одного байта или одного слова за одно выполнение. Напри­мер, можно выбрать «байтовую» команду для обработки строки с нечет­ным числом байт или «двухбайтовую» команду для обработки четного числа байт.


 


<== предыдущая страница | следующая страница ==>
Сдвиг и округление | Энтропия источника

Дата добавления: 2014-03-11; просмотров: 378; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.