43 lines
470 B
NASM
43 lines
470 B
NASM
//arr = 100
|
|
@100 // A=100
|
|
D=A // D bekommt den Wert 100
|
|
@arr // @arr bekommt die Adresse 16 vom Assembler zugewiesen
|
|
M=D // RAM[16] = 100
|
|
|
|
// n=10
|
|
@10
|
|
D=A
|
|
@n
|
|
M=D
|
|
|
|
|
|
//initialize i=0
|
|
@i
|
|
M=0
|
|
|
|
(LOOP)
|
|
// if (i == n) goto END
|
|
@i
|
|
D=M //
|
|
@n
|
|
D=D-M
|
|
@END
|
|
D;JEQ
|
|
|
|
// RAM [arr+i] = -1
|
|
@arr
|
|
D=M
|
|
@i
|
|
A=D+M // <-- das soll es sein
|
|
M=-1
|
|
|
|
//i++
|
|
@i
|
|
M=M+1
|
|
|
|
@LOOP
|
|
0;JMP
|
|
|
|
(END)
|
|
@END
|
|
0;JMP |