问题标签 [x86-emulation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
83 浏览

c++ - 假设任何 x86 编译的应用程序总是在 x64 版本下运行是否安全?

假设任何x86 编译的应用程序将始终在该应用程序编译的同一操作系统的 x64 版本下运行是否安全?

据我所知,对于Windows 操作系统,答案是“是”Windows x86 仿真层是为相同目的而构建的。但是,我只想从这里的专家那里再次确认这一点。

UnixLinux呢?有什么注意事项吗?

0 投票
3 回答
1378 浏览

java - Java中的x86 80位浮点类型

我想模拟 x86 扩展精度类型并执行算术运算并强制转换为 Java 中的其他类型。

我可以尝试使用 BigDecimal 来实现它,但涵盖围绕 NaN、无穷大和强制转换的所有特殊情况可能是一项乏味的任务。我知道一些库提供了比双精度更高的其他浮点类型,但我希望具有与 x86 80 位浮点相同的精度。

是否有提供这种浮点类型的 Java 库?如果没有,您能否提供其他提示,以比提出自定义 BigDecimal 解决方案更轻松地实现这种数据类型?

0 投票
2 回答
2462 浏览

assembly - 在 ARM linux 上运行 nasm 程序

我正在尝试用 NASM 自学汇编编程。但是我只有一个带有 ARM 处理器的 Chromebook。我有 xubuntu 和 crunton 在上面运行。但是,如何设置 x86 仿真环境来让自己入门?我还希望能够使用洞察调试器。

0 投票
1 回答
3631 浏览

assembly - 组装,添加功能

我的汇编代码有问题。我想在交换数字后添加用户输入的两个数字,但是当我添加这些数字时,添加功能无法正常工作。谢谢

这是代码

0 投票
1 回答
404 浏览

assembly - 汇编,将字符AF改成十进制数

我的汇编代码有问题。我想将 AF 之间的用户输入字符转换为它们各自的十进制数字。

样本输出:

从 AF 输入一个字符:B 十进制为 11。

我无法处理转换。请帮助我。谢谢这是代码

0 投票
0 回答
73 浏览

linux - Why there is a segmentaion fault in a simple32 bit linux assembly program?

First of all I want to start off by saying that I've read this, this and this question. Yet none of the answers provided on these questions were sufficient/had detailed enough information in order to answer my question. Moreover, they are all 4 - 6 years old which makes them outdated. With that being said, I opened a new question here.

I am trying to make a simple program that displays 1 - 4 matrices in Linux 32-bit assembly with NASM syntax, I've made a procedure that should print the simple 1x1 matrix.

Yet when I compile via:

And link using:

I get no errors/warnings whatsoever, but when I run the program using ./matrix I get segmentation fault (core dumped) error. Now I must note that this question provided a rather well definition for what is a segmentation fault and what it's usually caused by, it was a bit unclear though. What I seek is:

  1. A proper explanation/definition of a segmentation in terms of memory and assembly.
  2. What have caused the fault in this particular case (According to the first and second links, I suspect it has something to do with the jumps or calling procedures and the stack. However I've been sitting here for hours trying to figure out what caused it with no success).
  3. How to avoid such a fault and recommended future practices.
0 投票
0 回答
642 浏览

emulation - 为什么 x86 到 x86 仿真这么慢?

我在 QEMU 实例中运行 Debian,一切都运行得非常缓慢。我理解为什么模拟不同的指令集很慢(您必须将每条指令转换为主机架构上的可执行文件),但是当主机和来宾都在同一架构上运行时,为什么仿真器会这么慢(x86,在这种情况下)? 指令集完全一样,所以肯定没有什么需要翻译的,对吧?那么具体是什么操作导致来宾操作系统运行如此缓慢呢?我在这里错过了什么或不理解什么吗?

0 投票
1 回答
128 浏览

x86 - Hook Int 10h 导致窗口加载失败

我尝试编写一个非常简单的引导代码来挂钩 INT 10,如下所示:

新整数10:

该代码适用于所有情况,但是当我尝试启动到 Window 时。系统挂起。我在Bochs中调试并注意到操作系统尝试切换v8086模式然后调用Int10and 使用我的新 Int10 处理程序(at address 0x97400执行失败(它没有转到导致系统挂起的处理程序,似乎保护模式下的某些映射不正确)。

如果不更改,INT10我可以进入int10 handler(原始处理程序位于address 0xC0152)。

我想念什么吗?

我已经挂钩Int15h注册新处理程序的区域e820 type = 2

更新:我做了更多调试并发现...当窗口(仅在 Windows 启动到安全模式时发生)切换到 v8086 模式时,它设置 VME(在 CR4 中)= 1,IPOL=3 并且程序跳转到 0x97400 . 不幸的是,页面映射当前将此地址映射到另一个物理地址 0x7dd2000 ......所以应用程序发疯了。地址 0xC0000 仍然映射到 0xC0000,这解释了为什么如果我们不更改 INT10,窗口可以启动。

我的问题:有什么方法可以通知 Window Boot Loader 不要重新映射地址 0x97400?

谢谢

0 投票
1 回答
59 浏览

qemu - 在 i386 目标的 QEMU 存储库中找不到 compute_all_xxx 函数的定义?

我正在阅读 Qemu 的源代码,想知道 Qemu 如何模拟 x86 处理器的 eflags,在target-i386/cc-helper.c文件中我发现类似的功能可以compute_all_addw完成这项工作,我想知道 Qemu 如何实现这些功能,但我找不到所有这些功能的定义. 我错过了什么?请帮忙。

0 投票
0 回答
164 浏览

android - qt creator 输出在 x86 Android 模拟器中给出 QOpenGLShaderProgram 错误

我有一个编写 QT/QML 的 Android 程序,当我将应用程序部署到 Arm Android Emulator 时,它可以工作。但是如果我将应用程序部署到 x86 Andorid Emulator,程序可以工作,但是屏幕是白色的。没有要显示的组件。应用程序输出是:

.... QOpenGLShaderProgram::uniformLocation(matrix): 着色器程序未链接 W/libArizaMobil.so(2651): (null):0 ((null)): QOpenGLShaderProgram::uniformLocation(color): 着色器程序未链接W/libArizaMobil.so(2651):(null):0((null)):QOpenGLShaderProgram::uniformLocation(textureScale):着色器程序未链接W/libArizaMobil.so(2651):(null):0((null )): QOpenGLShaderProgram::uniformLocation( dpr ): 着色器程序未链接......