|  | 
 
 发表于 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
 | 
 |