|
发表于 2006-9-28 02:02:24
|
显示全部楼层
QKUL: MOV A,R3 ;R2,R3XR6,R7-->R4,R5,R6,R7
MOV B,R7
MUL AB ;低字节相乘
XCH A,R7 ;保存原R7乘数,并把低字节的结果保存在R7
MOV R5,B
MOV B,R2
MUL AB ;原R7低字节与另一数的高字节相乘,高字节相当于平时的十位
ADD A,R5 ;低字节相当于平时的个位,因为高字节实际在后面加一个字节
MOV R4,A ;的‘0’,下面的运算跟小学的两位数乘以两位数一样道理了,
CLR A ;用笔写一下就知道那要加及那个跟那个加,那个要保存了
ADDC A,B
MOV R5,A
MOV A,R6
MOV B,R3
MUL AB
ADD A,R4
XCH A,R6
XCH A,B
ADDC A,R5
MOV R5,A
MOV PSW.5,C ;溢出标志(进位),以下是高位相乘并调整相加结果了
MOV A,R2
MUL AB
ADD A,R5
MOV R5,A
CLR A
MOV ACC.0,C
MOV C,PSW.5
ADDC A,B
MOV R4,A
RET |
|