51单片机在进行乘、除操作时产生溢出的含义
51单片机乘法指令只有一条MUL AB,显然两个乘数应该预先存入A和B中。乘积则在指令执行后会自动存放在B和A中,且B的内容为此乘积的高8位,A为低8位。
两个单字节数相乘,乘积无论如何都不会超过双字节,所以MUL AB执行后没有紧围和溢出的可能,但是这条指令仍然借用了溢出标志位OV作为另一种二态信息的标志,即当乘积不超过单字节时令OV=0,而当乘积超过单字节时令OV=1。
除法指令也只有一条DIV AB,规定被除数应该预先存入A中,而除数存入B中。商和余数则在指令执行后会自动将商放入A,余数放入B中。除法操作中一定要避免除数为0的情况,除数B=0是最典型的溢出,则有OV=1,自然除数B≠0则溢出标志位OV=0。