sry, waren fehler drin.

das hier jedenfalls hab ich getestet, das tut, wie es soll.
Code:
   Gl_rstflag = 1             ' zum testen
   Gl_bit = 3                  ' zum testen 

   $asm
   LDS r24, {Gl_bit}
L_10x00f6:
   ldi r25, &H01
   !AND r24,r24                                             '  gl_bit = 0 ?
   BREQ L_10x0104                                           '  dann fertig
   CLC                                                      '  clear carry
L_10x00fe:
   ROL r25                                                  ' rot left
   DEC r24                                                  ' bit-nr  - 1
   BRNE  L_10x00FE                                          '  fertig ?
L_10x0104:
   LDS r23, {gl_read}
$end Asm


If Gl_rstflag = 1 Then
   !OR r23, r25                                             ' bit setzen
Else
   COM r25                                                  ' invertieren
   !AND r23, r25                                            ' bit löschen
End If

  !STS {Gl_pix}, r23
Anm: sowas wie "ldi r25, 0x01" ignoriert Bascom ohne meldung
muss aber heissen (Bascom-Style)
"ldi r25, &H01"