Virtual Machine Translation 是怎么操作的?

示例
function Silly.func 0

push constant 5

push static 6

add

转化如下
function Silly.func 0
(Silly.func)

push constant 5
@5
D=A
@SP
AM=M+1
A=A-1
M=D

push static 6
@Silly.6
D=M
@SP
AM=M+1
A=A-1
M=D

add
@SP
AM=M-1
D=M
A=A-1
M=D+M

请问有其他的例子吗? 或者相关材料说明是如何转换的