вот что ассемблер с мозгом делает!!!ploop писал(а):Не врубился, что это даст?
Помогите понять как отобразить в атмеге отрицательное число
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: Помогите понять как отобразить в атмеге отрицательное чи
битва с дураками проиграна, победители торжествуют. слава победителям!
- Реклама
Re: Помогите понять как отобразить в атмеге отрицательное чи
или вычитать из нуля оба байта с переносомploop писал(а):Не врубился, что это даст?
так что не хрена не просто
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Помогите понять как отобразить в атмеге отрицательное чи
2ploop: с ассемблером длинно получается, на С просто меняем знак. Короче во всяком случае писать лапками, что там после компиляции не проверял.
Про себя: злопамятность и ехидность Мастер Ломастер'а настораживает.
Про себя: злопамятность и ехидность Мастер Ломастер'а настораживает.
Docendo discimus
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: Помогите понять как отобразить в атмеге отрицательное чи
я не злопамятныйpyzhman писал(а):Про себя: злопамятность Мастер Ломастер'а настораживает.
битва с дураками проиграна, победители торжествуют. слава победителям!
Re: Помогите понять как отобразить в атмеге отрицательное чи
Еще раз говорю, что не понял. Вот формат данных DS18B20:BVS писал(а):или вычитать из нуля оба байта с переносомploop писал(а):Не врубился, что это даст?
так что не хрена не просто

В старшем байте у нас всего три бита.
СТОП!
inc XH + neg XH = com XH.
Тогда вообще не вижу смысла в вашем коде...
Кстати, я дал кусок рабочего кода из проекта, который сейчас отлаживаю. Стоит у меня на столе и показывает верную температуру с двух датчиков. Уж если была бы ошибка в старших битах, я наверное заметил бы
Так что всё просто.
- Реклама
Re: Помогите понять как отобразить в атмеге отрицательное чи
Ваш код будет работать если Температура не равна минус 16 и 32 градуса
Re: Помогите понять как отобразить в атмеге отрицательное чи
Посчитал "в уме"... Действительно... дома получше проверю. Так и не дошло, почему так получается.
Re: Помогите понять как отобразить в атмеге отрицательное чи
Ну вот, как на улице перевалило за -16, вспомнил про этот глюк. Понял, почему так происходит, поправил.
Надо просто сделать дополнение до двух всего слова, а не младшего байта:
Надо просто сделать дополнение до двух всего слова, а не младшего байта:
Код: Выделить всё
bst XH,7 ; в T признак знака (0 - положительная темп.)
brtc ct2 ; Если отрицательная - меняем знак
clr r16 ; дополнением до двух: X=0-X
clr r17
sub r16,XL
sbc r17,XH
mov XL,r16
mov XH,r17
ct2:
Re: Помогите понять как отобразить в атмеге отрицательное чи
А Я вам про это и говорил! 
Re: Помогите понять как отобразить в атмеге отрицательное чи
Ну так я ваши слова и вспомнил.
Хотел -32 дождаться, но подумал, что не дождусь
Хотел -32 дождаться, но подумал, что не дождусь
Re: Помогите понять как отобразить в атмеге отрицательное чи
У меня вот вчера было -31, но увидеть этот "глюк" с датчика почти не возможно
но это не глюк,а если переменная 16 бит то и операция с учетом переполнения
я вот делал регулятор и надо было показывать установленную температуру и тоже не думая делал как вы
и вычислил
но это не глюк,а если переменная 16 бит то и операция с учетом переполнения
Код: Выделить всё
neg XL ;флаг переноса ставится если XL не равен 0
brcc pc+2; если равен то пропускаем
inc XH ; ставим перенос в старший байт или com XH
neg XH ; иначеи вычислил


