8086:qemu执行汇编

server/2024/9/23 5:59:28/

正文

环境:macOS M1。

QEMU(Quick EMUlator)是一个开源的虚拟机监视器,可以模拟多种硬件平台,包括处理器架构、设备和操作系统。QEMU具有以下主要功能和用途:

  1. 硬件模拟器QEMU可以模拟多种处理器架构,如x86、ARM、MIPS等,以及各种设备,如网络适配器、显卡、存储设备等。这使得开发人员可以在虚拟环境中测试和调试他们的软件,而无需实际硬件设备。

  2. 虚拟机管理QEMU可以用作虚拟机管理器,允许用户创建、启动、停止和管理虚拟机实例。用户可以在QEMU中运行多个虚拟机,每个虚拟机可以运行不同的操作系统和应用程序。

  3. 嵌入式开发QEMU可以用于嵌入式系统开发,开发人员可以在QEMU中模拟嵌入式处理器和设备,以便开发和调试嵌入式软件。

  4. 交叉编译QEMU提供了交叉编译的功能,可以在一个平台上编译运行在另一个平台上的程序。这对于开发跨平台应用程序和移植软件非常有用。

  5. 快照和恢复QEMU支持虚拟机快照功能,用户可以创建虚拟机快照,以便在需要时恢复到之前的状态。

QEMU是一个功能强大的虚拟化工具,可以用于多种用途,包括软件开发、测试、嵌入式系统开发等。它为开发人员提供了一个灵活的虚拟化平台,可以更高效地进行软件开发和调试。

本次实验用的是 8086 汇编,然后用 qemu-system-i386 硬件跑这个汇编程序:

org 0x7c00start:mov ah,15int 10hmov ah,0int 10hmov cx,9mov bx,1
_next:mov dx,bxadd dx,48mov ax,dxmov ah,0ehint 10hinc bxpush cxmov ah,86hmov cx,3hmov dx,0hint 15hpop cxloop _nextjmp starttimes 510 - ($ -$$) db 0
dw 0xaa55

写好了以后,进行变编译:

nasm print.asm -o demo.img

执行:

qemu-system-i386 -drive format=raw,file=demo.img -nographic

我不用显示界面,直接输出打印结果,加了-nographic 参数。这样程序就可以跑起来了:

1234

跑这个程序指定的是QEMU虚拟机的架构,这里是i386,即Intel x86架构的32位处理器。当使用qemu-system-i386命令并提供一个二进制文件作为参数时,QEMU会尝试以i386架构的处理器来执行这个二进制文件。虽然这个二进制文件不是一个完整的操作系统或磁盘镜像文件,但QEMU仍然可以尝试执行它,并显示输出结果。

在这种情况下,如果将一个包含汇编程序编译后的机器码的二进制文件作为参数提供给qemu-system-i386命令,QEMU会尝试执行这个二进制文件,并显示执行结果。这种情况下,QEMU会将这个二进制文件当做一个可执行程序来执行,而不是一个完整的镜像文件。


http://www.ppmy.cn/server/19282.html

相关文章

UE4_动画基础_FootIK

角色由于胶囊体的阻挡,双脚与地面平行,不会与斜坡、台阶等贴合,有一条腿会处于悬空状态,通过双骨骼IK节点使一只脚太高,让后胶囊体下降,修正双脚的角度。这就是逆向运动IK的方法。 一、新建第三人称模板游戏…

短视频矩阵营销系统 poihuoqu 任意文件读取漏洞复现

0x01 产品简介 短视频矩阵营销系统是由北京华益云数据科技有限公司开发的一款产品,这家公司专注于抖音短视频矩阵营销系统的研发,致力于为企业提供全方位的短视频营销解决方案。华益云抖销短视频矩阵系统可以帮助企业快速搭建多个短视频账号,实现内容的批量制作和发布,提高…

linux离线安装mysql

一、下载mysql 地址:MySQL 这里选择64位还是32位要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器,在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

Matlab 对nc文件进行处理

1.介绍nc文件 NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”;netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。 •从数学上来说,netcdf存储的数据就是…

SL3038 耐压150V恒压芯片 60V降24V 72V降12V降压IC

SL3038 是一款恒压芯片,其耐压值为 150V。这意味着它可以在高达 150V 的电压下工作而不会损坏。现在,让我们来讨论您提到的两个降压应用:从 60V 降到 24V 和从 72V 降到 12V。 1. 60V 降到 24V: 输入电压:60V 输出电…

聊聊实际工作中设计模式的使用

一直想在CSDN上写一篇关于软件设计模式的文章,草稿打了好久,但很长时间都没有想好该如何写,主要有几点考虑: 1、市面上同类的介绍实在太多了。正所谓第一个能够把美女比喻成鲜花的人是天才,第二个还这么说的是庸才&…

广州增城牛仔裤制衣厂房的降温

针对广州增城牛仔裤制衣厂房的降温问题,以下是一些建议的降温方案: 通风换气:改善厂房的通风状况是降温的首要步骤。可以安装大型工业风扇或排风扇,增加空气流通,减少热空气滞留。同时,确保厂房的门窗能够…

websocket爬虫

人群看板需求分析 先找到策略中心具体的数据。对应数据库中的数据 看看接口是否需要被逆向 点开消费者细分,可以找到人群包(人群名称) 点击查看透视 label字段分类: 在这里插入图片描述 预测年龄:tagTitle 苹果id&#x…