Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_Arkht_EVM_i_Yazyk_assemblera.docx
Скачиваний:
61
Добавлен:
01.04.2022
Размер:
5.16 Mб
Скачать

Команды вызова подпрограммы, особенности.

  1. CALL метка - Используется для вызова подпрограммы, код которой находится по адресу метка. Принцип работы:

  • Поместить в стек адрес следующей за call команды. Этот адрес называется адресом возврата;

  • Передать управление на метку.

  1. Для возврата из подпрограммы используется команда ret:

  • ret

  • ret число

Принцип работы:

  • Извлечь из стека новое значение регистра %eip (то есть передать управление на команду, расположенную по адресу из стека).

  • Если команде передан операнд число, %esp увеличивается на это число. Это необходимо для того, чтобы подпрограмма могла убрать из стека свои параметры.

Команды переходов в программе, особенности.

  1. Команда безусловного перехода имеет следующий синтаксис:

JMP <операнд>

Операнд указывает адрес перехода.

Доказать следующие законы: дистрибутивный, поглощения.

1) Доказательство дистрибутивного закона

  1. Доказательство закона поглощения

Доказательство первого закона поглощения x v (x & у) = x:

Пусть истинна правая часть, т. е. x = 1, тогда в левой части дизъюнкция x v (x & у) истинна по определению дизъюнкции. Пусть истинна левая часть. Тогда по определению дизъюнкции истинна или формула x, или формула (x & у), или обе эти формулы одновременно. Если x ложна, тогда (x & у) ложна, следовательно, x может быть только истинной.

Доказать следующие законы: идемпотентности, двойного отрицания.

  1. Доказательство закона идемпотентности

Сколько бы раз мы ни повторяли: телевизор включен или телевизор включен или телевизор включен ... значение высказывания не изменится. Аналогично от повторения на улице тепло, на улице тепло,... ни на один градус теплее не станет.

  1. Доказательство закона двойного отрицания

Если отрицать дважды некоторое высказывание, то в результате получается исходное высказывание. Например, высказывание А = «Матроскин — кот» эквивалентно высказыванию А = «Неверно, что Матроскин не кот».

Доказать следующий законы: исключения, коммутативный.

      1. Доказательство закона исключения: В один и тот же момент времени высказывание может быть либо истинным, либо ложным, третьего не дано. Истинно либо А, либо не А. Примеры выполнения закона исключенного третьего:

1. Число 12345 либо четное, либо нечетное, третьего не дано.

2. Предприятие работает убыточно или безубыточно.

3. Эта жидкость является или не является кислотой.

Закон исключенного третьего не является законом, признаваемым всеми логиками в качестве универсального закона логики. Этот закон применяется там, где познание имеет дело с жесткой ситуацией: «либо — либо», «истина—ложь». Там же, где встречается неопределенность (например, в рассуждениях о будущем), закон исключенного третьего часто не может быть применен.

Рассмотрим следующее высказывание: Это предложение ложно. Оно не может быть истинным, потому что в нем утверждается, что оно ложно. Но оно не может быть и ложным, потому что тогда оно было бы истинным. Это высказывание не истинно и не ложно, а потому нарушается закон исключенного третьего.

      1. Доказательство коммутативного закона: Операнды А и В в операциях дизъюнкции и конъюнкции можно менять местами.

Доказать следующий законы: Де Моргана, ассоциативный.

  1. Доказательство: ∀x ∈ A∪ B ⇒ x ∉ (A∪B) ⇒ (x∉A)∧(x∉B) ⇒ (x∈ A )∧(x∈ B ) ⇒ x∈( A ∩ B ).

  2. Если в выражении используется только операция дизъюнкции или только операция конъюнкции, то можно пренебрегать скобками или произвольно их расставлять.

Произвольной функции используя законы алгебры Буля изменить базис на И-НЕ. https://www.cyberforum.ru/mathematical-logic-sets/thread378978.html

Произвольной функции используя законы алгебры Буля изменить базис на ИЛИ-НЕ. https://www.cyberforum.ru/mathematical-logic-sets/thread378978.html

Преобразовать произвольную функцию в схему по УГО. https://www.cyberforum.ru/mathematical-logic-sets/thread378978.html

Преобразовать произвольную схему по УГО в функцию. https://www.cyberforum.ru/mathematical-logic-sets/thread378978.html

Минимизировать произвольную логическую функцию с помощью карты Карно. https://programforyou.ru/calculators/postroenie-tablitci-istinnosti-sknf-sdnf

Правило составления карты Карно было описано в пункте 1.6, также можно посмотреть короткую(10 минут) лекцию https://www.youtube.com/watch?v=a37anDvo0bs

Рассмотрим построение карты Карно на примере следующей функции:

Построим таблицу истинности.

Запишем данные из таблицы истинности в карту Карно и выделяем области, содержащие единицы. Количество единиц должно равняться степени двойки.

В первой(синей) области X1 меняет своё значение, а X2 И X3 остаются неизменными, поэтому из первой области получаем выражение X2X3

Во второй области(красной) X1 и X3 сохраняют свои значения, а X2 меняется, поэтому получаем выражение X1X3

В третьей(зеленой) области значения сохраняют X1 и X2, X3 меняется, поэтому получаем выражение X1X2

После этого складываем полученные три выражения:

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