Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/55: Рейтинг темы: голосов - 55, средняя оценка - 4.67
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126

Битовые операции. Xor, and и or против "маски" =)

18.09.2009, 23:08. Показов 10233. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте, уважаемые программисты и обидатели форума.
У меня к вам следующий вопрос по поводу наложения маски.
В регистре AX задано число. Без использования операций условного перехода установить регистр BX в значение 1, если 24-й бит исходного числа равен 1. Установить в 0, если 24-й бит равен 0.
Вобщем это полная версия задачи. Делаю следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include "stdio.h"
#include <iostream>
 
using namespace std;
 
int _tmain()
{
    int Number = 25 ;
    int mask = 1111111111 ;
    int Result_reg ;
    
    __asm   
    {
        mov eax, Number
        xor eax, mask
        mov Result_reg, eax
    }
    char Result[256] = " " ;
    char MyBinaryNumber[256] = " " ;
    itoa(Number,MyBinaryNumber,2);
    itoa(Result_reg,Result,2) ;
    cout << "My number is: " << Number << endl;
    cout << "In binary notation it: " << MyBinaryNumber << endl << endl;
    cout << "The result is: " << Result << endl << endl;
    cout << "Please press enter button to exit..." << endl;
    cin.get();
    return 0;
}
Скажите пожалуйста, как в данном случае правильно подобрать маску и какой оператор ( Или как он правильно называется??? Я имею ввиду xor, or, and и прочие... Может операнды? )))) Сорри ) ) правильно исролльзовать именно в данной ситуации.

Заранее благодарен!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.09.2009, 23:08
Ответы с готовыми решениями:

Исключающее ИЛИ (XOR). Нужен пример операции побайтного XOR
Может кто-нибудь привести пример операции побайтного XOR?что-то вроде: есть данные,считанные из файла любого формата,эти данные по...

Битовые маски. Разность
Здравствуйте, нужно реализовать разность множеств через битовые маски. Через какую побитовую операцию это реализовывается, XOR вроде...

Представление множеств числами (битовые маски)
Доброго времени суток. Помогите пожалуйста с задачей. Нужно сформировать множество А. Причем сделать это нужно с помощью побитовых...

14
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
18.09.2009, 23:17
В AX может быть только 16 разрядов! (а не 24)
0
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
18.09.2009, 23:18  [ТС]
Читайте пожалуйста внимательнее. 24 бит, а не розряд.
0
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
18.09.2009, 23:34
че-то все совсем не так))) понятное дело, что ax и bx - 16ти разрядные, и 24 бит в них отстствует) но при чем тут регистр? я так понимаю, что число в памяти

подсказки
1. 4строчки кода.
2. используются битовые операции сдвига shl и shr.
3. не xor, но and.
0
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 785
18.09.2009, 23:39
Цитата Сообщение от Win32 Посмотреть сообщение
Читайте пожалуйста внимательнее. 24 бит, а не розряд.
А в чем отличие бита от разряда в Вашей задаче?
0
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
18.09.2009, 23:40
да, еще подсказка, после применения маски в регистре bx будет не 1, но 1, сдвинутая на некоторое число разрядов
0
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
18.09.2009, 23:41  [ТС]
Заданное число это переменная Number. О каком регистре Вы ведете речь?
И мне нельхя использовать шифты.

Добавлено через 1 минуту
Цитата Сообщение от o-user Посмотреть сообщение
А в чем отличие бита от разряда в Вашей задаче?
Как??? Ну на сколько я знаю в розряде 4 бита... Или я гоню? xD
0
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
18.09.2009, 23:43
хм, ну можно и без шифтов) и то правда. дело в том, что 24 бит - это 3*8 бит.

то есть если учесть правила размещения чисел в памяти и использовать bl....

Добавлено через 26 секунд
в двоичном разряде 1 бит)
0
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
18.09.2009, 23:43  [ТС]
Типа:

---------------
| 1 | 1 | 1 | 1 | - Это ведь розряд? В нем 4 бита..... Не так?
---------------
0
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
18.09.2009, 23:44
16ричный разряд, ага)
0
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
18.09.2009, 23:45  [ТС]
Теперь вообще не въеду как делать
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
18.09.2009, 23:50
А может такое быть, что в задании сказано про EAX, а не про AX ?

Добавлено через 2 минуты
Assembler
1
2
3
mov ebx,eax
shr ebx, 24
and ebx, 1
Assembler
1
2
3
xor ebx,ebx
bt eax,24
setc bl
1
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
18.09.2009, 23:53
мда)) че-то я в последний раз протупил с условием)
0
 Аватар для Win32
25 / 24 / 1
Регистрация: 18.08.2009
Сообщений: 126
19.09.2009, 00:16  [ТС]
Цитата Сообщение от Goodwin98 Посмотреть сообщение
А может такое быть, что в задании сказано про EAX, а не про AX ?
Скорее всего.
А можно пояснение к Вашему коду? Уж больно хочеться разобраться )))
Спасибо.

Блин... Не получаеться ничего, ребят
0
 Аватар для Goodwin98
2537 / 833 / 10
Регистрация: 31.05.2009
Сообщений: 1,668
19.09.2009, 18:12
Цитата Сообщение от Win32 Посмотреть сообщение
Блин... Не получаеться ничего, ребят
Какой информативный пост
Стучи в аську если что.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2009, 18:12
Помогаю со студенческими работами здесь

Битовые последовательности и битовые операции
Вычислить сумму по модулю 2 всех бит в позициях, номер которых кратен 2^k. (1, 2, 4, 8, 16, 32). Исходное число содержит 8 байт. ...

Битовые операции, битовые поля.
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций. Записать в unsigned int. Использовать...

Создать множество , используя битовые маски. (Дописать код)
нужно дописать код чтобы все значения переменной &quot;о&quot; добавить в множество( например множество А, используя битовые маски. И найти...

Используя только битовые операции и операции арифметического сложения и вычитания вычислить выражение
Даны числа a и b. Используя только битовые операции и операции арифметического сложения и вычитания вычислите число x=(36*a+)mod32....

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число z=(27x+) mod 4. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru