Versuch vielleicht mal, testen kann ich es aber nicht

Code:
$regfile "ATtiny2313.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 32
$framesize = 24


'******************************************************************************
Config Portd.6 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1


'******************************************************************************
Config Pind.2 = Input                                       ' (Int0)
Config Pind.3 = Input                                       ' (Int1)

Portd.2 = 1                                                 ' Pullup aktivieren
Portd.3 = 1                                                 ' Pullup aktivieren

Dim Schleife As Word
Dim Schrittweite As Word
Dim Zwischenwert As Word

Dim Richtung As Byte
Dim Tasten As Byte                                          'Tasten
Dim Freigabe As Byte
'( Nur wenn freigegeben, werden gedrückte Tasten akzeptiert
      Für Einen Neuen Tastendruck Muß Er Erstmal Auslassen
')

   Schrittweite = 1
   Richtung = 1
   Schleife = 100
'******************************************************************************

Do
   Tasten = Pind And &H0C                                   ' nur die Tasten-Bits
'( mögliche Werte:
    &H0c Garnix Gedrückt
    &H08 Taste Schritt+
    &H04 Taste Schritt -
    &H00 Beide Tasten - > Ungültig , Ignoriert
')
    If Freigabe = 0 Then
      If Tasten = &H0C Then Freigabe = 1                    ' nix gedrückt, nächte gilt wieder
    Else
      If Tasten = &H08 Then
         Freigabe = 0                                       ' sperren
         If Schrittweite < 5 Then
            Incr Schrittweite
            Pulseout Portd , 6 , 5000
         End If
      Else
         If Tasten = &H04 Then
            Freigabe = 0                                    ' sperren
            If Schrittweite > 1 Then
               Decr Schrittweite
               Pulseout Portd , 6 , 5000
            End If
         End If
      End If
   End If
   If Richtung = 1 Then
            If Schleife < 250 Then
               Schleife = Schleife + Schrittweite
               Waitms 10
            else
                richtung = 0
            End If
   Else
            If Schleife > 100 Then
               Schleife = Schleife - Schrittweite
               Waitms 10
            else
                richtung = 1
            End If
   End If
   Compare1a = Schleife
   Zwischenwert = 350 - Schleife
   Compare1b = Zwischenwert

Loop
End
Anmerkung:

das mit dem zwischenwert ist nur sicherheitshalber, ich bin nicht sicher, ob Bascom sonst richtig reagiert, weil ja Compare1b ein BYte ist, "350" aber nicht