0 / 0 / 0
Регистрация: 14.04.2019
Сообщений: 2
|
|
1 | |
Как реализовать операцию "Исключающее или" между двумя битами Mcs-5118.05.2019, 10:53. Показов 3282. Ответов 8
Добрый день. Подскажите как реализовать операцию "Исключающее или" между двумя битами, которые находятся в аккумуляторе , а результат этой операции поместить в в другой бит аккумулятора.
D7,D3,D5 - биты аккумулятора
0
|
18.05.2019, 10:53 | |
Ответы с готовыми решениями:
8
Выразить операцию xor (исключающее или) через базовые логические операции Сложить числа используя операцию «исключающее ИЛИ», предварительно инвертировав второе число Написать функцию, реализующую логическую операцию "Исключающее ИЛИ" Используя операцию "Исключающее Или" переключить 7й бит числа Ввести три числа, произвести с ними операцию "Исключающее Или" |
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
18.05.2019, 11:09 | 2 |
можно как то заморачиватся со сдвигами,
можно при помощи битов, если аккумулятор поддерживает битовую адресацию, я этого не помню но я бы составил таблицу истинности, занеc бы этот массив в ПЗУ(256 байт), и потом бы просто выбирал значения, проигрыш в памяти выигрыш в скорости
0
|
0 / 0 / 0
Регистрация: 14.04.2019
Сообщений: 2
|
|
18.05.2019, 11:20 [ТС] | 3 |
Я нашел вот такой пример, но не очень понимаю как это работает
Таблица истинности для исключающего или. Аккумулятор поддерживает побитовую адресацию
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
|
|
18.05.2019, 11:59 | 4 |
Сообщение было отмечено TarasANANAS как решение
Решение
это программная реализация XOR выбраного бита и бита переноса результат в бит переноса
вот таблица истиности Код
bit C C 0 0 0 0 1 1 1 0 1 1 1 0 что и делает команда JNB http://www.gaw.ru/html.cgi/txt... t_re18.htm
1
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
||||||
18.05.2019, 17:17 | 5 | |||||
Сообщение было отмечено northener как решение
Решение
2
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
19.05.2019, 02:42 | 6 |
Ethereal, нормальный код. Я бы так же сделал.
0
|
пофигист широкого профиля
4733 / 3167 / 859
Регистрация: 15.07.2013
Сообщений: 18,252
|
|
20.05.2019, 01:51 | 8 |
Имхо в 51-м нет операции переноса бита с одного произвольного адреса на другой произвольный адрес.
1
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
20.05.2019, 16:13 | 9 |
Нет у 8051 такой пересылки. Есть пересылка MOV <direct>,<direct> байта в байт, но нет бита в бит. Есть только MOV C,<bit> и MOV <bit>,C
2
|
20.05.2019, 16:13 | |
20.05.2019, 16:13 | |
Помогаю со студенческими работами здесь
9
Как выполнить операцию умножение между двумя ячейками одной таблицы и записать результат в ячейку? Реализовать исключающее или для двух массивов целочисленного типа Реализовать функцию побитового ИЛИ | между двумя файлами, записать это в один файл в обратном порядке битов на Си\С++ Как реализовать отправку сообщений между двумя клиентами (пк)? Как реализовать поиск по дате между двумя значениями Как реализовать вычитание между двумя датами через SQL-запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |