当前位置: 首页 > 编程笔记 >

程序将8051微处理器中的两个8位数字相乘

鲜于高明
2023-03-14
本文向大家介绍程序将8051微处理器中的两个8位数字相乘,包括了程序将8051微处理器中的两个8位数字相乘的使用技巧和注意事项,需要的朋友参考一下

在这里,我们将看到如何使用此8051微控制器将两个8位数字相乘。寄存器A和B将用于乘法。没有其他寄存器可用于乘法。乘法的结果可能超过8位大小。因此,高位字节存储在寄存器B中,低位字节在乘法运算后将存储在累加器A中。

我们在20H和21H位置取两个数字FFH和FFH,相乘后结果将存储在30H和31H位置。

地址

 

20小时
FFH
21小时
FFH
 

30小时
00小时
31小时
00小时
 


程序

      MOV R0, #20H ; set source address 20H to R0
      MOV R1, #30H ; set destination address 30H to R1
      MOV A, @R0 ; take the first operand from source to register A
      INC R0 ; Point to the next location
      MOV B, @R0 ; take second operand from source to register B
      MUL AB ; Multiply A and B
      MOV @R1, B ; Store higher order byte to 30H
      INC R1 ; Increase R1 to point to the next location
      MOV @R1, A ; Store lower order byte to 31H
HALT: SJMP HALT ; Stop the program


8051提供了MUL AB指令。通过使用此指令,可以完成乘法运算。在某些其他微处理器(如8085)中,没有MUL指令。在那个微处理器中,我们需要使用重复的ADD运算来获得乘法结果。

当结果低于255时,溢出标志OV为低,否则为1。

输出结果

地址

 

20小时
FFH
21小时
FFH
 

30小时
远东
31小时
01小时
 

 类似资料:
  • 本文向大家介绍在8051微处理器中将两个8位数字相除的程序,包括了在8051微处理器中将两个8位数字相除的程序的使用技巧和注意事项,需要的朋友参考一下 在这里,我们将看到除法运算。使用此8051微控制器,此操作将被用于除以两个8位数字。寄存器A和B将用于此操作。没有其他寄存器可用于除法。除法的结果分为两个部分。商部分和余数部分。寄存器A将保留商数,寄存器B将保留余数。 我们在位置20H和21H取两

  • 本文向大家介绍程序在8051微处理器中减去两个8位数字,包括了程序在8051微处理器中减去两个8位数字的使用技巧和注意事项,需要的朋友参考一下 现在,在本节中,我们将看到如何使用8051微控制器减去两个8位数字。寄存器A(累加器)在操作中用作一个操作数。在不同的寄存器组中有七个寄存器R0 – R7。我们可以将它们中的任何一个用作第二操作数。 我们在位置20H和21H取两个数字73H和BDH,相减后

  • 本文向大家介绍8085程序将两个16位二进制数相乘,包括了8085程序将两个16位二进制数相乘的使用技巧和注意事项,需要的朋友参考一下 现在让我们看一下Intel 8085微处理器的程序。该程序将计算两个16位数字的乘法。 问题陈述 编写8085汇编语言程序,将两个分别存储在8000H -8001H和8002H-8003H的16位数字相乘。 讨论区 该程序从存储单元8000H – 8001Hand

  • 本文向大家介绍8085微处理器中的程序计数器(PC),包括了8085微处理器中的程序计数器(PC)的使用技巧和注意事项,需要的朋友参考一下 PC是一个16位寄存器。它包含一个内存地址。PC包含该内存地址,将从该地址中提取下一条指令以执行。假设PC内容为8000H,则意味着8085希望在8000H处获取指令字节。在8000H提取字节后,PC会自动递增1。这种方式8085准备提取指令的下一个字节(如果

  • 有人请解释一下。为什么下面的程序产生16个?

  • 本文向大家介绍用于在8085微处理器中从键盘输入2个数字的程序,包括了用于在8085微处理器中从键盘输入2个数字的程序的使用技巧和注意事项,需要的朋友参考一下 我们使用键盘上的两个2位十六进制数字编写了一个8085汇编语言程序,该程序有两个输入,然后在地址字段中相加并输出结果。