示例#1
0
def compile(str):
    global depth, stack_address
    x86.ret()
    epilog()
    tokens = str.split()
    tokens.reverse()
    for token in tokens:
        try:
            op = int(token)
            depth = depth - 1
        except ValueError:
            op = token
            depth = depth + 1
        emit(op)
    x86.mov_gv_iv(esi, stack_address)
    prolog()
示例#2
0
文件: calc.py 项目: darius/miasma
def compile(str):
    global depth, stack_address
    x86.ret()
    epilog()
    tokens = str.split()
    tokens.reverse()
    for token in tokens:
        try:
            op = int(token)
            depth = depth - 1
        except ValueError:
            op = token
            depth = depth + 1
        emit(op)
    x86.mov_gv_iv(esi, stack_address)
    prolog()
示例#3
0
def emit_add42():
    x86.ret()
    epilog()
    x86.add_gv_ev(eax, atv(ebp, 8))
    x86.mov_gv_iv(eax, 42)
    prolog()