- •Лабораторная работа №1 Начало работы на языке ассемблера
- •Просмотр работы программы в Турбоотладчике (Td.Exe);
- •Задания
- •Int 21h
- •Int 21h
- •7. Напишите в отчете основные отличия в создании
- •Команды пересылки данных. Стек.
- •Задание
- •Арифметические операции. Битовые команды.
- •Задание
- •X dw ?
- •Int 21h
- •4. Наберите приведенную программу 2, запишите исходный файл с расширением *.Asm, получите файл с расширением *.Exe.
- •Int 21h
Int 21h
end start
Таблица 3
Команды |
Исходное |
SHL |
SHR |
SAR |
ROR |
ROL | |||||
Значение |
01001101b |
9Ah |
154 |
26h |
38 |
26h |
38 |
A6h |
166 |
9Ah |
154 |
01101010b |
D4h |
212 |
35h |
53 |
35h |
53 |
35h |
53 |
D4h |
212 | |
10101101b |
5Ah |
90 |
56h |
86 |
D6h |
214 |
D6h |
214 |
5Bh |
91 | |
11011011b |
B6h |
182 |
6Dh |
109 |
Edh |
237 |
Edh |
237 |
B7h |
183 | |
10101100b |
58h |
88 |
56h |
86 |
D6h |
214 |
56h |
86 |
59h |
89 |
Таблица 4
Команды |
Исходное |
SHL |
SHR |
SAR |
ROR |
ROL | |||||
Значение |
01001101b |
10011010 |
154 |
00100110 |
38 |
00100110 |
38 |
10100110 |
166 |
10011010 |
154 |
01101010b |
11010100 |
212 |
00110101 |
53 |
00110101 |
53 |
00110101 |
53 |
11010100 |
212 | |
10101101b |
01011010 |
90 |
01010110 |
86 |
11010110 |
214 |
11010110 |
214 |
01011011 |
91 | |
11011011b |
10110110 |
182 |
01101101 |
109 |
11101101 |
237 |
11101101 |
237 |
10110111 |
183 | |
10101100b |
01011000 |
88 |
01010110 |
86 |
11010110 |
214 |
01010110 |
86 |
01011001 |
89 |
Файл ассемблерной программы имеет имя Lab32.asm, исполняемый файл имеет имя Lab32.exe. В результате прогона файла Lab32.exe в отладчике td.exe
заполнены таблицы Табл.3. и Табл. 4.
Выводы:
При арифметическом и логическом сдвиге бит, выходящий за разрядную сетку, помещается в CF. При циклическом сдвиге помещения в CF не происходит, а выходящий бит циклически приписывается слева или справа в зависимости от направления сдвига.
Отличие арифметического сдвига от логического состоит в том, что при арифметическом сдвиге знак числа всегда сохраняется.