8位单片机怎么实现32位加减法

来源:百度知道 编辑:UC知道 时间:2024/06/10 05:03:23
8位单片机怎么实现32位加减法
用汇编编程

你说的实现32位加减法指的是双字节的运算吧.
;双字节减法子程序
;参数:R6R5,R4R3
;返回:R2R3
DSUB: MOV A,R5
CLR C
SUBB A,R3
MOV R3,A
MOV A,R6
SUBB A,R4
MOV R2,A
RET
;双字节加法子程序
;参数:R6R5,R4R3
;返回:R2R3
LADD: MOV A,R5
ADD A,R3
MOV R5,A
MOV A,R6
ADDC A,R4
MOV R6,A
MOV A,R5
MOV R3,A
MOV A,R6
MOV R2,A
RET
;双字节乘法子程序
;参数:R6R5,R4R3
;返回:R2R1R4R3
DMUL: MOV A,R5;
MOV B,R3
MUL AB;R5*R3
XCH A,R3;低位→R7,R7→A准备乘数
MOV R1,B;高位暂存R1
MOV B,R6
MUL AB;R6*R3