Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Л а б о р а т о р н а я р а б о т а N 7




АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ 1: ОБРАБОТКА ДВОИЧНЫХ ДАННЫХ

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ:

1. 2 0Для выполнения лабораторной работы вы должны войти в каталог группы из панели NORTON. Каждый студент должен иметь в каталоге группы свой личный каталог. Все программы должны создаваться и записываться в личном каталоге студента.

2. Команда JMP для перехода в пределах от -128 до +127 байт имеет тип SHORT. Ассемблер генерирует в этом случае однобайтовый операнд в пределах от 00 до FF.

3. Вычитание осуществляется в компьютере по методу сложения с дополнительным кодом. Для получения дополнительного кода для вычитаемого числа устанавливаются обратные значения битов и прибавляется 1, а затем происходит сложение с первым числом (все отрицательные числа представляются в дополнительном коде признаком

которого является 1 в знаковом разряде).

4. При выполнении операций с байтовыми числами в регистрах микропроцессора старший бит байта является знаковым остальные семь битов числовыми данными, т.е. значения от -128 до +127. Если результат арифметической операции превышает эти пределы то возникает переполнение и этот результат нельзя считать правильным. Например:

 

Двоичный код Знаковое число

0111 1001 +121

0000 1011 +11

---------------------

1000 0100 -124

 

Для расширения диапазона арифметического результата применяется команда CBW, которая преобразует байт в слово. При этом в регистре будет старший знаковый разряд и 15 бит числовых данных.

Диапазон арифметического результата в этом случае будет в пределах от -32768 до +32767.

5. Перенос возникает если 1 вытесняется из байта. В этом случае результат операции со знаковыми данными также будет неправильным. Например:

 

Двоичный код Знаковое число

1111 0110 -10

1000 1001 -119

---------------------

0111 1111 +127

 

6. Если происходит и перемещение 1 в знаковый разряд и вытеснение 1 из байта, то при операции со знаковыми данными результат получается правильный. Например:

 

Двоичный код Знаковое число

1111 1100 -4

0000 0101 +5

----------------------

0000 0001 +1

 

7. Двоичный байт можно рассматривать как беззнаковые данные, считая старший бит не знаковым разрядом, а старшим разрядом двоичного числа. Тогда диапазон возможных чисел для байта будет от 0 до +255, а для двухбайтового регистра микропроцессора от 0 до +65535.

8. Если при операции с беззнаковыми данными происходит переполнение, то результат получается правильным:

 

Двоичный код Беззнаковое число

0111 1001 121

0000 1011 11

---------------------

1000 0100 132

 

9. Если при операции с беззнаковыми данными происходит перенос, то результат получается неправильным:

 

Двоичный код Беззнаковое число

1111 0110 246

1000 1001 137

---------------------

0111 1111 127

 

10. Если при операции с беззнаковыми данными происходит и перенос и переполнение, то результат будет неправильным:

 

Двоичное число Беззнаковое число

1111 1100 252

0000 0101 5

---------------------

0000 0001 1

 

11. Операция умножения для беззнаковых данных выполняется командой MUL, а для знаковых - IMUL. В случае умножения байта на байт множимое находится в регистре AL, множитель в памяти или в каком-либо регистре, а результат помещается в регистр АХ. В случае умножения двух слов множимое находится в регистре АХ, множитель в памяти или в другом регистре, а результат, состоящий из двух слов помещается: младшая (правая) часть в регистр АХ, а

старшая (левая) часть в регистр DX.

12. Операция деления для беззнаковых данных выполняется командой DIV, а для знаковых - IDIV.

13. При делении слова на байт делимое находится в регистре АХ, а делитель - в байте памяти или в однобайтовом регистре. После деления остаток получается в регистре АН, а частное - в AL.

14. При делении двойного слова на слово делимое находится в регистровой паре DX:AX, а делитель - в слове памяти или в регистре. После деления остаток получается в регистре DX, а частное – в регистре AX.

 

ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ:





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 385 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Настоящая ответственность бывает только личной. © Фазиль Искандер
==> читать все изречения...

2364 - | 2087 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.