Всем привет !
Есть 25 бит в DB, которые расположены на расстоянии 6 байтов по порядку друг за другом.
Как собрать все эти биты в 2 слова в том же DB ?
Биты должны располагаться один за другим в каждом слове.
Бит с наименьшим «адресом» в DB должен быть помещен в бит0 слова1 того же DB.
Следующий бит с адресом «address_1» = «address» + P#6.0 должен быть помещен в бит1 слова1 и т.д.
Знаю, как это сделать в LAD.
Как это сделать в STL, с использованием AR1, AR2 и, может быть, с некоторыми циклами, чтобы получилось минимальное количеством строк кода.
Заранее благодарен.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Как в коде STL собрать слово из битов того же DB ?
-
- здесь недавно
- Сообщения: 74
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 17 раз
Как в коде STL собрать слово из битов того же DB ?
Добрый день! Уже наверно не актуально, но вот пример:
L 1
T #temp // int количество повторений
OPN DB 100
L P#0.0
LAR1
L P#0.0
LAR2
beck: A DBX [AR1,P#0.0]
= DBX [AR2,P#160.0] //адрес формирования слова DB100.dbw160
L P#6.0 // Биты смещены на 6 байтов
+AR1
L P#0.1
+AR2
L 1
L #temp
+I
T #temp
L 25 //всего 25 бит
>I
JC end
JU beck
end: NOP 0
L 1
T #temp // int количество повторений
OPN DB 100
L P#0.0
LAR1
L P#0.0
LAR2
beck: A DBX [AR1,P#0.0]
= DBX [AR2,P#160.0] //адрес формирования слова DB100.dbw160
L P#6.0 // Биты смещены на 6 байтов
+AR1
L P#0.1
+AR2
L 1
L #temp
+I
T #temp
L 25 //всего 25 бит
>I
JC end
JU beck
end: NOP 0
-
- освоился
- Сообщения: 263
- Зарегистрирован: 02 апр 2015, 18:16
- Имя: Симонов Игорь Валерьевич
- Благодарил (а): 24 раза
- Поблагодарили: 8 раз
Как в коде STL собрать слово из битов того же DB ?
Да, действительно, вскорости мне на каком-то форуме ответили. Всё получилось. Вроде там код покороче чутка даже был. Но думаю и этот будет работать. Мож кому тоже пригодицца.
Отправлено спустя 3 минуты 3 секунды:
Про пыво забыл
Отправлено спустя 3 минуты 3 секунды:
Про пыво забыл