rendered paste body
'AUFGABE 7.2.1
'INF07JB
'2011-04-25
'source: http://pastebin.ca/2053728
'vardef
symbol localPause = b1
symbol localVar = b0
'main entry point
main:
localVar = 0
localPause = 250
goto state
goto main
'status sub
state:
if pin3 = 1 then
if localVar = 3 then
localVar = 0
else
localVar = localVar + 1
endif
endif
gosub setState
goto state
'counter sub
counter:
low 0
low 1
low 2
pause localPause
low 0
low 1
high 2
pause localPause
low 0
high 1
low 2
pause localPause
low 0
high 1
high 2
pause localPause
high 0
low 1
low 2
pause localPause
high 0
low 1
high 2
pause localPause
high 0
high 1
low 2
pause localPause
return
'setstate sub
setState:
select case localVar
case 0
gosub currState0
case 1
gosub cycle
case 2
gosub counter
case 3
gosub ledBlink
endselect
goto state
'status 0 sub
currState0:
pause localPause
pause localPause
pause localPause
pause localPause
pause localPause
pause localPause
pause localPause
pause localPause
pause localPause
goto main
'LED blinking sub
ledBlink:
high 0
high 1
high 2
pause 100
low 0
low 1
low 2
pause 100
' cycle sub
cycle:
high 0
pause localPause
high 1
pause localPause
high 2
pause localPause
low 0
pause localPause
low 1
pause localPause
low 2
pause localPause
return
'END