@ for_ro:
Genau wie Du schreibst, ist es!
Nochmal kurz erklärt, was ich eigentlich will:
Der "Mode"-Taster soll zwischen "Anzeigen-und Alarm-Ein" Mode" und " Stellen" Mode" umschalten.
Es könnte auch so gehen, das ich gleichzeitig Mode- und Stelltaster zum stellen drücken muß.
Ich glaube, das geht wohl am Einfachsten.
Das Debouncing stammt noch vom alten Codeschnipsel, das wird nicht nötig sein.

- - - Aktualisiert - - -

Ich hab das jetzt mal so gemacht:
Code:
$regfile = "m8def.dat"
$crystal = 9830400
$hwstack = 40
$swstack = 16
$framesize = 32
$include "INIT_LCD20x4.bas"                                 'LCD an Port D
Pinb = &B11000000                                           'B  2,3,4 = Taster
Portb = &B00111100
Dim Al_min As Byte , Al_std As Byte
Ta_std Alias Pinb.2
Ta_min Alias Pinb.3
Ta_mode Alias Pinb.4
Locate 1 , 1 : Lcd "Alarm "
Do
      If Ta_mode = 0 Then
         Locate 1 , 13 : Lcd "Stellen"
            Else
         Locate 1 , 13 : Lcd "Ein     "
      End If
      If Ta_min = 0 And Ta_mode = 0 Then
               Al_min = Al_min + 1                          'Minute stellen
                  If Al_min = 60 Then Al_min = 0
                     Waitms 200
      End If
      If Ta_std = 0 And Ta_mode = 0 Then
               Al_std = Al_std + 1                          'Stunde stellen
                  If Al_std = 24 Then Al_std = 0
                     Waitms 200
      End If
'-------------- LCD rechtsbündige Anzeige ------------------------------------
Locate 1 , 7
               If Al_Std < 10 Then Lcd " " ; Al_Std Else Lcd Al_Std ; "  "
Locate 1 , 9
               If Al_Min < 10 Then Lcd ":0" ; Al_Min Else Lcd ":" ; Al_Min
   Waitms 50
Loop
End
und das geht so wie gewollt! Die zwei-Taster-Bedienung ist garnicht mal schlecht.

Jetzt brauch ich nur noch den Uhrzeit-Vergleich und die Ausgabe austüfteln.

Ich danke Euch für die hilfreichen Tipps, hab ich doch wieder was gelernt!

Joachim