608 次浏览
在这个程序中,我们将学习如何使用 8086 查找等差数列。问题陈述编写 8086 汇编语言程序以查找等差数列。数列的限制存储在 500 中,第一项存储在 501 中,公差存储在 502 中。讨论等差数列的生成是一项简单的任务。我们将限制作为计数器值,首先将第一项加载到 AL 中,然后 BL 存储公差 d。现在结果将存储在从内存偏移量 600 开始的位置。AL 原样放置,然后重复地将 BL 与 AL 相加并将其存储到…… 阅读更多
2K+ 次浏览
在这个程序中,我们将学习如何添加 8 位数的数字。问题陈述编写 8086 汇编语言程序以添加存储在内存地址 2000H 中的 8 位数的数字。讨论要获取 8 位数的数字,我们可以使用掩码操作。首先,我们将掩码高位 nibble,然后是低位 nibble。掩码高位 nibble 后,我们必须将其向右旋转以使其成为最低有效 nibble。然后,我们可以简单地将其添加到存储的 nibble 以获得总和。输入地址数据……2000 8A……流程图程序输出地址数据……2001 12……
在这里,我们将学习如何查找两个数组元素的和并将结果存储到内存中。问题陈述编写 8086 汇编语言程序以查找从 501 开始和从 601 开始存储的两个数组的总和。数组的大小存储在位置 500。计算总和后,结果将存储在 501 开始的位置。讨论为了解决这个问题,我们使用源寄存器 SI 从第一个数组中获取元素,使用目标寄存器 DI 从第二个数组中获取元素。重复地将元素从 SI 获取到 AL,然后与 DI 的内容相加,并再次存储到 SI 地址。因此它被解决了。输入地址数据……500 05 501 2C 502 0B 503 7D 504 25 505 21……601 BA 602 45 603 69 604 CA 605 95……流程图…… 阅读更多
在这个程序中,我们将学习如何查找存储在 n 个数字数组中的 n 个数字的平方。问题陈述编写 8086 汇编语言程序以计算存储在大小为 n 的数组中每个数字的平方。数组大小存储在偏移量 600 位置,数字存储在 601 开始的位置。讨论为了解决这个问题,我们将数组的大小放入 CL 寄存器中,并将 CH 设置为 00H 用于计数。现在从每个位置将数字放入累加器中,为了平方,我们必须将其乘以两次。因此,我们将 AL 与 AL 相乘…… 阅读更多
403 次浏览
在这里,我们将学习如何查找两个数组元素的乘积并将结果存储到内存中。问题陈述编写 8086 汇编语言程序以查找从 501 开始和从 601 开始存储的两个数组的乘积。数组的大小存储在位置 500。计算乘积后,结果将存储在 501 开始的位置。讨论为了解决这个问题,我们使用源寄存器 SI 从第一个数组中获取元素,使用目标寄存器 DI 从第二个数组中获取元素。重复地将元素从 SI 获取到 AL,然后与 DI 的内容相乘,并再次存储到 SI 地址。因此它被解决了。输入地址数据……500 05 501 2C 502 0B 503 7D 504 25 505 21……601 04 602 12 603 02 604 04 605 05……流程图程序输出地址数据……501 B0 502 C6 503 FA 504 B9 505 A5…… 阅读更多
1K+ 次浏览
在这个程序中,我们将学习如何查找存储在 n 个数字数组中的 n 个数字的立方。问题陈述编写 8086 汇编语言程序以计算存储在大小为 n 的数组中每个数字的立方。数组大小存储在偏移量 600 位置,数字存储在 601 开始的位置。讨论为了解决这个问题,我们将数组的大小放入 CL 寄存器中,并将 CH 设置为 00H 用于计数。现在从每个位置将数字放入累加器中,为了立方,我们必须将其乘以三次。因此,我们将数字暂时存储…… 阅读更多
在这个程序中,我们将学习如何查找所有偶数的和。问题陈述编写 8085 汇编语言程序以查找存储在数组中的所有偶数的和。数组的大小存储在位置 F100;数字从内存位置 F101 开始存储。结果将存储在 F150。讨论要检查一个数字是奇数还是偶数,我们可以进行 AND 运算。如果一个数字是奇数,那么它将包含 1 作为最低有效位,对于偶数,最低有效位将为 0。因此,AND 运算后,如果结果为 0,那么它就是…… 阅读更多
382 次浏览
在这个程序中,我们将学习如何查找在元素数组中只出现一次的数字。问题陈述编写 8085 汇编语言程序以查找在元素数组中只出现一次的数字。数组的大小存储在位置 F100;数字从内存位置 F101 开始存储。结果将存储在 F150。讨论这个问题背后的逻辑很简单。尽管它在某些情况下可能会找到一些错误的结果。如果只有一个数字只出现一次,而其余数字…… 阅读更多
3K+ 次浏览
在这里,我们将学习如何使用 8085 除以两个 16 位数。问题陈述编写 8085 汇编语言程序以除以两个 16 位数。讨论 8085 没有除法运算。要执行除法,我们必须使用重复减法。要执行 16 位除法,我们必须这样做,但对于寄存器对也是如此。因为寄存器对用于保存 16 位数据。除数存储在位置 FC00 和 FC01,被除数存储在 FC02 和 FC03。除法后,商将存储在 FC04 和 FC05,余数将存储在 FC06 和 FC07。输入地址数据 FC00 8A FC01 5C FC02 5A FC03 1D 流程图程序地址十六进制代码标签指令注释 F000 01,…… 阅读更多
在这个程序中,我们将学习如何使用 8085 检查一个数字是否为素数。问题陈述编写 8085 汇编语言程序以检查给定数字是否为素数。讨论这里的方法有点不同。我们实际上是在计算唯一因子的数量。对于素数,因子只有两个。1 和数字本身。因此,如果结果是 02H,那么它是素数,否则不是素数。由于没有除法运算,我们必须通过重复减法来执行除法。输入地址数据 F100 07 地址数据 F100 FF 地址数据 F100 2F 流程图程序地址十六进制代码标签指令注释 F000 21, 00, F1 LXI H, F100 指向 F100 以获取…… 阅读更多