Problem mit Subroutine CALL-RET.

OP #3090388
Lesenswert?
• ▲
▼
Hallo....

Ich habs geschafft mein EBAY-ISP mit meinem mega128A-Board zum Laufen 
bekommen...JUHU

Ein bisschen Bit-schupserei klappt aber ich habe Probleme mit meiner 
delay
subroutine.

Aufrufen mit CALL funzt, aber den Befehl "RET" führt er nicht aus, und 
bleibt einfach stehen.

wenn ich statt RET einen RJMP xy eintrage funktioniert es...

Mach ich was grundlegenes falsch?

Gruss...... Andre
OP #3090420
Lesenswert?
• ▲
▼
.include  "m128adef.inc"
.org    0x00
    rjmp main

init:
  ldi    r16,0xFF
  out    DDRC,r16
  nop
  ldi    r16,0xFE
  out   DDRB,r16

main:
  ldi    r21,0x08
  ldi    r16,0xFE
  sec
main5:
  out    PORTC,r16
  rol    r16
  call  delay
  out    PORTC,r21
  call  delay
  rjmp  main5


delay:
    ldi  r18,0x04
    ldi  r19,0xFF
    ldi  r20,0xFF
L1: dec  r20
    brne L1
    dec  r19
    brne L1
    dec  r18
    brne L1
;  rjmp main5
    ret



Exteted Fuse ist FD
Watchdog 1
M103C    0

andere Kombinationen gehen gar nicht..... komisch....
OP #3090445
Lesenswert?
• ▲
▼
.include  "m128adef.inc"
.org    0x00
    rjmp main

RESET:
  ldi    r16, high(RAMEND)    ; Main program start
  out    SPH,r16          ; Set stack pointer to top of RAM
  ldi    r16, low(RAMEND)
  out    SPL,r16
  sei              ; Enable interrupts


init:
  ldi    r16,0xFF
  out    DDRC,r16
  nop
  ldi    r16,0xFE
  out   DDRB,r16

main:
  ldi    r21,0x08
  ldi    r16,0xFE
  sec
main5:
  out    PORTC,r16
  rol    r16
  call  delay
  out    PORTC,r21
  call  delay
  rjmp  main5


delay:
    ldi  r18,0x04
    ldi  r19,0xFF
    ldi  r20,0xFF
L1: dec  r20
    brne L1
    dec  r19
    brne L1
    dec  r18
    brne L1
  ret



so sieht es jetzt aus....... und so bleibt er in der delay "hängen",
und wenn ich die Fuses auf FF setzte, dann geht gar nichts mehr....

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.