Всем привет !
Есть 25 бит в DB, которые расположены на расстоянии 6 байтов по порядку друг за другом.
Как собрать все эти биты в 2 слова в том же DB ?
Биты должны располагаться один за другим в каждом слове.
Бит с наименьшим «адресом» в DB должен быть помещен в бит0 слова1 того же DB.
Следующий бит с адресом «address_1» = «address» + P#6.0 должен быть помещен в бит1 слова1 и т.д.
Знаю, как это сделать в LAD.
Как это сделать в STL, с использованием AR1, AR2 и, может быть, с некоторыми циклами, чтобы получилось минимальное количеством строк кода.
Заранее благодарен.
Как в коде STL собрать слово из битов того же DB ?
-
- Posts: 159
- Joined: Mon Sep 27, 2010 7:17 pm
-
- Posts: 193
- Joined: Fri Feb 24, 2012 8:28 am
Re: Как в коде STL собрать слово из битов того же DB ?
А структура ДБ известна? Можно ее изложить? Откуда биты выдергивать надо(т.е. из BOOL? WORD? DWORD)? В чем надо оформить, FC или FB? Каково ограничение строк кода?
-
- Posts: 193
- Joined: Fri Feb 24, 2012 8:28 am
Re: Как в коде STL собрать слово из битов того же DB ?
вообще, конечно интересно. Обычно надо сделать с минимальным процессорным временем и использованием памяти ....с некоторыми циклами, чтобы получилось минимальное количеством строк кода.
-
- Posts: 374
- Joined: Wed Oct 13, 2010 8:44 am
- Location: Russian Federation
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
-
- Posts: 159
- Joined: Mon Sep 27, 2010 7:17 pm
Re: Как в коде STL собрать слово из битов того же DB ?
Всем спасибо !
Посмотрю завтра на работе.
Посмотрю завтра на работе.
-
- Posts: 159
- Joined: Mon Sep 27, 2010 7:17 pm
Re: Как в коде STL собрать слово из битов того же DB ?
Ну одно другому не мешаетUsver wrote:вообще, конечно интересно. Обычно надо сделать с минимальным процессорным временем и использованием памяти ....с некоторыми циклами, чтобы получилось минимальное количеством строк кода.