双字节平方.asm
来自「开发平台,任一MCS-51单片机上,很多程序,如键盘,显示,液晶驱动」· 汇编 代码 · 共 54 行
ASM
54 行
ORG 00H
LJMP MAIN
ORG 50H
MAIN:
MOV R2,#02H
MOV R3,#8AH
MOV R6,#02H
MOV R7,#8AH
LCALL MULD
AJMP $
;**************************************************************
;*****************双字节二进制无符号数乘法*********************
;**************************************************************
;程序名:MULD
;入口条件:被乘数在R2、R3中,乘数在R6、R7中。
;出口信息:乘积在R2、R3、R4、R5中。
;影响资源:PSW、A、B、R2~R7 堆栈需求:2字节
MULD: MOV A,R3 ;计算R3乘R7
MOV B,R7
MUL AB
MOV R4,B ;暂存部分积
MOV R5,A ;将低位送入R5
MOV A,R3 ;计算R3乘R6
MOV B,R6
MUL AB
ADD A,R4 ;累加部分积
MOV R4,A
CLR A
ADDC A,B
MOV R3,A
MOV A,R2 ;计算R2乘R7
MOV B,R7
MUL AB
ADD A,R4 ;累加部分积
MOV R4,A
MOV A,R3
ADDC A,B
MOV R3,A
CLR A ;将进位位移入A的最低位
RLC A ;将进位位移入A的最低位
XCH A,R2 ;计算R2乘R6
MOV B,R6
MUL AB
ADD A,R3 ;累加部分积
MOV R3,A
MOV A,R2
ADDC A,B
MOV R2,A
RET
;**************************************************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?