call printf@plt // PLT; dynamic linked call pmm_alloc // locally linked syscall = “jal”: // sysret: 逆操作 mov %rip, %rcx mov %rflags, %r11 set SS = kernel, SS = kernel, CPL = 0 jmp IA32_LSTAR // System Target Address Register
while (true) { inst = fetch(); decode(&decode_state, inst); exec(&decode_state); }
inst = fetch();