Hallo oderlachs,
is zwar schon rund 4 Wochen alt der Thread aber ich erlaube mir trotzdem noch etwas dazu zu schreiben:

Erstens: Ich finde das echt supi, dass jemand der C oder C++ programmiert dann doch mal in den Assembler reinschaut.

Dann hab ich mal deinen Link zu dem Programm aufgerufen.
Meiner Meinung nach ist da noch ein Fehler in deiner unteren Warteschleife, vermutlich durch das kopieren von der oberen Warteschleife:

Code:
MAIN_PROG CODE                  ; let linker place main program
214 
215 START
216 
217     ; TODO Step #5 - Insert Your Program Here
218         call INIT_IO  
219 ;LED einschalten        
220 blink   bsf  LED_0                      ; set LED_0
221 ;***********************************************************         
222 ;Warteschleife 1
223         clrf REG_1
224         clrf REG_2
225 loop1   decfsz REG_1
226         goto loop1
227         decfsz REG_2
228         goto loop1
229         clrf REG_1
230         clrf REG_2
231 ;LED ausschalten
232         bcf LED_0                       ;clear LED_0
233 ;Warteschleife 2
234         clrf REG_1
235         clrf REG_2
236 loop2   decfsz REG_1
237         goto loop1             <===== muss hier nicht goto loop2 hin ?
238         decfsz REG_2
239         goto loop2
240 ;***********************        
241         goto blink                      ; loop forever
Ein schönes Wochenende wünscht der
Siro