реклама на сайте
подробности

 
 
> Как работать с парными регистрами?
Potter
сообщение Jun 7 2006, 14:52
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 151
Регистрация: 27-05-06
Из: Харьков
Пользователь №: 17 508



Работаю с мегой 16.... Пишу программу на асме. Существуют парные регистры YH,YL. Если в YL хранится значение 0xFF и к нему прибавить 0x1 занесется ли 0x1 в YH? Если не занесется как вообще можно работать с двухбайтными числами если нужно прибавлять к двухбайтному числу и отнимать от него некоторые константы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
add
сообщение Jun 7 2006, 15:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Сложение двух пар регистров
add r16,r18
adc r17,r19
Вычитание двух пар регистров
sub r17,r18
sbc r16,r19
Соответственно с константой можно так
clr r19
ldi r18,const
sub r17,r18
sbc r16,r19

и так

clr r19
ldi r18,const
add r16,r18
adc r17,r19

А так инкремент:
subi zl,255
sbci zh,255
А так денкремент:
subi zl,1
sbci zh,0
Вопросы есть?
:-) удачи.

зы: чуток опоздал с ответом...уже опередили..:-)


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Potter
сообщение Jun 7 2006, 15:27
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 151
Регистрация: 27-05-06
Из: Харьков
Пользователь №: 17 508



Цитата(add @ Jun 7 2006, 18:06) *
clr r19
ldi r18,const
add r16,r18
adc r17,r19



Допустим в r16 хранится значение 0xFF, в r17 0x00 а в r18 мы занесли 0x05 то после этих команд в r16 будет хранится значение 0x04 а в r17 0x01?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 7 2006, 15:40
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Potter @ Jun 7 2006, 18:27) *
Допустим в r16 хранится значение 0xFF, в r17 0x00 а в r18 мы занесли 0x05 то после этих команд в r16 будет хранится значение 0x04 а в r17 0x01?

На этот вопрос вам может достоверно ответить AvrStudio. Выполните интересующий вас код в режиме отладки, войдите во вкладку I/O View выберите R16-R31 и посмотрите чему равен r16 и r17
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 14:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016