Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычитание AVR, Вычитание большего числа из меньшего 
:(
    Опции темы
pettimm
Дата 24.10.2015, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 24.9.2005

Репутация: 1
Всего: 1



Привет, всем! Подскажите пожалуйста ,
AVR ассемблер:
 Вариант1:  R0=0 , а R1=1  и вот отнимаем sub   R0,R1
 Вопрос: какое число будет в результате? -1??? , тоесть в R0 появится 1 и взведен флаг отрицательного числа??
взведется ли флаг перенрса, и что он нам даст в данном случае?

Вариант2: двухбайтовое число  RH0=2 , а RL0=0  ,  RH1=0 ,  RL1=1  
  
                                 SUB  RL0,RL1     SUB  RH0, RH1   -ТУТ  РЕЗУЛЬТАТ БУДЕТ = 1F
Значит младший байт с 0 перескочил на F ,  мы понимаем что он сделал заем с старшего байта, значит и в первом варианте тоже  младший байт перескочит на с 0 на  F ?  Но число то однобайтное в первом варианте, откуда возмеш???
 Но так же и во втором ему нужно знать что есть откуда брать.Спасибо. 

Это сообщение отредактировал(а) pettimm - 24.10.2015, 10:51
PM MAIL   Вверх
xvr
Дата 26.10.2015, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(pettimm @  24.10.2015,  10:50 Найти цитируемый пост)
Вопрос: какое число будет в результате? -1???

Да

Цитата(pettimm @  24.10.2015,  10:50 Найти цитируемый пост)
тоесть в R0 появится 1 и взведен флаг отрицательного числа??

Нет. В R0 будет FF (гуглить по словам 'двоичный дополнительный код')

Цитата(pettimm @  24.10.2015,  10:50 Найти цитируемый пост)
Вариант2: двухбайтовое число  RH0=2 , а RL0=0  ,  RH1=0 ,  RL1=1    
                                 SUB  RL0,RL1     SUB  RH0, RH1   -ТУТ  РЕЗУЛЬТАТ БУДЕТ = 1F

Результат будет другой (неправильный) - 2FF, так как вычитание неправильное. Должно быть:
Код

SUB  RL0,RL1     
SBC  RH0, RH1 



Это сообщение отредактировал(а) xvr - 26.10.2015, 12:21
PM MAIL   Вверх
pettimm
Дата 31.10.2015, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 24.9.2005

Репутация: 1
Всего: 1



Спасибо за ответ, второй пример понял, а по первому, где отрицательное число-подумаю, спасибо..
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1187 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.