问题标签 [8085]

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 投票
6 回答
32270 浏览

assembly - 一个 8085 汇编语言程序,用于查找数字的阶乘

我想找到一个我首先记忆的数字。(intel 8085)

编辑:我是初学者。我不知道如何编写它的汇编代码。

伪代码:

0 投票
3 回答
1441 浏览

cpu-architecture - 用于寻址模式的术语。[英特尔 8085]

在我正在研究的处理器的文档中说:

可用的操作数寻址模式有隐含、寄存器、立即、直接和寄存器间接(使用 BC、DE 和 HL 寄存器对作为指向内存的 16 位指针)。

有人可以用外行术语解释这些寻址模式之间的区别,或者发布一个我可以学习的链接吗?

非常感谢。

0 投票
1 回答
1375 浏览

assembly - Intel 8085 汇编中的位移操作有什么作用?

我试图向自己解释以下 8085 汇编代码

我有这段代码要求输入两个数字(来自 IDE 中的虚拟键盘)并将它们显示在 LED 7 和 8 上:

我不包括在内PRNT,因为这对我的问题并不重要。

我知道.ORG 0000这是程序的开始 - 就像BEGIN在 Pascal 中一样。

CALL DATA是一个子程序,它用二进制零填充累加器并在端口 0(十六进制的 00H)中显示它们(?),然后它(从虚拟键盘)获取一个数字,然后在位移操作中向左旋转。

我的问题是为什么?这样做有什么意义?有什么好处?我在维基百科上读过它,但我仍然不明白。它在这段代码中做了什么,为什么需要它?

0 投票
3 回答
5821 浏览

assembly - 将二进制中的 2 位数字拆分为二进制中的单个数字

我有 47,二进制是 0010 1111。我需要拆分 47,所以我得到二进制 0000 0100 中的 4 和二进制 0000 0111 中的 7。

我已经看到了这个答案,但我想知道,由于英特尔 8085 没有 div 指令,我必须通过连续减法进行除法,我如何获得模数?

0 投票
1 回答
1366 浏览

assembly - LDA:在 8 位寄存器中插入 16 位?这是什么意思?

我读过 8085 中的累加器是一个 8 位寄存器。那么下面的指令怎么会是真的:

其中地址是 LH 顺序的“16 位”地址

我们如何在 8 位寄存器中插入 16 位地址?

0 投票
1 回答
761 浏览

assembly - 这个英特尔汇编代码是什么意思?

以下是查找 2 个数字中较大者的程序:

在此处输入图像描述

在上面的程序中,EQU表示什么?EQU中的指令MVI A,01H是做什么的?

PORT1在这里表示什么?

0 投票
2 回答
90 浏览

assembly - 程序是否正确?

以下是我编写的用于将 2 ,8 位数字相乘的程序。我的一位朋友告诉我该程序不正确。我无法验证它,所以我想验证它。我刚刚开始学习汇编编程。以下程序使用大量寄存器。

这个程序正确吗?如果没有,请告诉其中的更正。

0 投票
2 回答
462 浏览

memory-management - 从堆或堆栈分配内存?

我读到,在8085处理器的起始地址是00000H。其中,8086处理器的起始地址为FFFF0H

现在我还了解到,内存的顶部是heap,而下面是stack. 我现在感到困惑的是,是否在 8085 中,内存是从堆栈分配的,而在 8086 中是从堆分配的?

请帮我弄清楚这个概念。谢谢

0 投票
3 回答
6470 浏览

x86-16 - 为什么 8085 从 00000 开始,而 8086 从 FFFF0 开始?

我无法理解8085-86 中生成的物理地址的不同起始地址。CS:IP这是因为堆栈吗?我认为堆栈的概念是在 8085 之前出现的。请帮忙。谢谢。

0 投票
1 回答
13908 浏览

assembly - 汇编程序找出两个数字中的最小值

我如何汇编程序以找到两个数字中的最小值。

假设第一个数字位于内存地址:0x2001 第二个数字位于内存地址:0x2002

将较小的数字存储在累加器中

这是我尝试的:

我的解决方案正确吗?