bcd.asm

来自「Library for the 8051 microcontroller. s」· 汇编 代码 · 共 69 行

ASM
69
字号
$MOD51
;Copy right Notice
;This program created by Herlambang Aribowo D3 INSEL UNDIP..
;Compiled use M-IDE for MCS-51
;This routine is for 16 bit Hex to BCD conversion
;Accepts a 16 bit binary number in (msb)R1,R2(lsb)and results 5 digit BCD in (msb)R7,R6,R5,R4,R3(lsb)
 
;--------------------------------------------------------------------------------------------- 
Hex2BCD:
        MOV R1,#0fFH            ;  MSByte
        MOV R2,#0FFH            ;  LSByte
;--------------------------------------------------------------------------------------------- 
        MOV R3,#00D
        MOV R4,#00D
        MOV R5,#00D
        MOV R6,#00D
        MOV R7,#00D
;---------------------------------------------------------------------------------------------  
; ROUTINE UTNUK PERHITUNGAN LSB RATUSAN, PULUHAN, SATUAN (R5,R4,R3)
;---------------------------------------------------------------------------------------------  
	MOV 	B,#10d
        MOV 	A,R2
        DIV 	AB
        MOV  	R3,B              	   
        MOV   	B,#10              ; R5,R4,R3
        DIV  	AB
        MOV  	R4,B
        MOV 	R5,A
        CJNE 	R1,#0H,RIBUAN      ; MSB ADA ISINYA GA?
        AJMP 	RAMPUNG            ; KONVERSI RAMPUNG
        
;---------------------------------------------------------------------------------------------  
; ROUTINE UTNUK PERHITUNGAN MSB PULUHAN RIBU, RIBUAN (R7, R6)
;---------------------------------------------------------------------------------------------   
RIBUAN:
	MOV   A,#6
        ADD   A,R3
	MOV   B,#10
	DIV   AB
        MOV   R3,B
	ADD   A,#5
        ADD   A,R4
	MOV   B,#10
	DIV   AB
        MOV   R4,B
	ADD   A,#2
        ADD   A,R5
	MOV   B,#10
	DIV   AB
        MOV   R5,B
        CJNE  R6,#00D,ADD_IT
        SJMP  PULUHANRIBU
ADD_IT:
        ADD A,R6
        
PULUHANRIBU:
        MOV R6,A
        DJNZ R1,RIBUAN
        MOV B, #10D
        MOV A,R6
        DIV AB
        MOV R6,B
        MOV R7,A
RAMPUNG:   
	SJMP $
;---------------------------------------------------------------------------------------------  
; RAMPUNG
;--------------------------------------------------------------------------------------------- 
END

⌨️ 快捷键说明

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