基于Keil C和Protues(51单片机)软件用汇编语言实现十六位数的加减乘运算程序

2025-03-12 18:53:18
推荐回答(2个)
回答1:

;R3R2+R7R6=R3R2...C
ADD16:
MOV A,R2

ADD A,R6

MOV R2,A

MOV A,R3

ADDC A,R7

MOV R3,A

RET

;R3R2-R7R6=R3R2....C
SUBB16:
CLR C

MOV A,R2

SUBB A,R6

MOV R2,A

MOV A,R3

SUBB A,R7

MOV R3,A

RET

;(R3R4*R6R7)=(R5R2R3R4)
NMUL22 : MOV A,R4

MOV B,R7
MUL AB
XCH A,R4
MOV R5,B
MOV B,R6
MUL AB
ADD A,R5
MOV R5,A
CLR A
ADDC A,B
MOV R2,A
MOV A,R3
MOV B,R7
MUL AB
ADD A,R5
MOV R5,A
MOV A,B
ADDC A,R2
MOV R2,A
CLR A
ADDC A,#00H
XCH A,R3
MOV B,R6
MUL AB
ADD A,R2
MOV R2,A
MOV A,B
ADDC A,R3
XCH A,R5
MOV R3,A
CLR OV
RET

回答2:

直接写不就行了么?不太明白你要得到什么结果