from .utils import * VMINIT_ASM = """@256 D=A @SP M=D @{prog}$ret_init D=A @SP A=M M=D @LCL D=M @SP AM=M+1 M=D @ARG D=M @SP AM=M+1 M=D @THIS D=M @SP AM=M+1 M=D @THAT D=M @SP AM=M+1 M=D @SP MD=M+1 @LCL M=D @5 D=D-A @ARG M=D @Sys.init 0;JMP ({prog}$ret_init) """ def vminit(prog): return VMINIT_ASM.format(prog=prog)