• 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
    • Vorlesung
      • Folien
    • Übung
      • Seminar
      • Aufgaben
      • Aufgabe 0: C++ Streams
        • Aufgabe 1: Ein-/Ausgabe
          • Aufgabe 2: Unterbrechungen
            • Assembler Crashkurs
              • C++ Crashkurs
                • Entwicklungsumgebung
                  • FAQ
                    • Ruhmeshalle

                  Aufgabe 1: Ein-/Ausgabe

                  Classes | Public Types | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
                  TextMode Class Reference
                  I/O subsystem

                  Basic operations in the VGA-compatible text mode. More...

                  #include <machine/textmode.h>

                  + Inheritance diagram for TextMode:
                  [legend]
                  + Collaboration diagram for TextMode:
                  [legend]

                  Classes

                  union  Attribute
                   Structure of a character attribute consists of 4 bit fore- and 3 bit background color, and a single blink bit. More...
                   
                  struct  Attribute.__unnamed53__
                   
                  struct  Cell
                   Structure for a cell in text mode. More...
                   

                  Public Types

                  enum  Color {
                    BLACK ,
                    BLUE ,
                    GREEN ,
                    CYAN ,
                    RED ,
                    MAGENTA ,
                    BROWN ,
                    LIGHT_GREY ,
                    DARK_GREY ,
                    LIGHT_BLUE ,
                    LIGHT_GREEN ,
                    LIGHT_CYAN ,
                    LIGHT_RED ,
                    LIGHT_MAGENTA ,
                    YELLOW ,
                    WHITE
                  }
                   CGA color palette. More...
                   

                  Static Public Member Functions

                  static void setCursor (unsigned abs_x, unsigned abs_y)
                   Set the keyboard hardware cursor to absolute screen position. More...
                   
                  static void getCursor (unsigned &abs_x, unsigned &abs_y)
                   Retrieve the keyboard hardware cursor position on screen. More...
                   
                  static void show (unsigned abs_x, unsigned abs_y, char character, Attribute attrib=Attribute())
                   Basic output of a character at a specific position on the screen. More...
                   
                  static void show (int abs_x, int abs_y, char character, Attribute attrib=Attribute())
                   Basic output of a character at a specific position on the screen. More...
                   

                  Static Public Attributes

                  static const unsigned ROWS = 25
                   Visible rows in text mode.
                   
                  static const unsigned COLUMNS = 80
                   Visible columns in text mode.
                   

                  Protected Member Functions

                   TextMode ()
                   Default constructor.
                   

                  Static Protected Attributes

                  static Cell *const TEXT_BUFFER_BASE = reinterpret_cast<TextMode::Cell *>(0xb8000)
                   Base address for linear text buffer in video memory.
                   

                  Detailed Description

                  Basic operations in the VGA-compatible text mode.

                  This class provides an interface to access the screen in text mode, with access directly on the hardware level, i.e. the video memory and the I/O ports of the graphics card.

                  Member Enumeration Documentation

                  enum TextMode::Color

                  CGA color palette.

                  Colors for the attribute byte. All 16 colors can be used for the foreground while the background colors are limited to the first eight (fromBLACK to LIGHT_GREY)

                  Enumerator
                  BLACK 

                  Black (fore- and background)

                  BLUE 

                  Blue (fore- and background)

                  GREEN 

                  Green (fore- and background)

                  CYAN 

                  Cyan (fore- and background)

                  RED 

                  Red (fore- and background)

                  MAGENTA 

                  Magenta (fore- and background)

                  BROWN 

                  Brown (fore- and background)

                  LIGHT_GREY 

                  Light grey (fore- and background)

                  DARK_GREY 

                  Dark grey (foreground only)

                  LIGHT_BLUE 

                  Light blue (foreground only)

                  LIGHT_GREEN 

                  Light green (foreground only)

                  LIGHT_CYAN 

                  Light cyan (foreground only)

                  LIGHT_RED 

                  Light red (foreground only)

                  LIGHT_MAGENTA 

                  Light magenta (foreground only)

                  YELLOW 

                  Yellow (foreground only)

                  WHITE 

                  White (foreground only)

                  Member Function Documentation

                  void TextMode::setCursor ( unsigned  abs_x,
                  unsigned  abs_y 
                  )
                  static

                  Set the keyboard hardware cursor to absolute screen position.

                  Todo:
                  Implement the method using IOPort
                  Parameters
                  abs_xabsolute column of the keyboard hardware cursor
                  abs_yabsolute row of the keyboard hardware cursor
                  void TextMode::getCursor ( unsigned &  abs_x,
                  unsigned &  abs_y 
                  )
                  static

                  Retrieve the keyboard hardware cursor position on screen.

                  Todo:
                  Implement the method using the IOPort
                  Parameters
                  abs_xabsolute column of the keyboard hardware cursor
                  abs_yabsolute row of the keyboard hardware cursor
                  void TextMode::show ( unsigned  abs_x,
                  unsigned  abs_y,
                  char  character,
                  Attribute  attrib = Attribute() 
                  )
                  static

                  Basic output of a character at a specific position on the screen.

                  This method outputs the given character at the absolute screen position (x, y) with the specified color attribute.

                  The position (0,0) indicates the upper left corner of the screen. The attribute defines characteristics such as background color, foreground color and blinking.

                  Parameters
                  abs_xColumn (abs_x < COLUMNS) in which the character should be displayed
                  abs_yRow (abs_y < ROWS) in which the character should be displayed
                  characterCharacter to be displayed
                  attribAttribute with color settings
                  Todo:
                  Implement the method
                  void TextMode::show ( int  abs_x,
                  int  abs_y,
                  char  character,
                  Attribute  attrib = Attribute() 
                  )
                  static

                  Basic output of a character at a specific position on the screen.

                  This method outputs the given character at the absolute screen position (x, y) with the specified color attribute. Negative coordinates are interpreted relative to the right (x) and bottom (y) border.

                  Parameters
                  abs_xColumn (-COLUMNS ≤ abs_x < COLUMNS) in which the character should be displayed – using the right border (COLUMNS) as reference for negative values.
                  abs_yRow (-ROWS ≤ abs_y < ROWS) in which the character should be displayed – using the bottom border (ROWS) as reference for negative values.
                  characterCharacter to be displayed
                  attribAttribute with color settings
                  Optional:
                  Implement this method (it can either use or replace show(unsigned, unsigned, char, Attribute))

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

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