как перебирать биты?

andrei1980
Сообщения: 38
Зарегистрирован: 22 мар 2018, 14:37

как перебирать биты?

Сообщение andrei1980 »

Изображение
такой способ перебирает неправильно

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: как перебирать биты?

Сообщение pkl »

SFT, ROL.
INC увеличивает D1 на 1. Это не совсем одно и то же.

andrei1980
Сообщения: 38
Зарегистрирован: 22 мар 2018, 14:37

Re: как перебирать биты?

Сообщение andrei1980 »

pkl писал(а):SFT, ROL.
INC увеличивает D1 на 1. Это не совсем одно и то же.
да , как сделать чтобы к D1.0 к биту 0 прибавлялась 1 ? и так по порядку D1.1 ,потом +1 это D1.2 и так далее до 15 бита

Alexander_I
Сообщения: 955
Зарегистрирован: 31 окт 2011, 15:18

Re: как перебирать биты?

Сообщение Alexander_I »

А сдвигать циклически религия не позволяет?

andrei1980
Сообщения: 38
Зарегистрирован: 22 мар 2018, 14:37

Re: как перебирать биты?

Сообщение andrei1980 »

Alexander_I писал(а):А сдвигать циклически религия не позволяет?
я забыл как ,напомните пожалуйста

Alexander_I
Сообщения: 955
Зарегистрирован: 31 окт 2011, 15:18

Re: как перебирать биты?

Сообщение Alexander_I »

Как, как... Используйте API ROR, или ROL, например. Содержимое сдвига сразу будет в бите переноса М1022. Вам, полагаю, больше ROR поойдет, коль хотите двигать вправо. Есть и куча других вариантов, но эти самые элегантные и простые.

andrei1980
Сообщения: 38
Зарегистрирован: 22 мар 2018, 14:37

Re: как перебирать биты?

Сообщение andrei1980 »

не разобрался ((( да контроллер AS300

Alexander_I
Сообщения: 955
Зарегистрирован: 31 окт 2011, 15:18

Re: как перебирать биты?

Сообщение Alexander_I »

Дык вы полагаете, что в контроллере AS300 нет команд циклического сдвига и нет флагов переноса? Я вот в этом абсолютно не сомневаюсь, что они таки есть.

Алексей29
Сообщения: 113
Зарегистрирован: 17 дек 2020, 12:28
Откуда: Воронеж

Re: как перебирать биты?

Сообщение Алексей29 »

Вопрос.
Мне не нужно перебирать биты. Хотелось бы к ним нормально обращаться.
в мануале написано что обращение к биту должно быть целым числом . типа D4.3
as300.
я захотел обращаться к битам по именам
создаю например перечисление
TYPE enum1 :
(
element0:= 0,
element1 := 1
ele............
);
END_TYPE

и такой пишу к примеру D4.enum1.element1

а компилятор говорит : фиг ты угадал.

Есть мысли/секреты/хитрости ?

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: как перебирать биты?

Сообщение bayk »

а что мешает сразу крегистру обращаться на ST в режиме for-next?? и перебирай себе биты как идентификаторы.

Ответить