当前位置: 首页 > news >正文

penEuler操作系统结合豆包测试github仓库8086-Emulator项目

penEuler操作系统结合豆包测试github仓库8086-Emulator项目

8086-Emulator项目:https://github.com/YJDoc2/8086-Emulator

申请空间

首先在华为开发者空间申请一个免费云主机(penEuler操作系统):https://huaweicloud.csdn.net/

豆包提问如何使用

打开豆包:https://www.doubao.com/
在这里插入图片描述
选择技能->AI编程->Github仓库,输入:https://github.com/YJDoc2/8086-Emulator,提问词:如何使用这个仓库?,得以下信息。
在这里插入图片描述

这个仓库是一个 Intel 8086 模拟器/虚拟机项目,下面从安装、作为依赖使用、命令行使用等方面介绍其使用方法:

安装

由于该项目未发布到 crates.io,可以使用以下命令进行安装:

cargo install --git https://github.com/YJDoc2/8086-Emulator.git

安装完成后,名为 emulator_8086 的程序会被安装到 PATH 环境变量包含的目录中,你可以直接运行该程序。

命令行使用

USAGE:
emulator_8086 [FLAGS] [file_path]FLAGS:
-h, --help Prints help information
-i, --interpreted To run in interpreted mode
-V, --version Prints version informationARGS:
<file_path> Input assembly file path
  • file_path:这是一个必需的参数,指定要运行的汇编文件的路径。
  • 解释模式(-i 标志):启用解释模式后,在每条指令执行前会出现一个用户提示,允许你打印标志位、寄存器和内存信息,可用于调试。
  • 注意:如果你不想在每个命令后都进行检查,而只是在特定命令前后检查,可以使用 int 3,具体语法在 syntax.md 中说明。
用户提示支持的命令
  • n/next:继续执行指令。
  • q/quit:退出程序。
  • 打印语句:允许打印标志位、寄存器和内存位置,语法与汇编文件中的打印语句相同,具体在 syntax.md 中说明。

另一种触发用户提示的方法是设置陷阱标志(trap flag),在这种情况下,只要陷阱标志被设置,每条指令执行前都会显示提示。

示例代码

仓库的 examples 目录下包含了多个 8086 汇编程序的示例,你可以使用这些示例来测试和学习。例如,你可以使用以下命令运行一个示例文件:

emulator_8086 examples/addition.s

根据提示需要安装cargo,进行下一步搜索

豆包提问Rust 语言的包管理工具安装

豆包继续提问,提示词:linux Rust 安装 cargo,得以下信息。
在 Linux 系统中,Rust 语言的包管理工具 cargo 通常会随着 Rust 一起安装。以下是详细的安装步骤:

1. 使用 rustup 安装 Rust 和 cargo

rustup 是 Rust 的官方版本管理工具,借助它能轻松安装 Rust 和 cargo

安装 rustup

在终端里输入以下命令来下载并运行 rustup 的安装脚本:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

运行上述命令之后,安装脚本会给出一系列提示,你可以选择默认配置,直接按回车键即可。脚本会自动下载并安装 Rust 开发环境,其中就包含 cargo

配置环境变量

安装完成后,你需要重新加载环境变量,或者重新打开终端,这样新的环境变量才能生效。你也可以手动运行以下命令来加载环境变量:

source $HOME/.cargo/env

2. 验证安装

安装完成之后,你可以通过以下命令来验证 cargo 是否安装成功:

cargo --version

若安装成功,终端会显示 cargo 的版本信息。

其他注意事项

  • 网络问题:由于安装过程中需要从网络下载文件,要是你遇到网络问题,可以考虑使用代理或者选择合适的镜像源。

按照上述步骤操作,你就能在 Linux 系统上成功安装 cargo 了。

在云主机下操作(penEuler操作系统)

penEuler操作系统的Linux命令:https://blog.csdn.net/weixin_40220242/article/details/144388125?spm=1011.2415.3001.5331

安装过程

打开终端模拟器分别输入以下命令。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

默认安装按回车键就行

source $HOME/.cargo/env
cargo --version
cargo install --git https://github.com/YJDoc2/8086-Emulator.git
emulator_8086 -h

出现以下提示就是安装成功了

USAGE:
emulator_8086 [FLAGS] [file_path]FLAGS:
-h, --help Prints help information
-i, --interpreted To run in interpreted mode
-V, --version Prints version informationARGS:
<file_path> Input assembly file path

测试过程

打开该目录home/developer/.cargo/git/checkouts/8086-emulator-f903af806e004ebe/dc9f831/examples/
把该目录下的测试文件拷贝到目录home/developer/下
执行命令看测试结果

emulator_8086 hello_world.s

在这里插入图片描述

emulator_8086 addition.s

在这里插入图片描述

emulator_8086 data_transfer.s
emulator_8086 factorial.s
emulator_8086 interrupt.s

相关文章:

  • 数据结构、刷leetcode返航版--二分5/7
  • C++ 的未来趋势与挑战:探索新边界
  • 【hot100】bug指南记录1
  • 在 Ubuntu 中配置 Samba 实现「特定用户可写,其他用户只读」的共享目录
  • Spring AI(1)—— 基本使用
  • MVCC机制
  • base64与图片的转换和预览
  • Selenium Web自动化测试学习笔记(二)--八大元素定位
  • 追踪大型语言模型的思想(下)(来自针对Claude的分析)
  • Yii2.0 模型规则(rules)详解
  • ntdll!CsrServerApiRoutine函数--csrsrv!CsrCallServerFromServer什么时候被调用?
  • 2025.05.07-华为机考第二题200分
  • 动态规划之花园
  • 高并发内存池(一):项目简介+定长内存池的实现
  • C25-数组应用及练习
  • iTwin 数据报表(只是简单的原型不代表实现)
  • 解决 TimeoutError: [WinError 10060] 在 FramePack项目中连接 Hugging Face 超时的问题
  • ​​阿里云服务器:数字世界的“基因剪刀”与未来实验室​
  • 联想Horizon 2系列电脑 参数
  • C++面向对象 继承
  • 非洲雕刻艺术有着怎样的“变形之美”
  • 新华时评:中国维护国际经贸秩序的立场坚定不移
  • 这座古村,藏着多少赣韵风华
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 面对非专业人士,科学家该如何提供建议
  • 李在明正式登记参选下届韩国总统