Учебная работа. Доклад: Логичекие команды
AND Логическое И
Команда and производит логическое (побитовое) умножение первого операнда на 2-ой. Начальное второго — РОН, ячейку памяти либо конкретное
TEST Логическое сопоставление
Команда test делает операцию логического умножения И над 2-мя операндами и, зависимо от результата, устанавливает флаги SF, ZF и PF. Флаги OF и CF сбрасываются, a AF имеет неопределенное один из операндов.
В качестве первого операнда команды test можно указывать РОН либо ячейку памяти, в качестве второго — РОН, ячейку памяти либо конкретное
OR Логическое ВКЛЮЧАЮЩЕЕ ИЛИ
Команда or делает операцию логического (побитового) сложения 2-ух операндов. Итог замещает 1-ый операнд (приемник); 2-ой операнд (источник) не меняется. В качестве первого операнда можно указывать РОН либо ячейку памяти, в качестве второго — РОН, ячейку памяти либо конкретное
XOR Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ
Команда хог делает операцию логического (побитового) исключающего либо над своими 2-мя операндами. Итог операции замещает 1-ый операнд; 2-ой операнд не меняется. Любой бит результата устанавливается в 1, если надлежащие биты операндов различны, и сбрасывается в 0, если надлежащие биты операндов совпадают.
В качестве первого операнда команды хог можно указывать РОН либо ячейку памяти, в качестве второго — РОН, ячейку памяти либо конкретное
NOT Инверсия, дополнение до 1, логическое отрицание
Команда not делает инверсию битов обозначенного операнда, заменяя 0 на 1 и напротив. В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
SAL Арифметический сдвиг на лево
Команда sal производит сдвиг на лево всех битов операнда. Старший бит операнда поступает в флаг CF. Если команда записана в формате
sal операнд, 1
сдвиг осуществляется на 1 бит. В младший бит операнда загружается 0. Если команда записана в формате
sal операнд, CL
сдвиг осуществляется на число битов, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов старшие биты операнда, пройдя через флаг CF, теряются, а младшие заполняются нулями (рис. 1).
Рис. 1. действие команды sal.
В качестве операнда команды sal можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
SAR Арифметический сдвиг на Право
Команда sar производит сдвиг на право всех битов операнда. Младший бит операнда поступает в флаг CF. Если команда записана в формате
sar операнд, 1
сдвиг осуществляется на 1 бит. Старший бит операнда сохраняет свое
sar операнд, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов младшие биты операнда, пройдя через флаг CF, теряются, а старший бит расширяется на право (рис. 2).
Рис. 2. действие команды sar.
В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
Любой сдвиг на Право эквивалентен делению знакового числа на 2, потому команду sar комфортно употреблять для деления операнда на целые степени 2. Команда повлияет на флаги OF, SF, ZF, PF и CF.
SHL Логический сдвиг на лево
Команда вполне эквивалентна команде sal (арифметический сдвиг на лево). См. описание команды sal.
SHR Логический сдвиг на Право
Команда shr производит сдвиг на право всех битов операнда. Младший бит операнда поступает в флаг CF. Если команда записана в формате
shr операнд, 1
сдвиг осуществляется на 1 бит. В старший бит операнда загружается 0, а младший пропадает. Если команда записана в формате
shr onepand, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов старшие биты операнда заполняются нулями, а младшие, пройдя через флаг CF, теряются (рис. 3).
Рис. 3. действие команды shr.
В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
RCL Повторяющийся сдвиг на лево через бит переноса
Команда rсl производит сдвиг на лево всех битов операнда. Если команда записана в формате
rcl операнд, 1
сдвиг осуществляется на 1 бит. В младший бит операнда заносится значение флага CF; старший бит операнда загружается в CF. Если команда записана в формате
rcl операнд, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов старшие биты операнда поступают поначалу в CF, а оттуда — в младшие биты операнда (рис. 4).
Рис. 4. действие команды rcl.
В качестве операнда команды rcl можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
RCR Повторяющийся сдвиг на Право через бит переноса
Команда rсr производит сдвиг на Право всех битов операнда. Если команда записана в формате
rcr операнд, 1
сдвиг осуществляется на 1 бит. В старший бит операнда заносится значение флага CF; младший бит операнда загружается в CF. Если команда записана в формате
rcr операнд, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов младшие биты операнда поступают поначалу в CF, а оттуда — в старшие биты операнда (рис. 5).
Рис. 5. действие команды rcl.
В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
ROL Повторяющийся сдвиг на лево
Команда rol производит сдвиг на лево всех битов операнда. Если команда записана в формате
rol операнд, 1
сдвиг осуществляется на 1 бит. Старший бит операнда загружается в его младший разряд и сразу заносится в флаг CF (рис. 6). Если команда записана в формате
rol операнд, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов старшие биты операнда передвигаются в его младшие разряды. Крайний перенесенный бит сразу заносится в флаг CF.
Рис. 6. действие команды rol.
В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное
ROR Повторяющийся сдвиг на Право
Команда ror производит повторяющийся сдвиг на Право всех битов операнда. Если команда записана в формате
ror операнд, 1
сдвиг осуществляется на 1 бит. Младший бит операнда записывается в его старший разряд и сразу поступает в флаг CF (рис. 7). Если команда записана в формате
ror операнд, CL
сдвиг осуществляется на число бит, обозначенное в регистре-счетчике CL, при всем этом в процессе поочередных сдвигов младшие биты операнда передвигаются в его старшие разряды. Крайний перенесенный бит сразу заносится в флаг CF.
Рис. 7. действие команды ror.
В качестве операнда можно указывать РОН либо ячейку памяти размером как в б, так и в слово. Не допускается употреблять в качестве операнда конкретное ]]>