问题标签 [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.
assembly - EMU8086 是否有错误,或者我在编写此代码时出错了?
我试图做一个练习,我必须在 20 个元素向量中写入斐波那契数列的前 20 个数字,但我不明白为什么代码不能正常工作。它适用于该系列的前 10 个元素,但随后出现了一些我无法识别的问题。你怎么看?这是我写的代码:
更新
我没有完全按照我的程序中显示的那样粘贴代码。我正在运行的程序开始于:
我不认为这很重要,所以我把它省略了。是不是重要?
这是我调试原始代码时看到的内容。我踏上去ciclo: mov [si],bx
。CX里面有8个。
当我单步执行程序然后退出时,它会PROGRAM HAS RETURNED CONTROL TO THE OPERATING SYSTEM
显示如下图所示:
为什么会这样?
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.
assembly - 汇编中正确的中断代码
我想在汇编中打印两个数字的总和。当我运行代码时,编译器会显示以下消息:
INT 21h,AH=020h - 尚不支持。请参阅支持的中断列表。
为什么我的代码会产生此错误?我应该使用什么中断代码?
assembly - 模拟器使用 int21h/ah=09h 显示“2000 字节后未找到错误字节 24h”
我必须使用EMU8086在汇编中做一个简单的计算器,但是每次我尝试启动它时EMU8086都会出现此错误:
我检查了其他的东西,但没有错误:
我削减了大部分代码段,因为它在这里并不重要。
实验代码后发现问题与数据段中消息的长度有关。menu1
&menu2
太长了,它们后面的任何消息都无法打印(msg1
&msg2
被打印,但后面什么都没有)。我检查了是否应该合并menu1
& menu2
,但没有帮助。请帮我找出它有什么问题。
assembly - 如何计算平均值?(masm x86 8086)
我试图在 MASM x86(我使用 8086)上找到两个用户输入数字的平均值。我似乎无法计算平均值!我可以让这两个数字相乘,但我不知道如何将它们相加,然后将它们除以数字的总数(在我的情况下它只有 2)。这是我到目前为止所拥有的(是的,我意识到我在相乘,但这只是表明我确实尝试了一些东西,我只是不能让他们加和除总和):
assembly - 8086:数组未从寄存器中获取值
此代码是将十进制值转换temp
为二进制。逻辑似乎正确,但mov
指令不起作用。的值binary_1
始终为零并且dl
包含除法的余数。我尝试将值移动dl
到一个变量中并且它有效,但它不适用于binary_1
数组。
有没有人有任何想法?我正在使用emu8086。
arrays - 在汇编中打印数组的元素
我是组装新手,我正在使用emu8086
我试图打印一个数组的两个元素,但我无法打印第二个元素
这是我的代码:
在输出 hi 是打印的,good 是不打印的。请纠正我如何打印第二个元素。
assembly - Emu8086 - 无法打开文件
我有emu8086的问题。我想打开一个文件,但是当我尝试模拟它时,它显示了一个错误。
错误出现在这部分:
文件不存在
C:\emu8086\MyBuild\input.txt
中断错误:21h/3Dh:无法打开文件。
我的输入文件 ( input.txt
) 在C:\emu8086\vdrive\C
它应该在的位置。当我在 MASM 中编译它时dosbox
,它可以正常工作。我不知道问题可能出在哪里。有人可以帮我吗?