您的位置首页百科问答

用汇编语言将BCD码转化为十六进制数

用汇编语言将BCD码转化为十六进制数

Hex2Bcd: CLR A MOV BCDDATA,A ;正负号初始化虚庆 MOV A,R6 JNB ACC.7,H2B MOV BCDDATA,#0AH ;建负号困备标志 CPL A MOV R6,A MOV A,R7 CPL A INC A MOV R7,A JNZ H2B INC R6 H2B: MOV R4,#0AH MOV B,R4 MOV A,R6 DIV AB MOV R6,A MOV A,R7 ANL A,#0F0H ORL A,B SWAP A MOV B,R4 DIV AB MOV R2,A MOV A,R7 SWAP A ANL A,#0F0H ORL A,B SWAP A MOV B,R4 DIV AB MOV BcdData+3,B ;得到个位 SWAP A ORL A,R2 SWAP A MOV R7,A ;第一次除法完成 ANL A,#0F0H ORL A,R6 SWAP A MOV B,#0AH DIV AB SWAP A MOV R1,A ;存入高位商差尺握MOV A,R7 ANL A,#0FH SWAP A ORL A,B SWAP A MOV B,R4 DIV AB ;第二次除法完成 MOV BcdData+2,B ;保存BCD十位 ORL A,R1 MOV B,R4 DIV AB MOV BcdData+1,B ;保存百位 JZ Hex2BcdRet MOV BcdData+0,A ;保存千位;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Hex2BcdRet: RET END