Du musst IMMER erst die innere Schleife (also loops, ifs, whiles, usw.) beenden, bevor du die äußere beendest.

Hier mal dein Code
Code:
$regfile = "m32def.dat"                                     'Die Anweisung bestimmt Controllertyp, hier AVR  Mega 8
$framesize = 32                                             'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32                                               'wirklich nötig werden
$hwstack = 32
$crystal = 16000000                                         'Die Frequenz des verwendeten Quarzes


Dim Mot_flag As Bit
Mot_flag = 0


Ddra.1 = 0                                                  'Pins A.1 und A.2 werden als Eingänge konfiguriert
Ddra.2 = 0
Ddra.3 = 1                                                  'Pins A.3 und A.4 werden als Ausgänge konfiguriert
Ddra.4 = 1
Ddrb.1 = 0                                                  'Eingang für Start-Taster wird konfiguriert
Porta.1 = 1                                                 'Pullupwiderstand der Eingänge wird aktiviert
Porta.2 = 1
Porta.3 = 0                                                 'Ausgänge werden auf LOW gesetzt
Porta.4 = 0
Portb.1 = 1                                                 'Pullupwiderstand wird aktiviert


Do


If Pinb.1 = 1 Then Toggle Mot_flag                          'Bei Betätigung des Tasters...

If Mot_flag = 1 Then

If Pina.1 = 1 Then                                          'Wenn Lichtsensor 1 auf HIGH,...
Porta.3 = 1                                                 'Dann Motor 1 auf HIGH,...
Else                                                        'Sonst Motor 1 auf LOW
Porta.3 = 0
End If

If Pina.2 = 1 Then                                          'Wenn Lichtsensor 2 auf HIGH,...
Porta.4 = 1                                                 'Dann Motor 2 auf HIGH,...
Else                                                        'Sonst Motor 2 auf LOW
Porta.4 = 0
End If

Else

Porta.3 = 0
Porta.4 = 0

End If


Loop                                                        'Wiederholen
Außerdem werden Pullups ohne "Config" geschrieben, einfach nur
Code:
Portx.y = z
Hast du wirklich alles verstanden? Das hier sind die Basics der Basics