一直有个小教程没有写给大家,那就是使用GDB调试和-monitor调试,借这次代码整理,跟大家说一下怎么用。这里我使用到了objdump工具,gdb调试工具,这些工具都可以直接apt-get获得。当然我还用到了qemu的自带调试功能-monitor
这一节就是把system文件夹下lds文件的. = 0x8200;删掉,这是个历史遗留问题哈哈,刚开始写的时候加上了这行代码,导致了后来写程序众多不便,于是决定删掉他,这一节不感兴趣的可以直接跳过了。
一、修改system文件夹
1、打开lds文件,删掉 . = 0x8200; 这个历史遗留问题
2、打开system.s 进行如下修改,我们看看程序还能不能正常运行。
########################################start 32
############set GDT
movl gdt_base+0x8200, %eax################修改
############0# empty GDT
movl $0x00000000, 0(%eax)
movl $0x00000000, 4(%eax)
############1# code GDT
movl $0x8200ffff, 8(%eax)
movl $0x00409a00, 12(%eax)
############2# data GDT
movl $0x0000ffff, 16(%eax)
movl