35 lines
707 B
NASM
35 lines
707 B
NASM
// Assemblerprogramm zum Zeichnen der mittleren fünf Pixel des HACK-Monitors schwarz
|
|
|
|
// Initialisierung der Register
|
|
@SCREEN // Adresse des ersten mittleren Pixels
|
|
D=A
|
|
@R15 // Speicherregister für den Zeiger auf den Bildschirmspeicher
|
|
M=D
|
|
|
|
// Setzen der Bits für die mittleren fünf Pixel
|
|
@5 // Anzahl der zu setzenden Bits
|
|
D=A
|
|
@R14 // Zähler für die Anzahl der zu setzenden Bits
|
|
M=D
|
|
|
|
(LOOP)
|
|
@R14
|
|
D=M
|
|
@END
|
|
D;JEQ // Wenn alle Bits gesetzt wurden, Schleife beenden
|
|
|
|
@R15
|
|
A=M
|
|
M=-1 // Setze das Bit auf 1 (negative Logik für schwarz)
|
|
|
|
@R15
|
|
M=M+1 // Zeiger auf das nächste Bit im Speicher erhöhen
|
|
@R14
|
|
M=M-1 // Anzahl der zu setzenden Bits reduzieren
|
|
@LOOP
|
|
|
|
// Programm beendet
|
|
(END)
|
|
@END
|
|
0;JMP
|