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

上节课老师留下的作业,让用汇编语言实现十六位数之间的加减乘(没有除)运算,上课没怎么听,不知道怎么写程序,我们上课用的软件是 Keil C 和 Protues ,硬件用的89C51单片机,也不知道最后怎么输入运算得出结果(有像C语言一样弹出一个窗口让输入输出数据吗?),求各位大神援助下!写好程序可以发我邮箱 [email protected]

第1个回答  2014-05-09
;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个回答  2014-05-07
直接写不就行了么?不太明白你要得到什么结果追问

就是不会写嘛。