lehrkraefte:blc:informatik:efi-2023:assembler

This is an old revision of the document!


Funktionsweise einer CPU

  • Speicher: Array of Bytes, Index wird Adresse genannt. Hier laufen die Adressen von 0-255.
  • Register: Eine Art interne Variablen in der CPU. Hier A,B,C,D, Grösse 1 Byte
  • Instruction Pointer (IP): Gibt an, wo die nächste auszuführende Instruktion im Speicher liegt. Wird oft auch Programm Counter (PC) genannt.
  • Stack Pointer (SP): Zeigt auf den ersten freien Platz auf dem Stapel (wächst rückwärts). Startet bei Adresse 231.
  • Flags: Z (Zero, True wenn ein Ergebnis Null ist), C (Carry, True wenn ein Überlauf stattgefunden hat). F ist True, wenn ein Fehler aufgetreten ist (z.B. eine nicht existente Instruktion, Division durch Null oder ähnliches)
  • Memory mapped output: Die Bytes 232-255 werden als Buchstaben (entsprechend dem ASCII-Code) in der Ausgabe dargestellt.
  • Die Bytes 253-255 werden zusätzlich in der Siebensegmentanzeige dargestellt. Die Segmente sind von oben im Uhrzeigersinn nummeriert (Bits 0 bis 5), mit dem inneren Segment mit Nummer 6.

Ausgabe auf die 7-Segment Anzeige

	MOV [253], 119
	MOV [254], 124
	MOV [255], 57

For-Loop

	MOV A, 10      ; loop counter
	MOV B, 232     ; start output address
	MOV C, '0'     ; start letter
loop:
	MOV [B], C     ; Write letter to address pointed at by B
	INC B          ; Increase output position
	INC C          ; Increase letter
	DEC A          ; Decrease loop counter
	JNZ loop       ; last result not zero? Then jump to loop
	HLT

Subroutine

Assembler

  • lehrkraefte/blc/informatik/efi-2023/assembler.1712038431.txt.gz
  • Last modified: 2024/04/02 08:13
  • by Ivo Blöchliger