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 + -
显示快捷键?