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

程序在8051微处理器中减去两个8位数字

仰欣悦
2023-03-14
本文向大家介绍程序在8051微处理器中减去两个8位数字,包括了程序在8051微处理器中减去两个8位数字的使用技巧和注意事项,需要的朋友参考一下

现在,在本节中,我们将看到如何使用8051微控制器减去两个8位数字。寄存器A(累加器)在操作中用作一个操作数。在不同的寄存器组中有七个寄存器R0 – R7。我们可以将它们中的任何一个用作第二操作数。

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

地址

 

20小时
73小时
21小时
BDH
 

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 value from source to register A
      MOV R5, A ; Move the value from A to R5
      MOV R4, #00H ; Clear register R4 to store borrow
      INC R0 ; Point to the next location
      MOV A, @R0 ; take the value from source to register A
      MOV R3, A ; store second byte
      MOV A, R5 ;get back the first operand
      SUBB A, R3 ; Subtract R3 from A
      JNC SAVE
      INC R4 ; Increment R4 to get borrow
      MOV B, R4 ; Get borrow to register B
      MOV @R1, B ; Store the borrow first
      INC R1 ; Increase R1 to point to the next address
SAVE: MOV @R1, A ; Store the result
HALT: SJMP HALT ; Stop the program

因此,减去73H – BDH,结果将为B6H。在位置30H,我们将得到01H。这表明结果是否定的。从结果B6H获得实际值,我们必须执行2的补码运算。执行2的补码后,结果将为-4AH。

输出结果

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

  • 本文向大家介绍程序将8051微处理器中的两个8位数字相乘,包括了程序将8051微处理器中的两个8位数字相乘的使用技巧和注意事项,需要的朋友参考一下 在这里,我们将看到如何使用此8051微控制器将两个8位数字相乘。寄存器A和B将用于乘法。没有其他寄存器可用于乘法。乘法的结果可能超过8位大小。因此,高位字节存储在寄存器B中,低位字节在乘法运算后将存储在累加器A中。 我们在20H和21H位置取两个数字F

  • 最近我遇到了一个编程难题,我一生都找不到一个满意的答案:计算字符串给出的两个任意大整数之和,其中第二个整数可能是负数。这是在Java中完成的,没有使用任何BigInteger、BigNumber等类。 我最初使用伪代码的方法如下: 如果第二个字符串的第一个字符是'-',则设置减法标志。 将每个字符串转换为一个整数数组,每个数字一个。 用零扩展最短数组和左键,以便两个数组大小相同。 循环遍历数组的每

  • 本文向大家介绍8085微处理器中的十进制递减计数器程序,包括了8085微处理器中的十进制递减计数器程序的使用技巧和注意事项,需要的朋友参考一下 我们用8085汇编语言编写一个程序,以实现十进制递减计数器(从99到00)。该程序必须在以下条件下运行。 我们向累加器加载99。 在累加器中显示累加器中的计数值。RST5.5处于未屏蔽状态,并且中断系统被启用。 该程序如下:  

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

  • key2值2 ... 文件2: 我让映射写键,值用一个字符预先说明它来自file1或file2,但不确定如何编写reduce阶段 我的map方法是