Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2019-08-04 | 219 |
5.00
из
|
Заказать работу |
Цель работы: Дать сведения об операциях сложения, вычитания, умножения и деления двоичных чисел, рассмотреть ASCII и BCD - форматы данных и дать сведения между этими форматами и двоичным форматом. Раскрыть требования для определения таблиц, организации поиска в таблице в таблицах и сортировки элементов таблицы.
Общие сведения.
Несмотря на то, что мы привыкли к десятичной арифметике, компьютер работает только с двоичной арифметикой. Команды ADD и SUB выполняют сложение и вычитание байтов или слов, содержащих двоичные данные. Вычитание осуществляется в компьютере по методу сложения с двоичным дополнением:
для второго операнда устанавливаются обратные значения битов и прибавляется 1, а затем происходит сложение с первым операндом.
Операция умножения для без знаковых данных выполняется командой MUL, a знаковых - IMUL. Существуют две основные операции умножения, умножение байта на байт. Множимое находится в регистре AL, а множитель в байте памяти или в однобайтовом регистре. После умножения произведение находится в регистре АХ.
Умножение слова на слово. Множимое находится в регистре АХ, а множитель - в слове памяти или в регистре. После умножения произведение образуется в двойном слове, левая часть произведения - в регистре DX, правая часть - в регистре АХ. В единственном операнде команд MUL и INMUL указывается множитель.
Операция деления для без знаковых данных выполняется командой DIV, а знаковых - INDIV. Существуют две основные операции деления:
Деление слова на байт. Делимое находится в регистре АХ, а делитель в байте памяти или однобайтном регистре. Для деления остаток получается в регистре АН, а частное - в AL.
Деление двойного слова на слово. Делимое находится в регистровой паре DX:AX, а делитель - в слове памяти или в регистре. После деления остаток получается в регистре DX, а частное в регистре - АХ.
Данные, вводимые с клавиатуры, имеют ASCII - формат, например, буквы SAM имеют в памяти шестнадцатеричное представление 53414DH. С помощью следующих ассемблерных команд можно выполнять арифметические операции непосредственно над числами в ASSCII - формате:
ААА - коррекция для сложения ASCII кода;
AAD - коррекция для деления ASCII кода;
ААМ - коррекция для умножения ASCII кода;
AAS - коррекция для вычитания ASCII кода.
Эти команды кодируются без операндов и выполняют автоматическую коррекцию в регистре АХ. Коррекция необходима, так как ASCII – код представляет так называемый распакованный десятичный формат, в то время как компьютер выполняет арифметические операции в двоичном формате.
Например, сложение и коррекция кодируются следующими командами:
ADD AL, BL; сложить числа в регистрах AL и-BL
ААА; коррекция для сложения ASCII- кодов.
Если сжать число в ASCII - формате, сохраняя только правые цифры каждого байта, то получим BCD - формат (двоично - десятичный формат). Можно выполнять сложение и вычитание в BCD - формате. Для этого служат две корректирующие команды:
DAA - десятичная коррекция для сложения;
DAS - десятичная коррекция для вычитания.
Во многих прикладных программах используется табличная организация данных, например, имена, описания, размеры. Определение и использование таблиц включает одну новую команду ассемблера XLAT. Таким образом использование таблиц - это дело техники и применение знаний, полученных ранее. Для облегчения табличного поиска большинство таблиц определяются систематично, т.е. элементы таблиц имеют одинаковый формат, одинаковую длину и восходящую или нисходящую последовательность элементов. Пример описания таблицы:
MONTAB DB 'JAN', 'FEB', 'MAR',..., 'DEC'.
Команда XLAT транслирует содержимое одного байта в другое предопределенное значение. С помощью команды XLAT можно проверить корректность содержимого элементов данных. Команда XLAT предполагает адрес таблицы в регистре ВХ, а транслируемый байт (например, поля ASCHO) - в регистре AL. Следующие команды выполняют подготовку и трансляцию байта:
LEA ВХ, XLTBL
MOV AL, ASCHO
XLAT.
Команда XLAT использует значение в регистре AL в качестве относительного адреса в таблице, т.е. складывает адрес в ВХ и смещение в AL.
Содержание задания
1. Имеются следующие данные:
DATAX DW 0148H
DW 2316H
DATAY DW 0237H
DW 4052H
Закодируйте команды для сложения:
а) слово DATAX со словом DATAY;
б) двойного слова, начинающегося по адресу DATAX, на слово DATAY.
2. Поле UNPAK содержит 01040705 в распакованном десятичном формате. Напишите цикл, который преобразует это содержимое в ASCII - формат, т.е. 31343735.
3. Поле ASCA содержит значение 313733 в ASCII - формате, а другое поле ASCB содержит 35. Напишите программу, перемножающую эти числа в ASCII - формате и записывающую произведение в поле ASCPRO.
4. Определите 3 отдельные связанные таблицы, содержащие следующие данные:
а) числовые элементы - 06,10,14,21,24;
б) элементы наименований - видеокассеты, приемники, модемы, клавиатура, дискеты;
в) цены - 93.95, 82.25, 90.67, 85.80, 13.85.
Составьте программу, позволяющую вводить числовой элемент (ITEMIN) и количество (QTYIN) с клавиатуры. Разработайте программу табличного поиска элемента, равного ITEMIN. Выделите из таблиц наименование и цену. Рассчитайте стоимость (количество х цена) и выведите на экран наименование и стоимость.
Лабораторная работа № 6
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!