问题标签 [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 回答
15543 浏览

assembly - 如何在汇编emu8086中输入2位数字

我知道这是您输入一位数字或字符的方式,但我如何输入例如数字 38。谢谢

0 投票
1 回答
260 浏览

assembly - 直接内存寻址模式

假设数据段中已经定义了一个字节

那么,以下指令在寻址方式方面的含义是什么?

由于NUM是内存条目的标签(例如 1000H),我假设第一个被解释为MOV SI, [1000],第二个被解释为MOV [1000], 1AH. 因此,他们使用直接内存寻址模式。我对吗?

0 投票
1 回答
196 浏览

assembly - 拓扑排序 asm x86

我在 emu8086 中编写 asm x86 代码时遇到了很大的问题,该代码在给定邻接矩阵和节点数的情况下找到图的拓扑排序(没有 cicles)。我已经尝试了几个想法,但没有任何效果......所以如果你们中的任何一个人可以给我任何帮助(在文字或代码中)如何解决这个问题,或者如何解决这个问题,那就太好了因为我不知道该怎么做......数据是这样给出的:

我认为 DFS 算法可能是解决这个问题的最佳方法。但同样,我真诚地尝试了一切,但到目前为止没有任何效果......所以我会感谢任何帮助。提前致谢!!!(抱歉英语不好)

编辑:我写了这个,但它根本不起作用:

0 投票
1 回答
337 浏览

recursion - 在递归中跟踪循环索引的问题

您好,我正在从事汇编工作,我的问题是以下我需要知道是否有一种方法可以在使用递归时跟踪汇编中的某些变量。我知道我可以在调用递归函数时使用堆栈将参数传递给它。例如python中的这段代码:

我知道它不完整,但是我想要做的例如是调用该函数 2 次我需要当我返回函数时我仍然跟踪 for 循环中的索引“i”。在汇编中,您只需使用JMP和迭代我需要使用寄存器的次数。因此,当RET被调用时,我会丢失计数器的值(在本例中为 i)。

0 投票
2 回答
425 浏览

assembly - 为什么我在汇编中的打印在第 26 行之后不打印字符?

我几乎在学习组装,并成功解决了我在这里打印的问题

现在我有另一个问题。

我正在使用emu8086。我让这段代码使用带有背景颜色的空格字符以位打印小兵的图像。我设法让它每行打印图像,但是当它到达第 26 行时,它停止打印并且出现“错误中断”的错误。

谁能帮我。

这是整个代码:

0 投票
2 回答
1424 浏览

assembly - xor 可以用于超过 1 个字节

我刚开始组装,想知道是否有任何方法可以xor一次处理超过 1 个字节。我想在 1 个命令中执行此操作:

但有了这段代码,它只是xor“我”

0 投票
3 回答
11102 浏览

assembly - 汇编 8086 EKU 指令

我无法在汇编程序(8086)中明确EQU指令。

当在带有 xyz 的代码中找到时,EQU 是否会从字面上交换 abc,无论 xyz 代表什么,值等?

即我可以写吗?

还有一个问题是 EQU 全局访问,即我可以在程序外定义 EQU,并在程序内使用它吗?

0 投票
1 回答
376 浏览

add - Emu8086汇编加法器

我正在尝试编写一个汇编程序来添加小于 A0H 的数字(初始化为 nums)。但是,当我运行此程序时,它无法添加任何数字。任何帮助,将不胜感激。

0 投票
2 回答
3721 浏览

assembly - 汇编语言中的移动文本程序

我正在尝试用汇编语言编写一个程序,在该程序中我想像屏幕保护程序一样在屏幕上移动文本或字符,即首先它应该向前和向下移动。当它到达屏幕的下限时,它应该开始向前和向上移动,反之亦然。

我已经尝试过自己,并且能够同时向前和向下移动角色。当角色达到屏幕的下限时,我希望它向上和向前移动,但我似乎不知道该怎么做。

我正在使用 emu8086 汇编程序

在第一个循环的每次迭代结束时,我正在检查“DH”是否 = 23,因为我的屏幕 y 轴的下限是 23。如果达到屏幕的下限,它应该跳转到“label2”但是它不会跳到“label2”,这显然是因为我没有正确使用“cmp”语句。谁能帮我解决这个问题?

我需要帮助的主要事情是我应该在“label1”中检查什么条件才能跳转到“label2”。

PS。只是汇编语言的初学者,所以如果您提出解决方案,请保持简单易懂。这是我到目前为止所尝试的。

0 投票
1 回答
616 浏览

assembly - 如何在屏幕上打印字符

我尝试在屏幕左侧制作“#”,另一边是“$”,但它不会在 25*40 停止