sample.lua

    1. local a = 8
    2. c = 3

    输入命令
    luac -l -l sample.lua

    main <sample.lua:0,0> (4 instructions, 16 bytes at 006D5948)
    0+ params, 2 slots, 0 upvalues, 1 local, 3 constants, 0 functions
            1       [1]     LOADK           0 -1    ; 8
            2       [2]     LOADK           1 -3    ; 3
            3       [2]     SETGLOBAL       1 -2    ; c
            4       [2]     RETURN          0 1
    constants (3) for 006D5948:
            1       8
            2       "c"
            3       3
    locals (1) for 006D5948:
            0       a       2       4
    upvalues (0) for 006D5948:
    

    查了很久,没有找到相关资料,自有从源码入手了,luac.c源码入手了,下面把结果说出来

    1 [1] LOADK 0 -1 ; 8

    1表示第一条指令
    [1]表示对应源文件行号
    LOADK 0 -1 表示操作码和操作数 ,把常量表中第一个常量赋值给寄存器0
    分号后面的表示注释,通常为为字符串或者数字

    constants (3) for 006D5948: 表示3个常量

    1 表示第一个常量序号,从1开始 8 代表值

    locals (1) for 006D5948: 表示1个局部变量

    0 局部变量的序号 从零开始, a局部变量名 2 4 表示作用域 从第二条指令到第四条指令

    更多lua指令可参考
    http://blog.csdn.net/yuanlin2008/article/details/8423951