热点:

    GCC与Binutils编程指南

      [   原创  ]   作者:
    收藏文章 暂无评论

    在DOS测试环境下,所有生成的可执行文件均采用纯二进制(Plain Binary)格式,确保系统启动后能直接运行。而GCC与GNU汇编器(GAS)移植至Linux平台后,则主要用于开发32位保护模式下的程序代码,充分发挥现代x86架构的内存管理与特权级控制能力。

    1、 首先在Ubuntu系统中通过命令sudo apt-get install qemu安装QEMU虚拟机软件;随后需从QEMU官网下载FreeDOS软盘镜像文件。完成安装与镜像获取后,即可利用QEMU加载该镜像启动并运行FreeDOS操作系统,整个过程无需额外复杂配置,操作简洁高效。

    2、 运行命令 `qemu-system-i386 -fda freedos.img` 即可启动QEMU虚拟机并加载FreeDOS系统,随后可执行图中所示的各项操作。

    3、 编写一个16位实模式汇编程序,命名为test_code16_startup.s,用于在DOS环境下输出Hello World。该程序需正确设置段寄存器,调用C语言编写的main函数,并在执行完毕后通过DOS中断安全返回操作系统,确保兼容标准DOS环境。

    4、 随后将其转换为DOS兼容的纯二进制格式(Plain Binary),写入FreeDOS.img镜像文件,再通过QEMU虚拟机启动FreeDOS系统,最终在16位实模式下运行该程序。

    5、 接下来,除汇编器(as)和链接器(ld)外,GNU Binutils 中的其他工具也可用于程序分析。例如,可借助 `readelf -S` 命令查看 test.elf 文件所含全部段信息;同时,使用 `objdump -s` 命令可将该文件中的数据以十六进制格式完整输出,便于深入观察节区内容与原始字节布局。

    6、 可使用`objdump -d`或`objdump -D`对程序进行反汇编,以确认是否成功生成16位代码;若待反汇编的是纯二进制文件,则必须显式添加`-b binary`参数,否则工具无法正确识别文件格式。

    soft.zol.com.cn true https://soft.zol.com.cn/1255/12559954.html report 1365 在DOS测试环境下,所有生成的可执行文件均采用纯二进制(Plain Binary)格式,确保系统启动后能直接运行。而GCC与GNU汇编器(GAS)移植至Linux平台后,则主要用于开发32位保护模式下的程序代码,充分发挥现代x86架构的内存管理与特权级控制能力。 1、 首先在Ubuntu系统中...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    GNU/Linux高级网络应用服务指南

    更新时间:2020年02月11日

    用户评分:0 | 0人点评

    软件类型:免费软件

    软件语言:简体中文

    GNU/Linux高级网络应用服务指南
    • 更新时间:2020年02月11日
    • 软件大小:6.8MB
    • 软件分类:编程工具
    • 语言种类:简体中文
    • 软件评级:有 0 人点评