====== AVM opcodes ====== - EXEC(0x0010), // exec statement // - EXIT(0x0020), // exit statement // - IN(0x0030), // in on port with value, blocking // - IN_SF(0x0031), // in on port with value, success and failure alternatives // - IN_F(0x0032), // in on port with value, failure only branch // - IN_S(0x0033), // in on port with value, success only branch // - IN_NV(0x0034), // in on port, signal, blocking // - IN_SF_NV(0x0035), // in on port, signal, success and failure alternatives // - IN_F_NV(0x0036), // in on port, signal, failure only branch // - IN_S_NV(0x0037), // in on port, signal, success only branch // - JUMP(0x0040), // jump to label // - LOOP_INF(0x0050), // infinite loop // - LOOP_COND(0x0051), // loop with conditional statement // - NULL(0x0060), // null instruction // - OUT(0x0070), // out on port with value, blocking // - OUT_SF(0x0071), // out on port with value, success and failure alternatives // - OUT_F(0x0072), // out on port with value, failure only branch // - OUT_S(0x0073), // out on port with value, success only branch // - OUT_NV(0x0074), // out on port, signal, blocking // - OUT_SF_NV(0x0075), // out on port, signal, success and failure alternatives // - OUT_F_NV(0x0076), // out on port, signal, failure only branch // - OUT_S_NV(0x0077), // out on port, signal, success only branch // - PROC(0x0080), // proc without conditional statement // - PROC_G(0x0081), // proc with conditional statement // - SELECT(0x0090), // select instruction // - START(0x00a0); // start instruction // - ADD(0x1000), // add operands // - SUB(0x1001), // subtract operands // - MUL(0x1002), // multiply operands // - DIV(0x1003), // divide operands // - HEAD(0x1004) // get head of a list // - TAIL(0x1005) // get tail of a list // - INS(0x1006), // insert element in list at the beginning // - APP(0x1007), // append element to list // - AND(0x1008), // logical and // - OR(0x1009), // logical or // - NOT(0x100a); // logical not // ====== Bytecode format ====== ===== Header and complete code ===== +------------------------+ + magic "AVM " + +------------------------+ + version nr + +------------------------+ + funcion block offset + +------------------------+ + agent count + +------------------------+ + agent table offset + +------------------------+ + crypto block offset + +------------------------+ +------------------------+ + function block + +------------------------+ +------------------------+ + agent table + +------------------------+ +------------------------+ + crypto block + +------------------------+