Assembler w AVR, odejmowanie

Witam

Jest sobie kod:

IMPULS: cli in czas,TCNT0 clr temp ;czyszczenie flag signed i negative subi czas,112 brmi ALARM

Problem w tym , że nawet jeśli rejestr liczący timera ma 255, to w wyniku odejmowania dostaje zawsze wynik negatywny :(

Reply to
scx
Loading thread data ...

Dnia Tue, 16 Jan 2007 10:21:42 +0100, scx napisał(a):

?!?!?!

ldi czas,0xff subi czas,112 I też mam ustawioną flagę "negative"! Od kiedy 255 - 112 < 0?

Aha: AVRStudio 4.12, Attiny12, testuję program we wbudowanym symulatorze

Reply to
scx

w jaki sposób masz zadeklarowan± zmienna czas? Jest to jeden z rejestrów R16-R31?

i czy przypadkiem zapis nie powinien wygl±daæ tak: subi czas,$112

Pozdrawiam Darek

Reply to
Darek

scx snipped-for-privacy@wu-pe.pe-el> napisał(a):

Hmmm... Traktujesz swoje dane jako liczby bez znaku , a sprawdzasz wskaźniki dla operacji na liczbach ze znakiem , czyli U2.Gdybyś napisał co chcesz osiąnąć , to wtedy - kto wie ;-)

Piotrek

Reply to
Piotrek Sz.

A nie -1?

Reply to
RoMan Mandziejewicz

Jak nie używasz liczb ze znakiem, to sprawdzaj carry, a nie sign.

pozdrawiam

majek

Reply to
Marek Wodzinski

Dnia Tue, 16 Jan 2007 17:30:18 +0100, Marek Wodzinski napisał(a):

i to właśnie jest prawidłowa odpowiedź :P zamiast brmi - brcs

Dziękuję wszystkim za podpowiedzi, a szczególnie Robertowi za uświadomienie mnie w kwestii reprezentacji liczb ujemnych :) I tak dzień po dniu człowiek się mądrzejszy robi :P

Urządzonko już pięknie śmiga - jest to ostrzegacz o przekroczeniu 5000 obrotów silnika + przypominacz o zapięciu pasów. Jutro będzie testowany w naturze, a biurku działa OK.

Reply to
scx

Dnia 16-01-2007 o 10:40:59 scx snipped-for-privacy@wu-pe.pe-el> napisał(a):

Dorzuce jeszcze od siebie to co sam nie dawno tutaj na grupie uslyszalem: nie ufaj symulatorowi. Ostatnio symulator pokazywal jakies dziwolagi natomiast zaprogramowana atmega dziala prawidlowo. Wiec zalecam ostroznosc.

pozdrawiam

Reply to
Szymon Kubicki

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.