问题标签 [emu8086]

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 回答
2738 浏览

assembly - EMU8086 是否有错误,或者我在编写此代码时出错了?

我试图做一个练习,我必须在 20 个元素向量中写入斐波那契数列的前 20 个数字,但我不明白为什么代码不能正常工作。它适用于该系列的前 10 个元素,但随后出现了一些我无法识别的问题。你怎么看?这是我写的代码:


更新

我没有完全按照我的程序中显示的那样粘贴代码。我正在运行的程序开始于:

我不认为这很重要,所以我把它省略了。是不是重要?

这是我调试原始代码时看到的内容。我踏上去ciclo: mov [si],bxCX里面有8个。

在此处输入图像描述

当我单步执行程序然后退出时,它会PROGRAM HAS RETURNED CONTROL TO THE OPERATING SYSTEM显示如下图所示:

在此处输入图像描述

为什么会这样?

0 投票
1 回答
457 浏览

opcode - How 8086 assembler converts the label to opcode?

I was exploring the 8086 instruction set and was writing simple assembly codes in emu8086. I understood all the MOV,ADD, and other instructions until I encountered the LOOP instruction. The LOOP is converted to E2, that's fine. But for the label to branch, how does the assembler converts it? If the code is simple, many a times 'label' is converted to FC. Sometimes to FA, F8, and others. It would be very appreciable if you discuss the mechanism of converting the label name to its corresponding machine code.

Thanks.

0 投票
1 回答
4288 浏览

assembly - 汇编中正确的中断代码

我想在汇编中打印两个数字的总和。当我运行代码时,编译器会显示以下消息:

INT 21h,AH=020h - 尚不支持。请参阅支持的中断列表。

为什么我的代码会产生此错误?我应该使用什么中断代码?

0 投票
3 回答
4145 浏览

assembly - 模拟器使用 int21h/ah=09h 显示“2000 字节后未找到错误字节 24h”

我必须使用EMU8086在汇编中做一个简单的计算器,但是每次我尝试启动它时EMU8086都会出现此错误:

我检查了其他的东西,但没有错误:

我削减了大部分代码段,因为它在这里并不重要。

实验代码后发现问题与数据段中消息的长度有关。menu1&menu2太长了,它们后面的任何消息都无法打印(msg1&msg2被打印,但后面什么都没有)。我检查了是否应该合并menu1& menu2,但没有帮助。请帮我找出它有什么问题。

0 投票
2 回答
4470 浏览

string - 如何在 8086 程序集中将字符串转换为数字?

我必须在 8086 程序集中构建一个基本转换器。

用户必须选择他的基数,然后输入一个数字,然后,程序将在 3 个基数中显示他的数字[他带来一个十进制数字,之后他将看到他的十六进制、八进制和 bin 的数字。

第一个问题是,如何将他给我的数字从字符串转换为数字?

秒的问题是,我怎样才能转换?通过 RCR,然后 adc 一些变量?

这是我的代码:

它应该是这样的:在此处输入图像描述

谢谢!

שלולוי

0 投票
3 回答
4263 浏览

assembly - 在装配中显示时间

您好我试图显示实际时间小时/分钟/秒这是我的代码示例:

在这里您可以查看控制台显示的内容

在此处输入图像描述

0 投票
2 回答
5708 浏览

assembly - 如何计算平均值?(masm x86 8086)

我试图在 MASM x86(我使用 8086)上找到两个用户输入数字的平均值。我似乎无法计算平均值!我可以让这两个数字相乘,但我不知道如何将它们相加,然后将它们除以数字的总数(在我的情况下它只有 2)。这是我到目前为止所拥有的(是的,我意识到我在相乘,但这只是表明我确实尝试了一些东西,我只是不能让他们加和除总和):

0 投票
0 回答
91 浏览

assembly - 8086:数组未从寄存器中获取值

此代码是将十进制值转换temp为二进制。逻辑似乎正确,但mov指令不起作用。的值binary_1始终为零并且dl包含除法的余数。我尝试将值移动dl到一个变量中并且它有效,但它不适用于binary_1数组。

有没有人有任何想法?我正在使用emu8086。

0 投票
1 回答
4076 浏览

arrays - 在汇编中打印数组的元素

我是组装新手,我正在使用emu8086

我试图打印一个数组的两个元素,但我无法打印第二个元素

这是我的代码:

在输出 hi 是打印的,good 是不打印的。请纠正我如何打印第二个元素。

0 投票
1 回答
2556 浏览

assembly - Emu8086 - 无法打开文件

我有emu8086的问题。我想打开一个文件,但是当我尝试模拟它时,它显示了一个错误。

错误出现在这部分:

文件不存在
C:\emu8086\MyBuild\input.txt
中断错误:21h/3Dh:无法打开文件。

我的输入文件 ( input.txt) 在C:\emu8086\vdrive\C它应该在的位置。当我在 MASM 中编译它时dosbox,它可以正常工作。我不知道问题可能出在哪里。有人可以帮我吗?