X86汇编语言从实模式到保护模式(Linux环境搭建)

前言

​  在学完了计算机组成原理和王爽的汇编语言后,虽然操作系统的理论知识能看懂了,但做起xv6和ucore实验还是有一定难度,所以还是得补一补x86汇编的知识。

环境搭建:

​  因为书中的工具包和环境都是win系统,而本人使用的是Mac系统,所以最终决定采用vmware虚拟机+Ubuntu的形式

软件下载

nasm编译器:sudo apt-get install nasm

virtualBox:Oracle VM VirtualBox

bochs:Bochs x86 PC emulator - Browse /bochs/2.6.9 at SourceForge.nethttps://www.virtualbox.org/)

sudo apt-get install bochs

建议使用包的方式手动安装bochs

下载bochs后注意安装Bochs的环境

sudo apt-get install build-essential xorg-dev libgtk2.0-dev

软件配置
virtualBox

作用:用于生成.vhd虚拟硬盘文件

打开virtualBox - File - Virtual Media Manager - create - VHD格式 -Fixed size - 选择保存的目录和大小

bochs

  使用bochs虚拟机的原因:因为大部分代码调试工具都要运行在操作系统上,而实验代码都是跑在虚拟裸机上,因此采用自带调试功能的bochs虚拟机

bochs下载安装好后的目录

X86汇编语言从实模式到保护模式(Linux环境搭建)_第1张图片

首先配置bochsrc

X86汇编语言从实模式到保护模式(Linux环境搭建)_第2张图片

编译nasm汇编代码,使用书中c_05的代码

PS:在win中是以.asm为后缀,而在Linux中是以.s为后缀

nasm -f bin c05_mbr.s -o c05_mbr.bin

使用Linux的dd命令将该可执行文件写入到vhd磁盘当中

sy@sy-virtual-machine:~/MyOs/X86/codes/c05$ dd if=c05_mbr.bin of=~/x86work.vhd bs=512 count=1 conv=notrunc
测试

进入到bochs的目录下执行

sy@sy-virtual-machine:~/bochs-2.6.9$ bochs -f bochsrc.txt

X86汇编语言从实模式到保护模式(Linux环境搭建)_第3张图片

输入6后回车或者默认直接回车进入到调试模式

X86汇编语言从实模式到保护模式(Linux环境搭建)_第4张图片

再输入c回车直至代码结束

X86汇编语言从实模式到保护模式(Linux环境搭建)_第5张图片

显示Label offset:00302D 即为成功!!!

你可能感兴趣的:(汇编语言,linux)