736 次浏览
在这里,我们将看到一个 8085 微处理器程序。该程序将十六进制转换为 ASCII 值。问题陈述 - 编写一个 8085 汇编语言程序,将十六进制字符转换为 ASCII 值。讨论 - 我们知道数字 00H 的 ASCII 为 30H (48D),而 09H 的 ASCII 为 39H (57D)。因此,所有其他数字都在 30H 到 39H 的范围内。0AH 的 ASCII 值为 41H (65D),0FH 的 ASCII 值为 46H (70D),因此所有其他字母 (B、C、D、E、F) 都在 41H 到 46H 的范围内。这里我们提供存储在内存位置 8000H 的十六进制数字,ASCII 等价物 ... 阅读更多
610 次浏览
在这里,我们将看到一个 8085 微处理器程序。此程序将 ASCII 转换为十六进制值。问题陈述 - 编写一个 8085 汇编语言程序,将 ASCII 转换为十六进制字符值。讨论 - 我们知道数字 00H 的 ASCII 为 30H (48D),而 09H 的 ASCII 为 39H (57D)。因此,所有其他数字都在 30H 到 39H 的范围内。0AH 的 ASCII 值为 41H (65D),0FH 的 ASCII 值为 46H (70D),因此所有其他字母 (B、C、D、E、F) 都在 41H 到 46H 的范围内。这里的逻辑很简单。我们正在检查 ASCII 值是否为 ... 阅读更多
1K+ 次浏览
在这里,我们将看到一个 8085 程序,该程序将二进制数 (HEX) 转换为其 BCD 等价物。问题陈述 - 二进制数存储在位置 800H。将其转换为 BCD 等价物并将其存储到内存位置 8050H。讨论 - 这里我们从内存中获取一个数字,并将其初始化为计数器。现在,在这个计数器的每个步骤中,我们都将数字加 1,并调整十进制值。通过此过程,我们找到了二进制数或十六进制数的 BCD 值。在这种情况下,我们可以使用 INR 指令来递增计数器,但是 ... 阅读更多
787 次浏览
在这里,我们将看到一个 8085 程序,该程序将 BCD 数转换为 HEX 等价物。问题陈述 - BCD 数存储在位置 802BH。将其转换为二进制等价物并将其存储到内存位置 802CH。讨论 - 在此问题中,我们从内存中获取一个 BCD 数并将其转换为二进制等价物。首先,我们正在切割输入的每个 nibble。因此,如果输入为 52 (0101 0010),那么我们可以通过将数字与 0FH 和 F0H 进行掩码来简单地切割它。当切割高位 nibble 时,然后将其旋转到 ... 阅读更多
5K+ 次浏览
在这里,我们将了解如何使用 8085 在 8085 套件中编写程序。我们还将了解如何调试程序并在成功执行后检查结果。让我们看看 8085 套件的典型键盘结构。(此键盘模式可能因不同制造商的不同套件而异)下表将显示不同控制键的功能。有 16 个字母数字键 (0-9、A-F) 用于提供数据和地址 - 键功能重置重置系统VCT INTVector 中断。它通过键盘生成硬件中断 RST 7.5SHIFT为所有键提供二级命令GO执行程序SI以单步模式执行EXREG检查寄存器。它 ... 阅读更多
808 次浏览
在这里,我们将看到一个 Intel 8085 微处理器程序。此程序将计算两个 16 位数的乘积。问题陈述 - 编写一个 8085 汇编语言程序,将存储在 8000H - 8001H 和 8002H - 8003H 的两个 16 位数相乘。讨论 - 此程序从内存位置 8000H – 8001H 和 8002H – 8003H 获取 16 位数据。32 位结果存储在位置 8050H – 8053H。这里我们用两个 16 位数进行了测试。结果如下。1111H × 1111H = 01234321H 1C24H × 0752H = 00CDFF88H输入第一个输入地址数据……800011800111800211800311……第二个输入地址数据……80002480011C800252800307……流程图程序地址十六进制代码标签助记符注释F00031, 00, 20LXI SP, 2000H初始化堆栈指针F0032A, 00, 80LHLD ... 阅读更多
507 次浏览
在这里,我们将看到 8085 微处理器程序,该程序将找到两个 BCD 数的乘积结果。问题陈述 - 编写一个 8085 汇编语言程序来查找两个 BCD 数的乘积。这些数字存储在位置 8000H 和 8001H 中。讨论 - 在此程序中,数据取自 8000H 和 8001H。结果存储在位置 8050H 和 8051H 中。众所周知,8085 没有乘法指令,因此我们必须使用重复加法方法。在此过程中,每次加法后,我们都会调整累加器值以获得十进制等价物。当有进位时,我们增加 MS-Byte 的值。 ... 阅读更多
739 次浏览
让我们看看一个 8085 微处理器问题。在这个问题中,我们将了解如何使用移位和加法方法来乘以两个数字,而不是使用加法方法。问题陈述 - 编写一个 8085 汇编语言程序,使用移位和加法方法乘以两个 8 位数。讨论 - 移位和加法方法是一种有效的过程。在此程序中,我们从内存位置 8000H 和 8001H 获取数字。16 位结果存储在位置 8050H 及其之后。在此方法中,我们将第一个数字放入 DE 寄存器对中。实际数字放在 E 寄存器中,而 D 则保存 ... 阅读更多
308 次浏览
在这里,我们将看到一个 8085 微处理器程序。此程序将添加 N 个字位置的内容。问题陈述 - 编写一个 8085 汇编语言程序,将存储在内存中的 N 个 16 位数相加讨论 - 16 位数存储在内存位置 8001H 及其之后。N 的值存储在位置 8000H。加法后,结果将存储在位置 8050H 及其之后。在 8085 中,我们的寄存器数量有限。因此,我们将计数存储在内存中,当我们需要更新它时,我们将从内存中获取它,更新它,然后再次将其存储到内存中。这里,16 位数 ... 阅读更多
273 次浏览
在这里,我们将看到一个 8085 微处理器程序。此程序将使用选择排序技术以降序排列一系列数字。问题陈述 - 编写一个 8085 汇编语言程序,以降序使用选择排序对给定序列进行排序。这些数字存储在 8001H 及其之后。8000H 保存块大小。讨论 - 在选择排序技术中,我们将从一组数字中选择最小或最大项。在这种情况下,我们正在考虑降序排序,因此我们正在选择最大数。通过获取最大数,我们将其与 ... 阅读更多