8051程序将两个8位数字相乘
现在,我们将尝试使用此8051微控制器将两个8位数字相乘。寄存器A和B将用于乘法。没有其他寄存器可用于乘法。乘法的结果可能超过8位大小。因此,高位字节存储在寄存器B中,低位字节在乘法运算后将存储在累加器A中。
我们在20H和21H位置取两个数字FFH和FFH,相乘后结果将存储在30H和31H位置。
。
。
。
。
。
。
程序
MOV R0, #20H;set source address 20H to R0
MOV R1, #30H;set destination address 30H to R1
MOV A, @R0;take the first operand from source to register A
INCR0; Point to the next location
MOV B,@R0;take the second operand from source to register B
MUL AB ;Multiply A and B
MOV @R1, B; Store higher order byte to 30H
INC R1; Increase R1 to point to the next location
MOV @R1, A;Store lower order byte to 31H
HALT: SJMP HALT ; Stop the program8051提供了MULAB 指令。通过使用此指令,可以完成乘法运算。在其他一些微处理器(如8085)中,没有MUL指令。在那个微处理器中,我们需要使用重复的ADD运算来获得乘法结果。
当结果低于255时,溢出标志OV为低,否则为1。
输出结果
。
。
。
。
。
。
热门推荐
5 初八祝福语简短语
10 师生聚餐的祝福语简短
11 送个姐妹生日祝福语简短
12 药店祝福语简短10字
13 喜得孙子祝福语简短独特
14 上班收到花束祝福语简短
15 简短大气的狗年祝福语
16 3岁孩子祝福语简短
17 结婚喜庆的祝福语简短
18 家长祝福语大全简短内容