Files
nand2tetris/projects/04/tests/pointers01.asm
2023-03-26 15:59:27 +02:00

43 lines
612 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 // A = 10
D=A // D bekommt den Wert 10 zur Zwischenspeicherung
@n // @n bekommt die Adresse 17 zugewiesen
M=D // im RAM[17] wird die 10 abgelegt
//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