• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme

    Aufgabe 3: Pro-/Epilog

    • TextMode
    • Attribute
    Public Member Functions | Public Attributes | List of all members
    TextMode::Attribute Union Reference
    I/O subsystem

    Structure of a character attribute consists of 4 bit fore- and 3 bit background color, and a single blink bit. More...

    #include <machine/textmode.h>

    Public Member Functions

     Attribute (Color foreground=LIGHT_GREY, Color background=BLACK, bool blink=false)
     Attribute constructor (with default values) More...
     
    void invert ()
     

    Public Attributes

    struct {
    uint8_t foreground: 4
     .... XXXX Foreground color
     
    uint8_t background: 3
     .XXX .... Background color
     
    uint8_t blink: 1
     X... .... Blink
     
    }; 
     
    uint8_t value
     combined value
     

    Detailed Description

    Structure of a character attribute consists of 4 bit fore- and 3 bit background color, and a single blink bit.

    Bit fields can notably simplify the access and code readability.

    Note
    Type punning is indeed undefined behavior in C++. However, gcc explicitly allows this construct as a language extension. Some compilers (other than gcc might allow this feature only by disabling strict aliasing (-fno-strict-aliasing). In StuBS we use this feature extensively due to the improved code readability.

    Constructor & Destructor Documentation

    TextMode::Attribute::Attribute ( Color  foreground = LIGHT_GREY,
    Color  background = BLACK,
    bool  blink = false 
    )
    inlineexplicit

    Attribute constructor (with default values)

    Parameters
    foregroundForeground color (Default: LIGHT_GREY)
    backgroundBackground color (Default: BLACK)
    blinkBlink if true (default: no blinking)

    The documentation for this union was generated from the following file:
    • machine/textmode.h
    Friedrich-Alexander-Universität
    Erlangen-Nürnberg

    Schlossplatz 4
    91054 Erlangen
    • Impressum
    • Datenschutz
    • Barrierefreiheit
    • Facebook
    • RSS Feed
    • Xing
    Nach oben