Страница 1 из 1
Преобразование
Добавлено: 24 апр 2019, 18:44
Dmitrey_59
Подскажите пожалуйста как выполнить преобразование 16 битного слова в 2 байта и обратно в Step 7?
Re: Преобразование
Добавлено: 25 апр 2019, 09:17
mr_Frodo
Назначение "преобразования" ?!?
Вы в курсе, что слово это уже 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
Re: Преобразование
Добавлено: 02 май 2019, 07:13
SMax
Например так:
Код: Выделить всё
// IN : WORD
// OUT_L : BYTE - младший байт
// OUT_H : BYTE - старший байт
L #IN
T #OUT_L
SRW 8
T #OUT_H
Re: Преобразование
Добавлено: 02 май 2019, 17:19
Dmitrey_59
Благодарю за совет. На днях попробую.