2K+ 次浏览
现在让我们来看一个 Intel 8085 微处理器的程序。这个程序将求出一个数的平方根。问题陈述编写一个汇编语言程序,求出 L 中数字的平方根,并将结果存储在 8100H 位置讨论这里我们使用除法方法来求出一个数的平方根。众所周知,8085 中没有除法运算,因此我们创建了一个除法子程序。设 N 为该数。X = √NX2 = NX2 + X2 = N + X22X2 = N + X2X2 = (N + X2)/2X =((N + X2)/X)/2XNew=(N / X + X)/2如果 X ... 阅读更多
3K+ 次浏览
在这个程序中,我们将看到如何使用 8085 微处理器添加数据块。问题陈述编写 8085 汇编语言程序来添加 N 个 1 字节数字。N 的值已提供。讨论在这个问题中,我们使用 8000H 位置来保存块的长度。主块从 8010H 地址开始存储。我们将结果存储在 9000H 和 9001H 位置。9000H 保存低字节,9001H 保存高字节。我们反复从内存中获取数字,然后将其与累加器相加,并在进位标志被… 阅读更多
29K+ 次浏览
在这个程序中,我们将看到如何使用 8085 微处理器将两个 8 位数相乘。问题陈述编写 8085 汇编语言程序,将存储在内存位置的两个 8 位数相乘,并将 16 位结果存储到内存中。讨论8085 没有乘法运算。要获得乘法的结果,我们应该使用重复加法的方法。将两个 8 位数相乘后,它可能会生成 1 字节或 2 字节的数字,因此我们使用两个寄存器来保存结果。我们将数据保存在 8000H 和 8001H 位置。结果存储在 8050H 和 8051H 位置。输入地址数据......8000DC8001AC......流程图程序地址十六进制代码标签指令注释F00021, 00, 80LXI H, 8000H加载… 阅读更多
在这个程序中,我们将看到如何使用 8085 微处理器将两个 8 位数相减。问题陈述编写 8085 汇编语言程序,带借位或不带借位地将两个 8 位数相减,并将结果存储在 8050H 和 8051H 位置。讨论在 8085 中,SUB 指令使用 2 的补码方法进行减法。当第一个操作数较大时,结果为正。完成减法后,它不会启用进位标志。当结果为负时,结果将为 2 的补码形式,并且进位标志将被启用。我们在 8000H 和 8001H 位置使用两个数字。… 阅读更多
1K+ 次浏览
最初,处理器对 8257 进行编程。在这里,处理器充当主控器,而 8257 在这里工作在从机模式。程序的通道是通过从内存的起始地址写入地址寄存器来获得传输数据的,并通过使用直接内存访问方案写入计数器寄存器,其中包含要传输的字节数。由最低有效 14 位指定的字节数信息。而最高有效 2 位指示要发生的哪种数据传输类型。之后,处理器写入… 阅读更多
下表列出了 8257 引脚的说明。图。Intel 8257 的物理引脚图图:Intel 8257 的功能引脚图8257 使用 5V 电源。D7-0/A15-8为了与处理器通信,有 8 个双向数据引脚,当处理器处于活动状态且 8257 处于活动状态时,它处于从机模式。当处理器保持在 HOLD 状态而 8257 充当主控器时,它们用于发送内存地址的最高有效 8 位。A3-0当处理器处于活动状态时,用作 8257 的地址输入引脚。因此… 阅读更多
658 次浏览
状态寄存器长度为 8 位。处理器只能读取而不能写入,只有在 CS* 为 0、A3-0 为 1000 且 IOR* 为 0 时才能选择它。它提供了有关 8257 的当前状态的信息。五个块很重要,其他块标记为 0,因为它们未使用。UD1 = 更新正在进行中0 = 更新未进行中TCn1 = 通道 n (n = 0–3) 达到 TC0 = 通道 n 尚未达到 TC图:状态寄存器内容的解释状态寄存器的读取操作是… 阅读更多
处理器在活动状态下写入 8257 的控制寄存器以配置其工作目的。要查找 8257 的状态,处理器读取处理器的状态寄存器。控制寄存器长度为 8 位,处理器只能读取而不能写入。只有在 CS* 为 0、A3-0 为 1000 且 IOW* 为 0 时才能选择它。英特尔通常将控制寄存器 8257 称为模式设置寄存器,因为它设置了 8257 的工作模式。AULD1 = 启用自动加载0 = 禁用自动加载TCS1 = 如果达到 TC 则停止 DMA 传输0 = … 阅读更多
519 次浏览
我们有四个计数器,从 CR3-0 开始,每个计数器包含 16 位。当 CR 访问 16 位宽的处理器时,寄存器的最低有效字节和最高有效字节以交替的方式访问,从最低有效字节开始。此外,M/L* 触发器在这里提供帮助。计数器寄存器包含有关使用 DMA 传输的字节数的信息,在 DMA 数据传输的每个字节中递减 1。当计数器寄存器变为 0 时,最后一个 DMA… 阅读更多
515 次浏览
每个DMA通道都包含一个地址寄存器和一个计数寄存器。这些寄存器长度为16位。在每个16位中,有四个AR,标记为AR3-0。除了四个CR外,还有控制寄存器和状态寄存器。它们是独立的8位寄存器,但具有相同的地址。在这里,处理器只能写入控制寄存器,但可以读取状态寄存器。图示:Intel 8257的程序员概览。我们可以通过8257的四个引脚(标记为A3-0)的地址来选择上述任何一个寄存器。这里使用的处理器写入……阅读更多