掌握裸机控制与IBMPC引导程序设计:王凯祺实验报告

需积分: 0 0 下载量 82 浏览量 更新于2024-08-05 收藏 404KB PDF 举报
实验一:接管裸机的控制权 - 数据科学与计算机学院计算机科学与技术专业2016级学生王凯祺(学号16337233)于2018年3月11日提交的实验报告。本实验旨在通过一系列步骤深入了解和实践IT基础技能。 实验目的: - 熟悉并掌握NASM汇编语言的语法,这是编写低级程序的关键工具,用于生成机器码,即可以直接被计算机硬件理解和执行的指令集。 - 掌握汇编器的使用方法,学会如何将高级语言(如C/C++)编写的程序转化为机器码。 - 学习如何创建空白软盘镜像,理解二进制文件操作,这在早期计算机系统中是存储和分发程序的常见手段。 - 学习WinHex软件的使用,这是一种强大的磁盘编辑工具,对于修改和分析磁盘数据非常实用。 - 实践虚拟机的设置和管理,通过在虚拟环境中运行程序,了解操作系统与硬件的交互,以及隔离和安全性的重要性。 实验要求: - 设计并实现一个简单的游戏程序,使用汇编语言编写,模拟字符'A'在屏幕上做45度角的反射运动。这个程序要求具备基本的图形处理逻辑和循环控制。 - 要求在程序中加入个人信息的显示,比如学号和姓名,展示编程时的人文元素。 - 将编写的程序机器码写入软盘的首扇区,使得用户可以通过这个软盘启动计算机并看到程序运行。 实验步骤: 1. 使用NASM汇编器进行程序编译,通过命令行输入特定指令来生成机器码,注意错误处理和警告信息。 2. 创建一个空白的软盘镜像,通过C++代码以flp格式写入全零的数据,这一步展示了底层数据操作的实践。 3. 使用WinHex软件,将编译好的COM文件(通常包含可执行的机器码)插入软盘镜像的特定位置,并更新必要的引导区信息(如0x01FE和0x1FF)。 4. 配置虚拟机环境,选择Ubuntu 16.10操作系统和VirtualBox 5.2.4r119785作为开发和测试平台,确保虚拟机的兼容性和稳定性。 通过这个实验,王凯祺不仅学习了汇编语言和磁盘管理的基本知识,还锻炼了程序设计和调试能力,以及对操作系统和虚拟化技术的理解。这些技能对于任何计算机科学专业的学生来说都是至关重要的,因为它们奠定了底层系统操作的基础。