112233444

  • 22 февр. 2012 г.
  • 1188 Слова
Костанайский государственный университет им. А. Байтурсынова
Факультет информационных технологий
Кафедра программного обеспечения








Контрольная работа
по дисциплине «Системное программирование»
Специальность 050704 – Вычислительная техника и программное обеспечение




Выполнила: Альменова С.Т.. ,студентка
3 курса заочной формы
Группа -09-223-42
обучения ВПО(высшая
программа обучения)






Проверила: Синицина В.Б.
ст. преподаватель












Костанай, 2012
Тема: ЛОГИЧЕСКИЕ КОМАНДЫ
Цель: познакомиться с логическими командами, спринципом работы логических команд, уметь использовать их при написании своих программ.
План:
1. Логические команды
2. Команды сдвига

Под логическими понимаются такие преобразования данных, в основе которых лежат правила формальной логики.
1. Логические команды
В системе команд микропроцессора есть следующий набор команд, поддерживающих работу с логическими данными:
andоперанд_1,операнд_2 — операция логического умножения.
Команда выполняет поразрядно логическую операцию И (конъюнкцию) над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.
or операнд_1,операнд_2 — операция логического сложения.
Команда выполняет поразрядно логическую операцию ИЛИ (дизъюнкцию) над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.хог операнд_1,операнд_2 — операция логического исключающего сложения. Команда выполняет поразрядно логическую операцию исключающего ИЛИ над битами операндов операнд_1 и операнд_2. Результат записывается на место операнд_1.
test операнд_1,операнд_2 — операция "проверить" (способом логического умножения). Команда выполняет поразрядно логическую операцию И над битами операндов операнд_1 иоперанд_2. Состояние операндов остается прежним, изменяются только флаги zf, sf, и pf, что дает возможность анализировать состояние отдельных битов операнда без изменения их состояния.
not операнд — операция логического отрицания.
Команда выполняет поразрядное инвертирование (замену значения на обратное) каждого бита операнда. Результат записывается на место операнда.
Следующие двекоманды позволяют осуществить поиск первого установленного в 1 бита операнда. Поиск можно произвести как с начала так и от конца операнда:
bsf операнд_1,операнд_2 (Bit Scarring Forward) - сканирование битов вперед. Команда просматривает (сканирует) биты операнд_2 от младшего к старшему (от бита 0 до старшего бита) в поисках первого бита, установленного в 1. Если таковой обнаруживается, воперанд_1 заносится номер этого бита в виде целочисленного значения. Если все биты операнд_2 равны 0, то флаг нуля zf устанавливается в 1, в противном случае флаг zf сбрасывается в 0.
bsr операнд_1,операнд_2 (Bit Scaning Reset) — сканирование битов в обратном порядке. Команда просматривает (сканирует) биты операнд_2 от старшего к младшему (от старшего бита к биту 0) в поисках первого бита, установленного в1. Если таковой обнаруживается, в операнд_1 заносится номер этого бита в виде целочисленного значения.
bt операнд,смещение_бита (Bit Test) — проверка бита. Команда переносит значение бита в флаг cf.
bts операнд,смещение_бита (Bit Test and Set) — проверка и установка бита. Команда переносит значение бита в флаг cf и затем устанавливает проверяемый бит в 1.
btr операнд,смещение_бита(Bit Test and Reset) — проверка и сброс бита. Команда переносит значение бита в флаг cf и затем устанавливает этот бит в 0.
btc операнд,смещение_бита (Bit Test and Convert) — проверка и инвертирование бита. Команда переносит значение бита в флаг cf и затем инвертирует значение этого бита.
2. Команды сдвига
Команды этой группы также обеспечивают...
tracking img