Rcall -Befehl im AVRStudio4.04??

Gast #14562
Lesenswert?

Wenn ich dieses Prog. im Studio simuliere, dann springt nach dem ret 
Befehl der PCounter zu rjmp main, und nicht eine Zeile nach dem 
rcall-Befehl.
Ich muß irgendwas vergessen haben, nur was?!
Es funktioniert nämlich im Studio und im Prozessor nicht.
Vielleicht kann sich das mal jemand durchsehen.
Danke
max

.device AT90S8515
.include "8515def.inc"

.def temp =r16
.def LED =r17
.def delay =r18
.def delay1 =r19
.def cmp =r20

.cseg
.org 0x00
  rjmp main

main:
  ser temp
  out DDRB,temp
  ldi cmp,0
  ldi LED,0xFF

LEDout:
  out PORTB,LED
  com LED
  rcall waittime
  rjmp LEDout

waittime:
  ldi delay,2
wait:
  dec delay
  ldi delay1,2
wait1:
  dec delay1
  cpse delay1,cmp
  rjmp wait1
  cpse delay,cmp
  rjmp wait
  ret
Gast #14569
Lesenswert?

Salut,

@Michael: hmm? Verfügen AVRs mit <=256B RAM überhaupt über ein 
SPH-Register? Und wieso kommentiert Atmel selbst in seinen AppNotes die 
SPH-Initialisierung für 2313 und Co. aus? Und an welcher Stelle wird SPH 
vom AVR referenziert? Da existieren doch intern gar keine 
Adressleitungen für das Hi-Byte der RAM-Adresse... ? Oder hab ich was 
falsch verstanden?

Etwas verwirrt,
Mark H. -- http://markh.de/avr/
Gast #14570
Lesenswert?

sorry wenn ich dich verwirrt hab, aber wir haben hier eine Menge 
Beispielprogramme für verschiedene Controller (von Atmel) und bei allen 
wird maximal der SPL initialisiert, was durchaus funktioniert, 
allerdings nur im AVRStudio(ob Ver.3 oder 4 ist egal). Das hat uns schon 
einige Nerven gekostet, deswegen wollte ich das nur mal erwähnen.
wenn der assembler das nicht macht (bei den kleineren atmels), dann muss 
man das auskommentieren!

sorry für die verwirrung

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren