Преобразование

Инженерное программное обеспечение
Ответить
Dmitrey_59
Дилетант
Сообщения: 8
Зарегистрирован: 29 июл 2016, 12:08

Преобразование

Сообщение Dmitrey_59 »

Подскажите пожалуйста как выполнить преобразование 16 битного слова в 2 байта и обратно в Step 7?

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 588
Зарегистрирован: 22 июл 2016, 20:38

Re: Преобразование

Сообщение mr_Frodo »

:shock:
Назначение "преобразования" ?!?
Вы в курсе, что слово это уже 2 готовых байта? Вся загвоздка только в том, какой из полученных байтов соотнести старшему или младшему байту слова.
Для наглядности откройте симулятор и сделайте 6 окон с адресами: 4 байта подряд (например MB0, MB1, MB2, MB3) в битовом виде и 2 слова (МW0 и МW2) в двоичном виде и потыкайте биты в байтах. Думаю вы будете приятно удивлены увиденным и поймёте как вам поступить. Если нет - загружаете требуемое входное слово в локальную переменную, и считываете побитно эти локальные биты, относящиеся к этому слову в выходные байты. Это чтобы заморочиться.
А если по- простому, то просто имеющееся слово прочитать побайтно )))))) Word X ( bit 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0) = Byte X ( 7 6 5 4 3 2 1 0) + Byte [X+1](15 14 13 12 11 10 9 8 )Т.е. фактически биты слова побайтно распределяются задом наперёд - bytex 7 6 5 4 3 2 1 0 и bytex+1 15 14 13 12 11 10 9 8
Вот моя подпись...

SMax
Любитель
Сообщения: 32
Зарегистрирован: 14 окт 2018, 09:28

Re: Преобразование

Сообщение SMax »

Например так:

Код: Выделить всё

//  IN : WORD
//  OUT_L : BYTE - младший байт
//  OUT_H : BYTE - старший байт

      L     #IN
      T     #OUT_L
      SRW   8
      T     #OUT_H

Dmitrey_59
Дилетант
Сообщения: 8
Зарегистрирован: 29 июл 2016, 12:08

Re: Преобразование

Сообщение Dmitrey_59 »

Благодарю за совет. На днях попробую.

Ответить