Sida 1 av 1

fel? ret går till rjmp reset ? (löst)

Postat: 1 oktober 2005, 16:29:01
av mekme

Kod: Markera allt

.include "m162def.inc"
	rjmp RESET

.def T1		= r1
.def temp	= r19

longDelay:
	clr T1
delay_1:
	dec T1
	brne delay_1
        dec temp
        brne delay_1
	ret


.equ led	= 6

RESET:
	sbi DDRD, led

	.equ c	= 10

FLASH:
	sbi PORTD, led
	ldi temp, c
	rcall longDelay
	cbi PORTD, led
	ldi temp, c
	rcall longDelay
	rjmp FLASH
Vad gör jag för fel ?
efter att den räknat klart i delay_1 och ska köra ret. så går den till rjmp reset och börjar om från början med programmet.
den ska väl gå tillbaka till rcall raden och fortsätta där?
är väl därför det heter ret (return)

(har i princip aldrig hållit på med assembler förut)

Postat: 1 oktober 2005, 18:09:14
av cykze
Du har inte initierat stackpekaren.

ldi temp, low(RAMEND)
out SPL, temp
ldi temp, high(RAMEND)
out SPH, temp

Postat: 2 oktober 2005, 12:31:28
av mekme
tack så jätte mycket!