Приветствую!
Для формирования телеграммы нужно записать число, к примеру 1А2В hex в 2 соседних регистра: 1А и 2В
Что-то не получается, подскажите, пожалуйста, как сделать.
Сконвертировать 16bit - 8 bit
Re: Сконвертировать 16bit - 8 bit
Не совсем понял, что именно Вам нужно.
О каких соседних регистрах речь?
У Delta все регистры 16-разрядные.
Думаю, что Вам помогут АPI-26 WAND для маскирования при пересылке в регистр назначения и API-147 SWAP для обмена содержимым между младшим и старшим байтами регистра.
Например, изначально в D0 лежит "Н1A2B".
Нам надо в D7 поместить старший байт из D0 "1A" ("H001A"), а в регистр D8 отправить младший байт D0 "2B" ("H002B")
WAND D0, HFF00, D7 // в D7 "H1A00"
SWAP D7 // в D7 "H001A"
WAND D0, H00FF, D8 // в D8 "H002B"
Для движения по массивам "исходных данных" и "результатов" удобно использовать индексную адресацию элементов в массивах.
О каких соседних регистрах речь?
У Delta все регистры 16-разрядные.
Думаю, что Вам помогут АPI-26 WAND для маскирования при пересылке в регистр назначения и API-147 SWAP для обмена содержимым между младшим и старшим байтами регистра.
Например, изначально в D0 лежит "Н1A2B".
Нам надо в D7 поместить старший байт из D0 "1A" ("H001A"), а в регистр D8 отправить младший байт D0 "2B" ("H002B")
WAND D0, HFF00, D7 // в D7 "H1A00"
SWAP D7 // в D7 "H001A"
WAND D0, H00FF, D8 // в D8 "H002B"
Для движения по массивам "исходных данных" и "результатов" удобно использовать индексную адресацию элементов в массивах.
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Re: Сконвертировать 16bit - 8 bit
Похоже, это то, что нужно, завтра проверю, спасибо.
Re: Сконвертировать 16bit - 8 bit
Если в D0 H1A2B, то после выполнения команды
DTM D0 D7 K2 K1
В регистрах D7 и D8 будет H001A и H002B соответственно.
DTM D0 D7 K2 K1
В регистрах D7 и D8 будет H001A и H002B соответственно.
Re: Сконвертировать 16bit - 8 bit
К сожалению не факт, что в старших байтах регистров результата D7 и D8 после DTM D0 D7 K2 K1 будут нули.
Бывало, старший байт повторял младший.
От версии зависит, что ли... Не знаю...
Бывало, старший байт повторял младший.
От версии зависит, что ли... Не знаю...
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Re: Сконвертировать 16bit - 8 bit
Оба способа рабочие, посмотрим, как покажет себя в эксплуатации: