.
This commit is contained in:
+142
@@ -0,0 +1,142 @@
|
||||
@0
|
||||
D=A
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push CONSTANT
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
M=M+D
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
@LCL
|
||||
A=M
|
||||
M=D
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
M=M-D
|
||||
//pop LOCAL
|
||||
(Sys.init$LOOP_START)
|
||||
//LABEL
|
||||
@0
|
||||
D=A
|
||||
@ARG
|
||||
A=M+D
|
||||
D=M
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push ARGUMENT
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
A=M+D
|
||||
D=M
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push LOCAL
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
A=A-1
|
||||
M=M+D
|
||||
//ADD
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
M=M+D
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
@LCL
|
||||
A=M
|
||||
M=D
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
M=M-D
|
||||
//pop LOCAL
|
||||
@0
|
||||
D=A
|
||||
@ARG
|
||||
A=M+D
|
||||
D=M
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push ARGUMENT
|
||||
@1
|
||||
D=A
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push CONSTANT
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
A=A-1
|
||||
M=M-D
|
||||
//SUB
|
||||
@0
|
||||
D=A
|
||||
@ARG
|
||||
M=M+D
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
@ARG
|
||||
A=M
|
||||
M=D
|
||||
@0
|
||||
D=A
|
||||
@ARG
|
||||
M=M-D
|
||||
//pop ARG
|
||||
@0
|
||||
D=A
|
||||
@ARG
|
||||
A=M+D
|
||||
D=M
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push ARGUMENT
|
||||
@SP
|
||||
M=M-1
|
||||
A=M
|
||||
D=M
|
||||
@Sys.init$LOOP_START
|
||||
D;JNE
|
||||
//IFGOTO
|
||||
@0
|
||||
D=A
|
||||
@LCL
|
||||
A=M+D
|
||||
D=M
|
||||
@SP
|
||||
A=M
|
||||
M=D
|
||||
@SP
|
||||
M=M+1
|
||||
//push LOCAL
|
||||
Reference in New Issue
Block a user