问题标签 [x86-16]
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.
x86-16 - 在 8086 汇编中使用什么寄存器代替 FP(帧指针)?
8086 汇编中使用什么寄存器而不是 FP?我认为它是SP或ESP。我对吗?
assembly - 汇编中的“int 21h”是什么意思?
我是学习汇编语言的新手,我想知道命令的int 21h
含义。例如:
应该从用户那里读取一个密钥。
interrupt - 8086的中断服务流程
我在8086的中断服务程序中找不到合适的资源。我想知道8086如何处理不同的中断。请帮帮我。
arrays - emu8086 在数组中找到最小值和最大值
我必须想出一个 ASM 代码(对于 emu8086),它将在任何给定大小的数组中找到最小值和最大值。在示例代码中,我的讲师提供(看起来是)一个包含名为 LIST 的数组的数据段。他声称他会将这个列表替换为其他不同大小的列表,我们的代码必须能够处理它。
这是下面的示例代码。我已经突出显示了我添加的部分,只是为了向您展示我已尽力解决此问题:
memory-management - 为什么 8086 使用一个额外的寄存器来寻址 1MB 的内存?
我听说 8086 有 16 位寄存器,它只能寻址 64K 的内存。然而,它仍然能够处理需要 20 位寄存器的 1MB 内存。它通过使用另一个寄存器来保存另一个 16 位,然后将 16 位寄存器中的值与另一个寄存器中的值相加,从而能够生成可寻址高达 1MB 内存的数字。那正确吗?
为什么这样做?似乎有 32 位寄存器,这足以解决 1MB 的内存。
assembly - 在 8086 汇编中在屏幕上打印字符的最简单方法是什么?
有谁知道使用 8086 实模式程序集(没有操作系统)将单个字符(或字符串)写入屏幕的最简单方法?
我在想它会如下,但这似乎不起作用。
mov [0b800h], 'A'
非常感谢!
缺口
x86-16 - 哪个是支持大多数现有中断的汇编程序?
我目前正在使用emu8086(所以我正在为8086mP编程)但我很难使用emu8086,因为它无法“理解”像int 21h / ah = 5bh和许多其他中断这样的中断。我应该使用什么汇编程序/ ide才能能够使用其他中断?(Emu8086甚至不支持它应该的中断,更不用说,后面添加的那些)
function - VC++ 是编译成 Intel 机器代码还是中间代码?
我想知道 VC++ 中的函数指针是否可以指向包含 x86 机器代码的预初始化内存块。然后我可以使用函数指针在该位置执行代码吗?
IE
这会继续在位置 0x4A152 处执行 x86 代码,还是会因为在该位置期待中间代码而窒息?
assembly - 加载引导加载程序的第二阶段并启动它
最近,我试图了解引导加载程序的工作方式。我正在用 nasm 汇编器编写我的加载程序,并用 bochs 和软盘映像对其进行测试。
第 1 阶段和第 2 阶段的编译二进制文件通过复制加入到一个图像中。这张图正是我想要的。512Bytes stage1 代码(包括幻数,它加载得很好)和第 2 扇区中的 512 个 stage2 代码。
但我认为我的问题是将扇区加载到内存中并跳入其中。我的代码有问题吗?
Stage1.asm
阶段2.asm
我彻底搜索了一下,没有找到任何描述如何将扇区加载到内存中并跳入其中的确切信息。我的程序甚至找不到第二扇区的 Magicnumber。
如果只是地址上的一些错误计算,那就太好了。
更新:当前源代码,它有锁定的行被标记。出于纯粹的偏执,我将所有 4 个主要寄存器都设置为 0。
Update2:再次是当前版本。在设置寄存器和发出 int 13h 之间没有做任何事情。
assembly - 在dos中编写使用INT 21H的8086汇编程序
我需要编写执行以下操作的 8086 汇编程序: - 从键盘读取 2 个数字 - 显示这些数字的总和
到目前为止我得到的提示: 键盘会将 ASCII 码存储在寄存器中,我会读取它我需要使用一些称为INT 21H的 ISR(中断服务例程)
我将使用的工具: Microsoft assembler
代码模板的示例是:
, 注意.exit
等价于
我的问题是怎么做,汇编器没有任何GUI,不知道如何编译它并从中制作.exe,一般你能用解释解决吗?