Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Несколько вопрсов по ассемблеру к AVR
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Reboot_s
Есть такая команда sbc и adc. Первая означет - вычесть с переносом, вторая - сложить с переносом. Обьясните пожалуйста, что это за операция. Что такое перенос. На примере если можно.
И еще вопрос.Что значит такая запись:
ldi tmp16a, low(10000)
ldi tmp16b, high(10000)
а именно low(10000) и high(10000). Как нашел в одной книге, что это младшая и старшая часть 16-битного слова из двух регистров. Можно ли както переписать это под 24 битное слово из трех регистров? А точнее, как исполуется запись BYTE2(выражение) и BYTE3(выражение)?
MicronSys
Значение 10000 в HEX будет 0х2710

ldi tmp16a, low(10000) в tmp16a будет занесено 0х10 - 16
ldi tmp16b, high(10000) в tmp16b будет занесено 0х27 - 39

( 39*256+16 = 10000 )

Прочитай еще ра з книгу там есть еще функции
LWRD - возвращает биты 0-15
HWRD - возвращает биты 16-31
Для твоего случая енто так

есть число 24 бита 0х00E1E2E3 - 14803683
ldi temp1, LWRD(LOW(0х00E1E2E3)) - temp1 = E3
сначала берется E2E3(LWRD) потом E3 (LOW)

ldi temp2, LWRD(HIGH(0х00E1E2E3)) - temp2 = E2
сначала берется E2E3(LWRD) потом E2 (HIGH)

ldi temp3,HWRD(LOW(0х00E1E2E3)) - temp3 = E1
сначала берется 00E1(HWRD) потом E1 (LOW)


Да здесь все в Hex формате ( 16 - я система) Если собираешся заниматся програмингом учи ее !!!!!!!!!! rolleyes.gif

Есть такая команда sbc и adc.

ADC R1,R2 слаживает два регистра и добовляет бит С ( это флаг переноса )
то есть R1=R1+R2+C
SBC R1,R2 то есть R1=R1-R2-C

флаг переноса задействуется при сложение или вычитании
если ты слаживаеш два числа 255 + 10 = 265
но так как у проца регистры 8 битные то ты получиш не 265 а 9
1111 1111
+ 0000 1010
---------------
1000 01001
|_Это бит уйдет в флаг переноса

Вобщем учить АСМ это прикольно но для начала надо хотябы знать не только
родимую 10-ю систему но и 2-ю и 16-ю системы
smile3046.gif
Reboot_s
Спасибо за детальный ответ. Но меня таки интерисует как исполуется запись BYTE2(выражение) и BYTE3(выражение)?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.