|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.09.2017, 09:43 | #1 |
Регистрация: 30.09.2017
Сообщений: 8
|
Битовые операции. Исключающее или - затруднение.
Здравствуйте!
Пусть в DSEG в ячейке ADR2=4Bh расположен код CODE=A8h. Записать на языке ассемблера МК51 программу, которая выполняет вычисление заданной булевой функции F над этими кодами. Результат вычисления должен быть записан по адресу ADR3=7Ah. Программа должна начинаться с ячейки ADR1=1E3h. Логическая функция выглядит так : F = X7 "И" X6 "И" ¬X5 "ИСКЛ.ИЛИ" ¬X4 "ИЛИ" ¬X3 "ИЛИ" X2 "И" X1 "ИСКЛ.ИЛИ"¬X0 В чем сложность - касательно описания исключающего или, ибо необходима замена на тождественную формулу( там где коньюнкция и дизьюнкция). вот это не могу понять. в примерах увы не понимаю.. обьясните, часть кода написал. org 04D4h start: mov 20h,78h ; переносим CODE в битовое пространство mov c,7 ; c=x7 anl c,6 ; c=x7 and x6 anl c,/5 ; c=x7 or x6 or not(x5) ;а вот дальше сложность..помогите пожалуйста кодом расписать Это для МК 8051 |
30.09.2017, 09:58 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
xrl это и есть ксор
|
30.09.2017, 10:02 | #3 |
Регистрация: 30.09.2017
Сообщений: 8
|
Не так то было. В методичке к работе большими буквами написано, что использовать нельзя так (xrl) . Примечание: В системе команд нет исключающего ИЛИ (XOR). Но ее можно получить как значение выражения ( ну и там тождественное преобразование).
|
30.09.2017, 10:04 | #4 |
Регистрация: 30.09.2017
Сообщений: 8
|
Поэтому я и сделал запрос к вам. Так как не понимаю конечный ряд преобразований на примере в методичке, откуда эти 9, 8 вообще берутся. ( и мне ведь тоже так надо.. так как у меня xrl даже в двух операциях)
|
30.09.2017, 10:54 | #5 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Ну раз хочется через формулы, то можно воспользоваться (A or B) and (!A or !B) Цитата:
|
||
30.09.2017, 11:05 | #6 |
Регистрация: 30.09.2017
Сообщений: 8
|
Насчет временных переменных, почему именно 9 и 8. Или это не столь важно? Допустим запишу я это так, а мне еще будет необходимо xrl , беру переменные с индексами любыми,или есть какие-то рамки?
|
30.09.2017, 11:26 | #7 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Потому что от 0 до 7 у вас уже заняты. Теоретически можно использовать уже не нужные, но это потребует чуть больше шевелений мозгами.
Цитата:
|
|
30.09.2017, 11:55 | #8 |
Регистрация: 30.09.2017
Сообщений: 8
|
|
30.09.2017, 20:19 | #9 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
.а хде ксор-то??? вроде вопрос был про 'исключающее ИЛИ'
Нашедшего выход - затаптывают первым..
|
30.09.2017, 20:33 | #10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вот тут:
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Битовые операции | Александр Шатило | Общие вопросы C/C++ | 5 | 22.02.2015 16:30 |
Битовые операции | TikTak93 | Помощь студентам | 1 | 12.12.2013 17:50 |
Битовые операции | WizarD.89 | Общие вопросы C/C++ | 5 | 23.11.2012 16:40 |
Исключающее ИЛИ | Utkin | Общие вопросы по программированию, компьютерный форум | 17 | 09.06.2010 16:05 |
Битовые операции | ("")(Э_Є)("") | Общие вопросы C/C++ | 4 | 03.07.2009 19:15 |