bcd.asm

来自「8051 进行加解密的源代码」· 汇编 代码 · 共 54 行

ASM
54
字号
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Copy right Notice;;;;;;;;;;;;;;;;;;This program is for personal use only.You may change/modify it regarding ur requirements. ;;This program has been tested and verfied, but in case of any queries, feel free to ;;email(mail_to_salman@yahoo.com) me.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;This routine is for 16 bit Hex to BCD conversion;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Accepts a 16 bit binary number in R1,R2 and returns 4 BCD ch. in R7( MS byte) ;;and R4(LS byte)  Hex2BCD:	MOV R1,#04H        ;  MSByte        MOV R2,#0D2H       ;  LSByte        	MOV R4,#00D        MOV R5,#00D        MOV R6,#00D        MOV R7,#00D	MOV B,#10D        MOV A,R2        DIV AB        MOV   R4,B  	 	;  7,6,5,4  IS BCD DATA	        MOV   B,#10           	;  R7,R6,R5,R4        DIV   AB        MOV   R5,B        MOV   R6,A        CJNE R1,#0H,HIGH_BYTE   ; CHECK FOR HIGH BYTE        SJMP ENDDHIGH_BYTE:	MOV   A,#6	ADD   A,R4	MOV   B,#10	DIV   AB	MOV   R4,B	ADD   A,#5	ADD   A,R5	MOV   B,#10	DIV   AB	MOV   R5,B	ADD   A,#2	ADD   A,R6	MOV   B,#10	DIV   AB	MOV   R6,B        CJNE R7,#00D,ADD_IT        SJMP CONTINUEADD_IT:        ADD A,R7CONTINUE:        MOV   R7,A        DJNZ R1,HIGH_BYTE       

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?