42 lines
476 B
NASM
42 lines
476 B
NASM
// Zeichnen eines Rechtecks
|
|
// Breite = 16px, die Höhe ist in RAM[0]
|
|
|
|
@R0
|
|
D=M
|
|
@n // @16
|
|
M=D // n = RAM[0]
|
|
|
|
@i
|
|
M=0 // i=0
|
|
|
|
@SCREEN
|
|
D=A
|
|
@address
|
|
M=D // address = 16384 (Basisadresse des HACK-Screens)
|
|
|
|
(LOOP)
|
|
@i
|
|
D=M
|
|
@n
|
|
D=D-M
|
|
@END
|
|
D;JGT // if i > n goto END
|
|
|
|
|
|
@address
|
|
A=M
|
|
M=-1 // RAM[address] = -1 (16 pixels)
|
|
|
|
@i
|
|
M=M+1 // i=i+1
|
|
@32
|
|
D=A
|
|
@address
|
|
M=D+M // address = address + 32
|
|
|
|
@LOOP
|
|
0;JMP // GOTO LOOP
|
|
|
|
(END)
|
|
@END //Programmende
|
|
0;JMP |