操作系统实验三 - 混编实现多种功能 操作系统实验三是操作系统课程中的一个实验项目,该实验的目的是了解汇编的编写,熟悉 Linux 环境下对磁盘的读写,学会 C 语言和汇编语言的混合编写。该实验共分为五个部分:clr_screen 清除屏幕功能、key_detect 按键检测功能、read_floppy 读软盘功能、print_str_uppercase 字符串大写输出函数和 choose 最大最小值判断函数。 clr_screen 函数的功能是清除屏幕,实现方式是使用汇编语言编写的内嵌汇编代码,通过参数指定是否清除屏幕。key_detect 函数的功能是检测按键是否按下,实现方式是使用汇编语言编写的内嵌汇编代码,通过参数指定是否回显和阻塞。read_floppy 函数的功能是读取软盘,实现方式是使用汇编语言编写的内嵌汇编代码,通过参数指定起始扇区和扇区数目。 print_str_uppercase 函数的功能是将字符串转换为大写输出,实现方式是使用 C 语言编写的函数,通过参数指定字符串是否为空,如果为空则输出预定义字符串“success”的大写形式,否则输出指定字符串的大写形式。choose 函数的功能是判断四个整数中的最大最小值,实现方式是使用 C 语言编写的函数,通过参数指定四个整数,输出最大最小值。 实验过程中,首先执行 entry.o,加载 Boot 程序,执行 showInfo 函数,输出“Loading Boot...”和“Loading Kernel...”,然后执行 print_str 函数,输出“Success.”。接着执行 print_str_uppercase 函数,输出“SUCCESS”,然后执行 choose 函数,输出最大最小值。最后执行 main.o,清屏,检测按键,读取软盘。 实验总结中,作者总结了实验的整个过程,包括清屏功能、按键检测功能、读软盘功能和 C 语言函数的实现。作者也提到了实验中遇到的问题和解决方法,例如理解回显和阻塞的关系,弄清楚函数的参数类型等。 该实验的知识点包括: 1. 汇编语言编写和 C 语言混合编写的方法。 2. Linux 环境下对磁盘的读写操作。 3. 汇编语言和 C 语言函数的实现。 4. 参数传递和函数调用机制。 5. 字符串处理和大写输出函数的实现。 6. 数值比较和判断函数的实现。 该实验的软件工具和作用包括: 1. Ubuntu 系统和 VMware/Virtualbox 虚拟机。 2. GCC 编译器和 Nasm 汇编编译器。 3. dd 镜像生成工具和 hexdump16 进制查看工具。 4. objdump 反汇编工具和 Bochs 虚拟机。 该实验的参考文献包括《INTEL 汇编语言程序设计》和《x86 汇编语言-从实模式到保护模式》。
剩余8页未读,继续阅读
- 粉丝: 5
- 资源: 20
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助