s
  sta $c7
  jmp @end_font_attribute    ; next char
:
  ; -- 30 - 37 --
  cmp #38     ; >= 38?
  bcs @end_font_attribute
  cmp #30     ; < 30?
  bcc @end_font_attribute
  sbc #30     ; pointer for table
  sta direct_colour
  lda #$80    ; set direct colour
  sta font_mode
  
@end_font_attribute:  ; -- next char --
  pla         ; get nondigit char
  cmp #$3b    ; is semicolon?
  beq @next_font_attribute    ; then next cahr
  ; -- set colour --
  lda font_mode    ; 
  bmi :+    ; bit 7->