3、“•^T*♦{•♦[・*T*ORGOOOOHLJMPMAINORG0030HMAIN:MOVS匕#60HCLRRSOCLRRSIACALLINIT;LCD初始化;参数设置AD574:MOVDPTR,#AD_12CMD_WRMOVX@DPTR,A;启动转换SETBP3.0LOOP:NOPJBP3.0,LOOPMOVDPTR,#AD_8HB_RDMOVXA,@DPTRMOVR2,AMOVDPTR,#AD_4LB_RDMOVXA,@DPTRMOVR3,A;数据处理(参数)传递
4、;R2R3=(ABC0);处理后R2R3=(0ABC)MOVA,R2SWAPA;高低交换MOVR5,AANLA,#0F0H;MOVR4,AMOVA,R3SWAPAORLA,R4MOVR3,AMOVA,R5ANLA,#0FHMOVR2,A;入口参数:被减数在R2R3屮,减数在R6R7中;出口参数:差值在R2R3中MOVR6,#08HMOVR7,#00HCLRC;==========MOVA,R2SUBBA,R6JNCSUBI;无借位,直接运算SETB02HMOVA,R2CPLA;取反ANLA,#0FHMOVR2,AMOVA,R3CPLAMOVR3,ASUBI:CLRCMOVA,R
5、3SUBBA,R7MOVR3,AMOVA,R2SUBBA,R6MOVR2,A;乘以10计算MOVR1,#00HMOVA,R3LCALLMUL10MOV49H,AMOVA,R2LCALLMUL10MOV48H,A;除法运算;整数部分MOVR0,#30HLCALLDIVDOMOVA,40HMOV@R0,AINCROMOVA,#2EHMOV@R0,AINCRO;小数部分MOV45H,#05HALUDEF:MOVA,42HLCALLMUL10MOV47H,AMOVA,41HLCALLMUL10MOV46H,A;确定小数LCALLDIVD1MOVA,40HMOV@R0,AINCRODJN
6、Z45H,ALUDEFMOVA,#05HCLRCSUBBA,40HJCDV53SJMPDV54DV53:INC40HDECROMOVA,40HMOV@R0,ALOPJ:CJNE@R0,#0AH,DV54MOV@R0,#00HDECROINC@R0INCRO;========SJMPLOPJDV54:CLROVINCROMOV@R0,#56H;RET;显示MOVA,#01HACALLC51MOVA,#81HACALLC51MOVDPTR,#TAB1LCHIN:CLRAMOVCA,@A+DPTRINCDPTRLCALLC51DDRJNZLCHINMOVA,#0C3HACALLC51
7、JNB02H,LOP_MOVA,#2DHLCALLC51DDRLOP_:MOVR0,#30HMOVA,@ROLCALLCHASCIIINCROLCALLC51DDRMOVA,@ROINCROLCALLC51DDRMOVR1,#06HLOPXS:MOVA,@ROLCALLCHASCIILCALLC51DDRINCRODJNZR1,LOPXSMOVR2,#5DELLlms:LCALLDELDJNZR2,DELLlmsMOVA,#01HACALLC51MOVA,#0C3HACALLC51CLR02