(SimpleFunction.test) @0 D=A @SP A=M M=D @SP M=M+1 //DEFINEFUNC @0 D=A @SP A=M M=D @SP M=M+1 //DEFINEFUNC @0 D=A @LCL A=M+D D=M @SP A=M M=D @SP M=M+1 //push LOCAL @1 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 @SP A=M A=A-1 M=!M //NOT @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 A=A-1 M=M+D //ADD @1 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 A=A-1 M=M-D //SUB @LCL D=M @R13 M=D @5 D=A @R13 D=M-D A=D D=M @R14 M=D @SP A=M-1 D=M @ARG A=M M=D @ARG D=M+1 @SP M=D @R13 M=M-1 A=M D=M @THAT M=D @R13 M=M-1 A=M D=M @THIS M=D @R13 M=M-1 A=M D=M @ARG M=D @R13 M=M-1 A=M D=M @LCL M=D @R14 A=M 0;JMP //RETURN