ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机

2020-02-03 14:39:55王振洲
  • 0xee,             /* out %al, (%dx) */      0xf4,             /* hlt */     
  •    };    

    怎么得到这些机器码呢?

    
        
  • shuyin.wsy@10-101-175-19:~$ cat simple_os.asm          mov $0x3f8, %dx     
  •     add %bl, %al          add $'0', %al     
  •     out %al, (%dx)          mov $'n', %al     
  •     out %al, (%dx)          hlt     
  • shuyin.wsy@10-101-175-19:~$ as -o simple_os.o simple_os.asm      shuyin.wsy@10-101-175-19:~$ objdump -d  simple_os.o     
  • simple_os.o:     file format elf64-x86-64      Disassembly of section .text:     
  • 0000000000000000 <.text>:         0:   66 ba f8 03             mov    $0x3f8,%dx     
  •    4:   00 d8                   add    %bl,%al         6:   04 30                   add    $0x30,%al     
  •    8:   ee                      out    %al,(%dx)         9:   b0 0a                   mov    $0xa,%al     
  •    b:   ee                      out    %al,(%dx)         c:   f4                      hlt