580 次浏览
在这里,我们将了解如何使用 8085 查找两个给定字节的最大公约数 (HCF) 或最大公因数 (GCD)。这些数字是 8 位数字,不大于此。问题陈述——编写一个 8085 汇编语言程序,以查找存储在内存位置 8000H 和 8001H 的两个数字的最大公约数或最大公因数。讨论——我们将使用欧几里得算法来查找最大公约数。此算法非常简单。我们必须遵循以下步骤:如果第一个数字和第二个数字相同,则 a) 转到步骤 3。否则,如果第一个数字 < 第二个数字,则…… 阅读更多
555 次浏览
在这里,我们将了解如何在 8085 微处理器中执行线性搜索。线性搜索是从起始位置到结束位置顺序搜索元素。问题陈述——编写一个 8085 汇编语言程序,使用线性搜索(顺序搜索)技术在一个数据块中搜索一个关键值。讨论假设数据存储在 8002H 到 8007H 位置。8000H 包含块的大小,8001H 保持要搜索的关键值。当我们执行程序时,它将返回找到该项的数据的地址,并将地址存储在 9000H 位置…… 阅读更多
283 次浏览
在本节中,我们将了解 8085 微处理器中 I/O 端口芯片和内存芯片之间的基本比较。与内存芯片类似,信息也存储在输入输出端口芯片中。另一方面,少量字节的信息存储在输入输出端口芯片中,而一个字节的信息存储在输入输出端口芯片中。例如,Intel 8212 I/O 端口芯片仅存储 1 个字节的信息,而 Intel 8255 芯片存储 3 个字节的信息。此外,大量内存位置,如…… 阅读更多
276 次浏览
现在让我们看看 Intel 8085 微处理器的程序。在这个程序中,我们将了解如何切换 D0 位并将其作为输出发送。问题陈述编写 8085 汇编语言程序以切换 D0 位。并将其作为输出发送。讨论切换 D0 位并将其作为输出发送就像生成方波一样。我们在每个阶段都添加了额外的延迟。为了使用 8085 生成方波,我们将连续旋转 10101010 (AAH),并将 D0 作为输出发送。我们将使用 01H 掩盖累加器的内容。如果为 0,则输出为 0;如果为 1,则输出为…… 阅读更多
230 次浏览
在这里,我们将了解如何使用 8085 从数组中获取 3CH 和 64H 范围内的所有数字。问题陈述编写 8085 程序以获取数组中大于或等于 3CH 且小于 64H 的所有数字。数字从 8001 开始存储,8000 存储数组的大小,结果将从 9000 存储。讨论为了解决这个问题,我们将从内存中获取数字。然后将其与 3C 进行比较。如果进位标志设置,则表示该数字小于 3C,因此只需跳过它。否则,将其与…… 阅读更多
346 次浏览
在这里,我们将了解如何使用 8085 获取 D7 和 D1 位均为 0 的所有数字。问题陈述编写 8085 程序以获取数组中 D7 和 D1 位均为 0 的所有数字。数字从 8001 开始存储,数组大小存储在 8000 中。从 9000 开始存储结果。讨论为了解决这个问题,我们将使用 82H (1000 0010) 与该数字进行 AND 运算。如果结果为 0,则该数字是可接受的。只有当 D7 和 D1 位为 0 时,结果才为 0。输入地址数据……8000 0A 8001 E9 8002 D3 8003 61 8004 A D 8005 2A 8006 1F 8007 5D 8008 A6 8009 A9 800A 35……流程图程序地址十六进制代码标签助记符注释F000 21, 00, 80 LXI H, 8000 加载…… 阅读更多
215 次浏览
在这里,我们将了解如何使用 8085 减去数组中的两个连续元素。问题陈述编写 8085 程序以减去数组的两个连续元素并将它们存储在同一位置。结果将放在它们被获取的同一位置。数字从 8001 位置开始存储。数组的大小存储在 8000 中。讨论我们将使用一个子例程来解决这个问题。它将减去两个连续的数字并将它们存储在正确的位置。该子例程将被多次调用以减去所有连续的数对。任务将是…… 阅读更多
691 次浏览
在这里,我们将了解如何使用 8085 添加数组中的两个连续元素。问题陈述编写 8085 程序以添加数组的两个连续元素并将它们存储在同一位置。进位将放在另一个字节的底部。数字从 8001 位置开始存储。数组的大小存储在 8000 中。讨论我们将使用一个子例程来解决这个问题。它将添加两个连续的数字并将它们存储在正确的位置。该子例程将被多次调用以添加所有连续的数对。任务将是…… 阅读更多
506 次浏览
这里我们将学习如何使用8085从数组中提取所有非00H的数字。问题陈述编写8085程序,从数组中提取所有非00H的数字,并将它们存储到不同的位置。数字从8001单元开始存储,8000单元存储数组的大小,结果将从9000单元开始存储。讨论为了解决这个问题,我们将从内存中读取数字,然后对数字和00H执行或运算。如果零标志被置位,则表示该数字为00H,因此我们忽略它。否则,我们只需存储……阅读更多
838 次浏览
这里我们将学习如何使用8085从内存中读取16位BCD数据,将其解压,然后存储到内存中。问题陈述编写8085程序,从内存中读取16位BCD数,然后通过解压将其各位数字存储到不同的位置。讨论为了解决这个问题,我们将创建一个子程序,该子程序可以解压1字节BCD数并将其存储到内存中,然后我们将使用该子程序两次来存储16位数据。该子程序将通过掩码高4位和低4位来分割数字,并将它们存储到内存中。输入DE寄存器对中为1234流程图程序地址十六进制代码标签助记符注释F00031, 00, FC LXI SP, FC00初始化堆栈……阅读更多