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

本文介绍了在Mac系统上学习x86汇编语言的过程,包括如何搭建环境,使用nasm编译器,创建虚拟硬盘,以及通过bochs虚拟机进行代码调试。作者详细阐述了从下载必要的软件如nasm、virtualBox、bochs,到配置bochsrc文件,最后成功运行并测试汇编代码的过程。
摘要由CSDN通过智能技术生成
前言

​  在学完了计算机组成原理和王爽的汇编语言后,虽然操作系统的理论知识能看懂了,但做起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下载安装好后的目录

在这里插入图片描述

首先配置bochsrc

在这里插入图片描述

编译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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值