Init nand2tetris
This commit is contained in:
20
projects/04/tests/4.7.1.asm
Normal file
20
projects/04/tests/4.7.1.asm
Normal file
@@ -0,0 +1,20 @@
|
||||
@R0
|
||||
D=M
|
||||
|
||||
//WHAT_DOES_THIS_DO --> NOT_EQUAL_TO_1
|
||||
|
||||
@WHAT_DOES_THIS_DO
|
||||
D-1;JNE
|
||||
|
||||
@R1
|
||||
M=0
|
||||
@END
|
||||
0;JMP
|
||||
|
||||
(WHAT_DOES_THIS_DO)
|
||||
@R1
|
||||
M=1
|
||||
|
||||
(END)
|
||||
@END
|
||||
0;JMP
|
||||
19
projects/04/tests/signum.asm
Normal file
19
projects/04/tests/signum.asm
Normal file
@@ -0,0 +1,19 @@
|
||||
// wenn R0>0 springe zu 8 und setze R1=1
|
||||
// sonst R1=0
|
||||
@R0 // an 0 steht 42
|
||||
D=M // D=42 also RAM[0] (M)
|
||||
|
||||
@8 // Adresse 8
|
||||
D;JGT // wenn D > 0 dann gehe zu 8 (D = R0)
|
||||
|
||||
@R1
|
||||
M=0 // RAM[1] = 0
|
||||
|
||||
@10
|
||||
0;JMP // Endeschleife
|
||||
|
||||
@R1
|
||||
M=1 // R1 wird 1
|
||||
|
||||
@10
|
||||
0;JMP // Endeschleife
|
||||
23
projects/04/tests/signum_with_label.asm
Normal file
23
projects/04/tests/signum_with_label.asm
Normal file
@@ -0,0 +1,23 @@
|
||||
// wenn R0>0 springe zu 8 und setze R1=1
|
||||
// sonst R1=0
|
||||
// @LABEL übersetzt zu @n, n ist die Anweisungnummer
|
||||
// gefolgt von der (LABEL) Deklaration
|
||||
@R0 // an 0 steht 42
|
||||
D=M // D=42 also RAM[0] (M)
|
||||
|
||||
@POSITIVE
|
||||
D;JGT // wenn D > 0 dann gehe zu 8 (D = R0)
|
||||
|
||||
@R1
|
||||
M=0 // RAM[1] = 0
|
||||
|
||||
@END
|
||||
0;JMP // Endeschleife
|
||||
|
||||
(POSITIVE)
|
||||
@R1
|
||||
M=1 // R1 wird 1
|
||||
|
||||
(END)
|
||||
@10
|
||||
0;JMP // Endeschleife
|
||||
Reference in New Issue
Block a user