⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcd_byte.lst

📁 Library for the 8051 microcontroller. such as math routine, hexBCD, LCD, Keyboard, I2C, Remote, Ke
💻 LST
字号:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Macro Assembler   A S E M - 5 1   V 1.3
       =====================================================



	Source File:	E:\MiCrOConTroller\Coba_M-IDE\BCD_byte\bcd_byte.asm
	Object File:	E:\MiCrOConTroller\Coba_M-IDE\BCD_byte\bcd_byte.hex
	List File:	E:\MiCrOConTroller\Coba_M-IDE\BCD_byte\bcd_byte.lst



 Line  I  Addr  Code            Source

    1:				;#############################################################################
    2:				;#              VAULT INFORMATION SERVICES - 8052 CODE EXAMPLE               #
    3:				;#             (C) Copyright 1997 by Vault Information Services              #
    4:				;#                                                                           #
    5:				;# This code fragment is provided to the public free of charge and WITHOUT   #
    6:				;# OF ANY KIND,  NEITHER EXPRESS OR IMPLIED.   This code is offered as  an   #
    7:				;# example of  8052  programming.   VIS extends no warranty regarding  its   #
    8:				;# functionality or fitness for a specific purpose.;#                        #
    9:				;# The user may  utilize this code in  any way he/she sees fit,  including   #
   10:				;# using it in his/her own program,  commercial or otherwise.  However, by   #
   11:				;# using this  code the  user states his/her  acceptance of the  above and   #
   12:				;# holds  VIS indemnified against any and all claims that may arise due to   #
   13:				;# the use or misuse of this code.                                           #
   14:				;#############################################################################
   15:
   16:				;********************************************************************
   17:				;********************************************************************
   18:				;** Function: bcd_to_byte                                          **
   19:				;** Purpose:  Convert a two-byte BCD into a single byte            **
   20:				;** Input:    A    = Hi byte to convert (ASCII 0x30-0x39,0x41-0x46)**
   21:				;**           R0   = Lo byte to convert (ASCII 0x30-0x39,0x41-0x46)**
   22:				;** Output:   A    = Converted value (binary 0x00-0xFF)            **
   23:				;** Destroyed Registers: None                                      **
   24:				;********************************************************************
   25:				;********************************************************************
   26:	  0000			bcd_to_byte:
   27:	  0000	C8		    XCH     A,R0
   28:	  0001	94 30		    SUBB    A,#30h
   29:	  0003	30 E4 02	    JNB     ACC.4,bcd_to_byte_2
   30:	  0006	94 07		    SUBB    A,#07h
   31:	  0008			bcd_to_byte_2:
   32:	  0008	C8		    XCH     A,R0
   33:	  0009	94 30		    SUBB    A,#30h
   34:	  000B	30 E4 02	    JNB     ACC.4,bcd_to_byte_3
   35:	  000E	94 07		    SUBB    A,#07h
   36:	  0010			bcd_to_byte_3:
   37:	  0010	C4		    SWAP    A
   38:	  0011	48		    ORL     A,R0
   39:	  0012	22		    RET
   40:
   41:				;********************************************************************
   42:				;********************************************************************
   43:				;** Function: byte_to_bcd                                          **

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:				;** Purpose:  Convert a single byte into two BCD digits            **
   45:				;** Input:    A    = Byte to convert (0x00-0xFF)                   **
   46:				;** Output:   A    = High nibble (ASCII 0x30-0x39,0x41-0x46)       **
   47:				;**           R0   = Low nibble (ASCII 0x30-0x39, 0x41-0x46)       **
   48:				;** Destroyed Registers: None                                      **
   49:				;********************************************************************
   50:				;********************************************************************
   51:	  0013			byte_to_bcd:
   52:	  0013	F8		    MOV     R0,A
   53:	  0014	54 0F		    ANL     A,#0Fh
   54:	  0016	24 F6		    ADD     A,#0F6h
   55:	  0018	50 02		    JNC     byte_to_bcd_2
   56:	  001A	24 07		    ADD     A,#07h
   57:	  001C			byte_to_bcd_2:
   58:	  001C	24 3A		    ADD     A,#3Ah
   59:	  001E	C8		    XCH     A,R0
   60:	  001F	C4		    SWAP    A
   61:	  0020	54 0F		    ANL     A,#0Fh
   62:	  0022	24 F6		    ADD     A,#0F6h
   63:	  0024	50 02		    JNC     byte_to_bcd_3
   64:	  0026	24 07		    ADD     A,#07h
   65:	  0028			byte_to_bcd_3:
   66:	  0028	24 3A		    ADD     A,#3Ah
   67:	  002A	22		    RET
   68:
   69:				    END





                     register banks used:  ---

                     no errors




ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 3





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
??ASEM_51			  NUMBER    8051
??VERSION			  NUMBER    0130
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
BCD_TO_BYTE			  CODE	    0000	  26
BCD_TO_BYTE_2			  CODE	    0008	  31
BCD_TO_BYTE_3			  CODE	    0010	  36
BYTE_TO_BCD			  CODE	    0013	  51
BYTE_TO_BCD_2			  CODE	    001C	  57
BYTE_TO_BCD_3			  CODE	    0028	  65
CY				  BIT	      D7
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
PS				  BIT	      BC
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TXD				  BIT	      B1
WR				  BIT	      B6

⌨️ 快捷键说明

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