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

📄 lcd.lst

📁 FLASH烧录 麻将机。。。。 FLASH烧录 麻将机
💻 LST
📖 第 1 页 / 共 3 页
字号:
  Sat Nov 29 2008 17:23                                                                                                Page 1


                                             ***************************************
                                             **   Zardoz 65C816 Macro Assembler   **
                                             **                                   **
                                             **     Version 3.01 - Apr 20 1997    **
                                             ***************************************

     1                        
     2                        ;***************************************************************************
     3                        
     4                                        .PW             128
     5                                        .CHIP           W65C02S
     6                                        .GLOBALS	ON
     7                                        .INCLUDE        SYSTEM.CFG
     8                                        .INCLUDE       ST2205.DEF
     9                        
    10                        ;***************************************************************************
    11                        ;* extenal label definition
    12                        ;*
    13                        ;***************************************************************************
    14                        .XREF	MUL16_16
    15                        .XREF	TEMP_H3
    16                        .XREF	TEMP_H2
    17                        .XREF	TEMP_H
    18                        .XREF	TEMP_L
    19                        .XREF	FPtrH
    20                        .XREF	FPtrL
    21                        .XREF	PtrH
    22                        .XREF	PtrL
    23                        .XREF	LCD_BUF_START
    24                        .XREF	DIVIDER_L
    25                        .XREF	DIVIDER_H
    26                        .XREF	DIVIDER_H2
    27                        .XREF	DIVIDER_H3
    28                        .XREF	LCD_SEG
    29                        .XREF	LCD_COM
    30                        .XREF	LCDX
    31                        .XREF	LCDY
    32                        .XREF	MULDATA_L
    33                        .XREF	MULDATA_H
    34                        .XREF	SecPtr
    35                        .XREF	PosPtr
    36                        .XREF	DRR
    37                        .XREF	STRCNT
    38                        .XREF	ResData
    39                        .XREF	TEMP
    40                        .XREF	CHARNUM
    41                        ;***************************************************************************
    42                        ;* global label definition
    43                        ;*
    44                        ;***************************************************************************
    45                        .PUBLIC DRAW_CHAR12x12
    46                        .PUBLIC	CLS_LINE
    47                        .PUBLIC	CLS_CHAR12x12
    48                        .PUBLIC InVideo
    49                        .PUBLIC DRAW_STRING
    50                        .PUBLIC	DIVIDETEN
    51                        .PUBLIC DISP_NUMBER
    52                        .PUBLIC	CLS_CHAR12x12
  Sat Nov 29 2008 17:23                                                                                                Page 2


    53                        .PUBLIC	CLS_CHARMANY 
    54                        .PUBLIC DISP_NUMBER_IN
    55                        ;***************************************************************************
    56                        ;* Description: Section PS0
    57                        ;*
    58                        ;***************************************************************************
    59                        PS0     .SECTION
    60                        ;***************************************************************************
    61                        ;==================================================
    62                        ; Function: printer a string in the display	   |
    63                        ; Input: PtrL & PtrH & LCDX & LCDY		
    64                        ;==================================================
    65                        DRAW_STRING:
    66 00:0000: 48           		PHA
    67 00:0001: 5A           		PHY
    68                        DRAWSTRLOOP:
    69 00:0002: B2 xx        		LDA		(PtrL)
    70 00:0004: C9 00        		CMP		#0
    71 00:0006: F0 33        		BEQ		Draw_StrEnd
    72 00:0008: 8D xx xx     		STA		SecPtr	 
    73 00:000B: A0 01        		LDY		#1
    74 00:000D: B1 xx        		LDA		(PtrL,Y)
    75 00:000F: 8D xx xx     		STA		PosPtr
    76 00:0012: AD xx xx     		LDA		PtrL
    77 00:0015: 48           		PHA
    78 00:0016: AD xx xx     		LDA		PtrH
    79 00:0019: 48           		PHA
    80 00:001A: 20 xx xx     		JSR		DRAW_CHAR12x12
    81 00:001D: 68           		PLA
    82 00:001E: 8D xx xx     		STA		PtrH
    83 00:0021: 68           		PLA
    84 00:0022: 8D xx xx     		STA		PtrL
    85 00:0025: EE xx xx     		INC		LCDX
    86 00:0028: 18           		CLC	
    87 00:0029: A9 02        		LDA		#2
    88 00:002B: 6D xx xx     		ADC		PtrL
    89 00:002E: 8D xx xx     		STA		PtrL
    90 00:0031: A9 00        		LDA		#0
    91 00:0033: 6D xx xx     		ADC		PtrH
    92 00:0036: 8D xx xx     		STA		PtrH
    93 00:0039: 80 C7        		BRA		DRAWSTRLOOP		
    94                        Draw_StrEnd:	
    95 00:003B: 7A           		PLY
    96 00:003C: 68           		PLA	
    97 00:003D: 60           		RTS
    98                        
    99                        ;;==============================================================================
   100                        ;; Input: A LCDX LCDY
   101                        ;; Useing Ram: TEMP_L
   102                        ;;
   103                        ;;==============================================================================
   104                        DISP_NUMBER:
   105 00:003E: 48           		PHA
   106 00:003F: DA           		PHX
   107 00:0040: 5A           		PHY
   108 00:0041: C9 C8        		CMP		#200
   109 00:0043: B0 19        		BCS		MORE_TWOHANDRED
   110 00:0045: C9 64        		CMP		#100
  Sat Nov 29 2008 17:23                                                                                                Page 3


   111 00:0047: B0 21        		BCS		MORE_ONEHANDRED
   112 00:0049: 20 xx xx     		JSR		DIVIDETEN
   113 00:004C: C9 00        		CMP		#0
   114 00:004E: F0 06        		BEQ		DISP_NUMNXT1
   115 00:0050: 20 xx xx     		JSR		DRAW_CHAR8x8
   116 00:0053: EE xx xx     		INC		LCDX
   117                        DISP_NUMNXT1:
   118 00:0056: AD xx xx     		LDA		ResData
   119 00:0059: 20 xx xx     		JSR		DRAW_CHAR8x8
   120 00:005C: 80 28        		BRA		DISP_NUMEND
   121                        MORE_TWOHANDRED:
   122 00:005E: 38           		SEC
   123 00:005F: E9 C8        		SBC		#200
   124 00:0061: 48           		PHA
   125 00:0062: A9 02        		LDA		#2
   126 00:0064: 20 xx xx     		JSR		DRAW_CHAR8x8
   127 00:0067: 68           		PLA
   128 00:0068: 80 0A        		BRA		DISP_NUMNXT2
   129                        MORE_ONEHANDRED:
   130 00:006A: 38           		SEC
   131 00:006B: E9 64        		SBC		#100
   132 00:006D: 48           		PHA
   133 00:006E: A9 01        		LDA		#1
   134 00:0070: 20 xx xx     		JSR		DRAW_CHAR8x8
   135 00:0073: 68           		PLA
   136                        DISP_NUMNXT2:
   137 00:0074: EE xx xx     		INC		LCDX
   138 00:0077: 20 xx xx     		JSR		DIVIDETEN
   139 00:007A: 20 xx xx     		JSR		DRAW_CHAR8x8
   140 00:007D: EE xx xx     		INC		LCDX
   141 00:0080: AD xx xx     		LDA		ResData
   142 00:0083: 20 xx xx     		JSR		DRAW_CHAR8x8					
   143                        DISP_NUMEND:
   144 00:0086: 7A           		PLY
   145 00:0087: FA           		PLX
   146 00:0088: 68           		PLA
   147 00:0089: 60           		RTS
   148                        ;;==============================================================================
   149                        ;; Input: A LCDX LCDY
   150                        ;; Useing Ram: TEMP_L
   151                        ;;
   152                        ;;==============================================================================
   153                        DISP_NUMBER_IN:
   154 00:008A: 48           		PHA
   155 00:008B: DA           		PHX
   156 00:008C: 5A           		PHY
   157 00:008D: C9 C8        		CMP		#200
   158 00:008F: B0 19        		BCS		MORE_TWOHANDRED_IN
   159 00:0091: C9 64        		CMP		#100
   160 00:0093: B0 21        		BCS		MORE_ONEHANDRED_IN
   161 00:0095: 20 xx xx     		JSR		DIVIDETEN
   162 00:0098: C9 00        		CMP		#0
   163 00:009A: F0 06        		BEQ		DISP_NUMNXT1_IN
   164 00:009C: 20 xx xx     		JSR		DRAW_CHAR8x8_IN
   165 00:009F: EE xx xx     		INC		LCDX
   166                        DISP_NUMNXT1_IN:
   167 00:00A2: AD xx xx     		LDA		ResData
   168 00:00A5: 20 xx xx     		JSR		DRAW_CHAR8x8_IN
  Sat Nov 29 2008 17:23                                                                                                Page 4


   169 00:00A8: 80 28        		BRA		DISP_NUMEND_IN
   170                        MORE_TWOHANDRED_IN:
   171 00:00AA: 38           		SEC
   172 00:00AB: E9 C8        		SBC		#200
   173 00:00AD: 48           		PHA
   174 00:00AE: A9 02        		LDA		#2
   175 00:00B0: 20 xx xx     		JSR		DRAW_CHAR8x8_IN
   176 00:00B3: 68           		PLA
   177 00:00B4: 80 0A        		BRA		DISP_NUMNXT2_IN
   178                        MORE_ONEHANDRED_IN:
   179 00:00B6: 38           		SEC
   180 00:00B7: E9 64        		SBC		#100
   181 00:00B9: 48           		PHA
   182 00:00BA: A9 01        		LDA		#1
   183 00:00BC: 20 xx xx     		JSR		DRAW_CHAR8x8_IN
   184 00:00BF: 68           		PLA
   185                        DISP_NUMNXT2_IN:
   186 00:00C0: EE xx xx     		INC		LCDX
   187 00:00C3: 20 xx xx     		JSR		DIVIDETEN
   188 00:00C6: 20 xx xx     		JSR		DRAW_CHAR8x8_IN
   189 00:00C9: EE xx xx     		INC		LCDX
   190 00:00CC: AD xx xx     		LDA		ResData
   191 00:00CF: 20 xx xx     		JSR		DRAW_CHAR8x8_IN					
   192                        DISP_NUMEND_IN:
   193 00:00D2: 7A           		PLY
   194 00:00D3: FA           		PLX
   195 00:00D4: 68           		PLA
   196 00:00D5: 60           		RTS		
   197                        ;;==============================================================================
   198                        ;; Input: A -> ASSCII code  LCDX -> rang (0-29) LCDY -> rang (0-12)
   199                        ;; Output: char
   200                        ;; Use Ram: FPtrL/FPtrH,PtrL/PtrH  
   201                        ;;==============================================================================
   202                        DRAW_CHAR8x8:
   203 00:00D6: 48           		PHA
   204 00:00D7: DA           		PHX
   205 00:00D8: 5A           		PHY
   206 00:00D9: 9C xx xx     		STZ		FPtrH
   207 00:00DC: 8D xx xx     		STA		FPtrL
   208                        
   209 00:00DF: 0E xx xx     		ASL		FPtrL
   210 00:00E2: 2E xx xx     		ROL		FPtrH
   211                        		
   212 00:00E5: 0E xx xx     		ASL		FPtrL
   213 00:00E8: 2E xx xx     		ROL		FPtrH
   214                        		
   215 00:00EB: 0E xx xx     		ASL		FPtrL
   216 00:00EE: 2E xx xx     		ROL		FPtrH			;mul * 8
   217                        		
   218 00:00F1: A9 xx        		LDA		#<ASCIIFont5x7
   219 00:00F3: 18           		CLC
   220 00:00F4: 6D xx xx     		ADC		FPtrL
   221 00:00F7: 8D xx xx     		STA		FPtrL
   222 00:00FA: A9 xx        		LDA		#>ASCIIFont5x7
   223 00:00FC: 6D xx xx     		ADC		FPtrH
   224 00:00FF: 8D xx xx     		STA		FPtrH			;load font input port
   225                        ;===...............................................===		
   226 00:0102: A9 xx        		LDA		#<LCD_BUF_START 
  Sat Nov 29 2008 17:23                                                                                                Page 5


   227 00:0104: 8D xx xx     		STA		PtrL
   228 00:0107: A9 xx        		LDA		#>LCD_BUF_START 
   229 00:0109: 8D xx xx     		STA		PtrH
   230                        		
   231 00:010C: AD xx xx     		LDA		LCDY
   232 00:010F: 0A           		ASL
   233 00:0110: AA           		TAX
   234 00:0111: BD xx xx     		LDA		Mult240Tab1,X		
   235 00:0114: 18           		CLC
   236 00:0115: 6D xx xx     		ADC		PtrL
   237 00:0118: 8D xx xx     		STA		PtrL
   238 00:011B: BD xx xx     		LDA		Mult240Tab1+1,X
   239 00:011E: 6D xx xx     		ADC		PtrH
   240 00:0121: 8D xx xx     		STA		PtrH
   241                        		
   242 00:0124: A2 08        		LDX		#8
   243                        		
   244 00:0126: AC xx xx     		LDY		LCDX
   245                        Disp_8x8LP:		
   246 00:0129: B2 xx        		LDA		(FPtrL)
   247 00:012B: 91 xx        		STA		(PtrL),Y
   248                        		
   249 00:012D: 18           		CLC		
   250 00:012E: AD xx xx     		LDA		PtrL
   251 00:0131: 69 1E        		ADC		#30
   252 00:0133: 8D xx xx     		STA		PtrL
   253 00:0136: AD xx xx     		LDA		PtrH
   254 00:0139: 69 00        		ADC		#0
   255 00:013B: 8D xx xx     		STA		PtrH
   256                        
   257 00:013E: 18           		CLC
   258 00:013F: EE xx xx     		INC		FPtrL
   259 00:0142: AD xx xx     		LDA		FPtrL
   260 00:0145: C9 00        		CMP		#0
   261 00:0147: D0 03        		BNE		Disp_skip
   262 00:0149: EE xx xx     		INC		FPtrH
   263                        Disp_skip:		
   264 00:014C: CA           		DEX		
   265 00:014D: E0 00        		CPX		#0
   266 00:014F: D0 D8        		BNE		Disp_8x8LP
   267                        		
   268 00:0151: 7A           		PLY
   269 00:0152: FA           		PLX
   270 00:0153: 68           		PLA
   271 00:0154: 60           		RTS
   272                        ;;==============================================================================
   273                        ;; Input: A -> ASSCII code  LCDX -> rang (0-29) LCDY -> rang (0-12)
   274                        ;; Output: char
   275                        ;; Use Ram: FPtrL/FPtrH,PtrL/PtrH  
   276                        ;;==============================================================================
   277                        DRAW_CHAR8x8_IN:
   278 00:0155: 48           		PHA
   279 00:0156: DA           		PHX
   280 00:0157: 5A           		PHY
   281 00:0158: 9C xx xx     		STZ		FPtrH
   282 00:015B: 8D xx xx     		STA		FPtrL
   283                        
   284 00:015E: 0E xx xx     		ASL		FPtrL
  Sat Nov 29 2008 17:23                                                                                                Page 6


   285 00:0161: 2E xx xx     		ROL		FPtrH
   286                        		
   287 00:0164: 0E xx xx     		ASL		FPtrL
   288 00:0167: 2E xx xx     		ROL		FPtrH
   289                        		
   290 00:016A: 0E xx xx     		ASL		FPtrL
   291 00:016D: 2E xx xx     		ROL		FPtrH			;mul * 8
   292                        		
   293 00:0170: A9 xx        		LDA		#<ASCIIFont5x7
   294 00:0172: 18           		CLC
   295 00:0173: 6D xx xx     		ADC		FPtrL
   296 00:0176: 8D xx xx     		STA		FPtrL
   297 00:0179: A9 xx        		LDA		#>ASCIIFont5x7
   298 00:017B: 6D xx xx     		ADC		FPtrH
   299 00:017E: 8D xx xx     		STA		FPtrH			;load font input port
   300                        ;===...............................................===		
   301 00:0181: A9 xx        		LDA		#<LCD_BUF_START 
   302 00:0183: 8D xx xx     		STA		PtrL
   303 00:0186: A9 xx        		LDA		#>LCD_BUF_START 
   304 00:0188: 8D xx xx     		STA		PtrH
   305                        		
   306 00:018B: AD xx xx     		LDA		LCDY
   307 00:018E: 0A           		ASL
   308 00:018F: AA           		TAX
   309 00:0190: BD xx xx     		LDA		Mult240Tab1,X		

⌨️ 快捷键说明

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