📄 bcd.asm
字号:
$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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -