Asembler, dlaczego zle dziala?

Witam.

Zaczynam boje z asemblerem (oraz z C rownolegle). Natknalem sie na pierwszy problem, mianowicie, po wykonaniu petli delay nastepuje powrot do polecenia "ldi r16,0x20", dlaczego nie do rcall stop?

.include "2313def.inc" .cseg .org 0x00 startL: ldi r16,0x20 rcall delay rcall stop delay: dec r16 cpi r16,0 brne delay ret stop: nop

Reply to
Ania i Grześ
Loading thread data ...

skąd wiesz, że tak robi? poza tym, wypadałoby ustawić wskaźnik stosu, zanim zacznie się z niego korzystać. no i jeśli by skoczył do stop, to licznik rozkazów w końcu się przekręci i wróci do zera.

w.

Reply to
Wojtek Kaniewski

Bo nie zainicjowales stosu. Patrz pare postow wyzej - ten sam problem.

Reply to
T.M.F.

Pewnego dnia Ania i Grześ snipped-for-privacy@maila.pl nastukał(a):

Już było dzisiaj :) Nie inicjujesz stosu, to dokąd program ma wrócić instrukcją ret?

Reply to
Mateusz Majchrzycki

Fri, 04 Feb 2005 18:36:59 +0100 jednostka biologiczna o nazwie Ania i Grześ snipped-for-privacy@maila.pl wyslala do portu 119 jednego z serwerow news nastepujace dane:

A tak w ogole to po co cpi ? Instrukcja dec w AVRach, w odoroznieniu od np. 8086, ustawia flage Z jezeli zmniejszany rejestr sie wyzerowal. Chyba ze chodzilo o dodatkowe opoznienie :-)

Reply to
BLE_Maciek

Fri, 04 Feb 2005 19:36:25 +0100 jednostka biologiczna o nazwie Zbych snipped-for-privacy@onet.pl wyslala do portu 119 jednego z serwerow news nastepujace dane:

Nie ma znaczenia, dec i w tym i w tym nie ustawia flag. Chyba ze chodzilo o to ze 8086 to NTG ;-)

Reply to
BLE_Maciek

Pewnego dnia BLE_Maciek przemówił ludzkim głosem:

nie 8086 tylko 8051 ;P

Reply to
Zbych

Fri, 04 Feb 2005 19:42:14 +0100 jednostka biologiczna o nazwie Zbych snipped-for-privacy@onet.pl wyslala do portu 119 jednego z serwerow news nastepujace dane:

LOL. Przyznam sie ze nie wiedzialem :-( JZ/JNZ po DEC uzywalem tylko w przypadku rejestru AX. Przypuszczam ze takie zwyczaje zaciagnalem z Z80 :-) Dzieki !

Reply to
BLE_Maciek

Pewnego dnia BLE_Maciek przemówił ludzkim głosem:

formatting link
Usage: DEC dest

Modifies Flags: AF OF PF SF *ZF*

Unsigned binary subtraction of one from the destination.

Reply to
Zbych

Ale o ile mnie pamiec nie myli, to w Z80 ustawialy. Poza dec hl/de/bc.

J.

Reply to
J.F.

Pamiec cie nie myli :)

Reply to
T.M.F.

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.