Всем привет !
Есть 25 бит в DB, которые расположены на расстоянии 6 байтов по порядку друг за другом.
Как собрать все эти биты в 2 слова в том же DB ?
Биты должны располагаться один за другим в каждом слове.
Бит с наименьшим «адресом» в DB должен быть помещен в бит0 слова1 того же DB.
Следующий бит с адресом «address_1» = «address» + P#6.0 должен быть помещен в бит1 слова1 и т.д.
Знаю, как это сделать в LAD.
Как это сделать в STL, с использованием AR1, AR2 и, может быть, с некоторыми циклами, чтобы получилось минимальное количеством строк кода.
Заранее благодарен.
Как в коде STL собрать слово из битов того же DB ?
Re: Как в коде STL собрать слово из битов того же DB ?
А структура ДБ известна? Можно ее изложить? Откуда биты выдергивать надо(т.е. из BOOL? WORD? DWORD)? В чем надо оформить, FC или FB? Каково ограничение строк кода?
Re: Как в коде STL собрать слово из битов того же DB ?
вообще, конечно интересно. Обычно надо сделать с минимальным процессорным временем и использованием памяти ....с некоторыми циклами, чтобы получилось минимальное количеством строк кода.
Re: Как в коде STL собрать слово из битов того же DB ?
Решение в лоб:
В AR1 грузим указатель на первый из разнесённых битов в DB.
В AR2 грузим указатель на первое из двух слов, куда их все надо собрать.
Организуем цикл LOOP в 25 шагов c телом:
Вроде всё...
В AR1 грузим указатель на первый из разнесённых битов в DB.
В AR2 грузим указатель на первое из двух слов, куда их все надо собрать.
Организуем цикл LOOP в 25 шагов c телом:
Code: Select all
A DBX [AR1,P#0.0]
= DBX [AR2,P#0.0]
L P#6.0
+AR1
L P#0.1
+AR2
Re: Как в коде STL собрать слово из битов того же DB ?
Всем спасибо !
Посмотрю завтра на работе.
Посмотрю завтра на работе.
Re: Как в коде STL собрать слово из битов того же DB ?
Ну одно другому не мешаетUsver wrote:вообще, конечно интересно. Обычно надо сделать с минимальным процессорным временем и использованием памяти ....с некоторыми циклами, чтобы получилось минимальное количеством строк кода.