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

📄 kmain.lst

📁 飞利浦D12的AT89C52固件
💻 LST
📖 第 1 页 / 共 5 页
字号:
 404   4      				while (1);
 405   4      		
 406   4      			}
 407   3      		
 408   3      		} // if suspend change
 409   2      
 410   2      		if (bEPPflags.bits.setup_packet){
 411   3      			DISABLE;
 412   3      			bEPPflags.bits.setup_packet = 0;
 413   3      			ENABLE;
 414   3      			control_handler();
 415   3      			//D12SUSPD = 1;
 416   3      			D12SUSPD=0;
 417   3      		} // if setup_packet
 418   2      		
 419   2      		if(bEPPflags.bits.setup_dma != 0) {
 420   3      			DISABLE;
 421   3      			bEPPflags.bits.setup_dma --;
 422   3      			ENABLE;
 423   3      			setup_dma();
 424   3      		} // if setup_dma
 425   2      		
 426   2      	} // Main Loop
 427   1      
 428   1          on_exit();
 429   1      	//=======================================	
 430   1       
 431   1      }
 432          
C51 COMPILER V6.20c  KMAIN                                                                 10/31/2002 21:55:46 PAGE 21  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION init_timer0 (BEGIN)
                                           ; SOURCE LINE # 96
                                           ; SOURCE LINE # 97
                                           ; SOURCE LINE # 98
0000 5389F0            ANL     TMOD,#0F0H
                                           ; SOURCE LINE # 99
0003 438901            ORL     TMOD,#01H
                                           ; SOURCE LINE # 100
0006 E4                CLR     A
0007 F58A              MOV     TL0,A
                                           ; SOURCE LINE # 101
0009 F58C              MOV     TH0,A
                                           ; SOURCE LINE # 102
000B D2A9              SETB    ET0
                                           ; SOURCE LINE # 103
000D D28C              SETB    TR0
                                           ; SOURCE LINE # 104
000F D2B9              SETB    PT0
                                           ; SOURCE LINE # 107
0011 22                RET     
             ; FUNCTION init_timer0 (END)

             ; FUNCTION init_port (BEGIN)
                                           ; SOURCE LINE # 110
                                           ; SOURCE LINE # 111
                                           ; SOURCE LINE # 112
0000 7580FF            MOV     P0,#0FFH
                                           ; SOURCE LINE # 113
0003 7590FF            MOV     P1,#0FFH
                                           ; SOURCE LINE # 114
0006 75A0FF            MOV     P2,#0FFH
                                           ; SOURCE LINE # 115
0009 75B0FF            MOV     P3,#0FFH
                                           ; SOURCE LINE # 116
000C C296              CLR     MCU_D12CS
                                           ; SOURCE LINE # 117
000E C2B3              CLR     D12SUSPD
                                           ; SOURCE LINE # 118
0010 22                RET     
             ; FUNCTION init_port (END)

             ; FUNCTION init_serial (BEGIN)
                                           ; SOURCE LINE # 125
                                           ; SOURCE LINE # 126
                                           ; SOURCE LINE # 127
0000 759852            MOV     SCON,#052H
                                           ; SOURCE LINE # 128
0003 438780            ORL     PCON,#080H
                                           ; SOURCE LINE # 129
0006 758920            MOV     TMOD,#020H
                                           ; SOURCE LINE # 130
0009 758869            MOV     TCON,#069H
                                           ; SOURCE LINE # 131
000C 758DF3            MOV     TH1,#0F3H
                                           ; SOURCE LINE # 132
000F 22                RET     
             ; FUNCTION init_serial (END)

             ; FUNCTION disconnect_USB (BEGIN)
C51 COMPILER V6.20c  KMAIN                                                                 10/31/2002 21:55:46 PAGE 22  

                                           ; SOURCE LINE # 150
                                           ; SOURCE LINE # 151
                                           ; SOURCE LINE # 153
0000 7D43              MOV     R5,#043H
0002 7F02              MOV     R7,#02H
0004 020000      E     LJMP    _D12_SetMode
             ; FUNCTION disconnect_USB (END)

             ; FUNCTION connect_USB (BEGIN)
                                           ; SOURCE LINE # 156
                                           ; SOURCE LINE # 157
                                           ; SOURCE LINE # 160
0000 C2AF              CLR     EA
                                           ; SOURCE LINE # 161
0002 E4                CLR     A
0003 F500        E     MOV     bEPPflags,A
0005 F500        E     MOV     bEPPflags+01H,A
                                           ; SOURCE LINE # 162
0007 D2AF              SETB    EA
                                           ; SOURCE LINE # 165
0009 7FC0              MOV     R7,#0C0H
000B 120000      E     LCALL   _D12_SetDMA
                                           ; SOURCE LINE # 170
000E 7D43              MOV     R5,#043H
0010 7F12              MOV     R7,#012H
0012 020000      E     LJMP    _D12_SetMode
             ; FUNCTION connect_USB (END)

             ; FUNCTION reconnect_USB (BEGIN)
                                           ; SOURCE LINE # 175
                                           ; SOURCE LINE # 176
                                           ; SOURCE LINE # 179
0000 C292              CLR     MCU_LED0
                                           ; SOURCE LINE # 180
0002 C293              CLR     MCU_LED1
                                           ; SOURCE LINE # 185
0004 C2B3              CLR     D12SUSPD
                                           ; SOURCE LINE # 186
0006 120000      R     LCALL   disconnect_USB
                                           ; SOURCE LINE # 190
0009 850000      R     MOV     clk_cnt+03H,ClockTicks+03H
000C 850000      R     MOV     clk_cnt+02H,ClockTicks+02H
000F 850000      R     MOV     clk_cnt+01H,ClockTicks+01H
0012 850000      R     MOV     clk_cnt,ClockTicks
0015         ?C0006:
                                           ; SOURCE LINE # 191
0015 E500        R     MOV     A,clk_cnt+03H
0017 2414              ADD     A,#014H
0019 FF                MOV     R7,A
001A E4                CLR     A
001B 3500        R     ADDC    A,clk_cnt+02H
001D FE                MOV     R6,A
001E E4                CLR     A
001F 3500        R     ADDC    A,clk_cnt+01H
0021 FD                MOV     R5,A
0022 E4                CLR     A
0023 3500        R     ADDC    A,clk_cnt
0025 FC                MOV     R4,A
0026 AB00        E     MOV     R3,ClockTicks+03H
0028 AA00        E     MOV     R2,ClockTicks+02H
002A A900        E     MOV     R1,ClockTicks+01H
002C A800        E     MOV     R0,ClockTicks
C51 COMPILER V6.20c  KMAIN                                                                 10/31/2002 21:55:46 PAGE 23  

002E C3                CLR     C
002F 120000      E     LCALL   ?C?ULCMP
0032 40E1              JC      ?C0006
0034         ?C0007:
                                           ; SOURCE LINE # 194
0034 120000      R     LCALL   connect_USB
                                           ; SOURCE LINE # 196
0037 D292              SETB    MCU_LED0
                                           ; SOURCE LINE # 197
0039 D293              SETB    MCU_LED1
                                           ; SOURCE LINE # 199
003B 22                RET     
             ; FUNCTION reconnect_USB (END)

             ; FUNCTION stall_ep0 (BEGIN)
                                           ; SOURCE LINE # 201
                                           ; SOURCE LINE # 202
                                           ; SOURCE LINE # 203
0000 7D01              MOV     R5,#01H
0002 E4                CLR     A
0003 FF                MOV     R7,A
0004 120000      E     LCALL   _D12_SetEndpointStatus
                                           ; SOURCE LINE # 204
0007 7D01              MOV     R5,#01H
0009 7F01              MOV     R7,#01H
000B 020000      E     LJMP    _D12_SetEndpointStatus
             ; FUNCTION stall_ep0 (END)

             ; FUNCTION on_exit (BEGIN)
                                           ; SOURCE LINE # 208
                                           ; SOURCE LINE # 209
                                           ; SOURCE LINE # 211
0000 22                RET     
             ; FUNCTION on_exit (END)

             ; FUNCTION check_key_LED (BEGIN)
                                           ; SOURCE LINE # 213
                                           ; SOURCE LINE # 214
                                           ; SOURCE LINE # 217
0000 A291              MOV     C,MCU_SWM1
0002 8290              ANL     C,MCU_SWM0
0004 E4                CLR     A
0005 33                RLC     A
0006 F500        R     MOV     c,A
                                           ; SOURCE LINE # 218
0008 53000F      R     ANL     c,#0FH
                                           ; SOURCE LINE # 219
000B E500        R     MOV     A,c
000D 6500        R     XRL     A,last_key
000F 600D              JZ      ?C0011
                                           ; SOURCE LINE # 220
0011 7B00              MOV     R3,#00H
0013 7A00        R     MOV     R2,#HIGH c
0015 7900        R     MOV     R1,#LOW c
0017 7D01              MOV     R5,#01H
0019 7F03              MOV     R7,#03H
001B 120000      E     LCALL   _D12_WriteEndpoint
                                           ; SOURCE LINE # 221
001E         ?C0011:
                                           ; SOURCE LINE # 223
001E 850000      R     MOV     last_key,c
                                           ; SOURCE LINE # 225
C51 COMPILER V6.20c  KMAIN                                                                 10/31/2002 21:55:46 PAGE 24  

0021 AF00        E     MOV     R7,bEPPflags+01H
0023 EF                MOV     A,R7
0024 13                RRC     A
0025 13                RRC     A
0026 543F              ANL     A,#03FH
0028 30E019            JNB     ACC.0,?C0013
                                           ; SOURCE LINE # 226
002B C2AF              CLR     EA
                                           ; SOURCE LINE # 227
002D AF00        E     MOV     R7,bEPPflags+01H
002F EF                MOV     A,R7
0030 54FB              ANL     A,#0FBH
0032 F500        E     MOV     bEPPflags+01H,A
                                           ; SOURCE LINE # 228
0034 D2AF              SETB    EA
                                           ; SOURCE LINE # 229
0036 7800        E     MOV     R0,#LOW GenEpBuf+03H
0038 E6                MOV     A,@R0
0039 FF                MOV     R7,A
003A 13                RRC     A
003B B3                CPL     C
003C 9292              MOV     MCU_LED0,C
                                           ; SOURCE LINE # 230
003E EF                MOV     A,R7
003F A2E1              MOV     C,ACC.1
0041 B3                CPL     C
0042 9293              MOV     MCU_LED1,C
                                           ; SOURCE LINE # 231
                                           ; SOURCE LINE # 232
0044         ?C0013:
0044 22                RET     
             ; FUNCTION check_key_LED (END)

             ; FUNCTION init_unconfig (BEGIN)
                                           ; SOURCE LINE # 234
                                           ; SOURCE LINE # 235
                                           ; SOURCE LINE # 238
0000 E4                CLR     A
0001 FF                MOV     R7,A
0002 020000      E     LJMP    _D12_SetEndpointEnable
             ; FUNCTION init_unconfig (END)

             ; FUNCTION init_config (BEGIN)
                                           ; SOURCE LINE # 241
                                           ; SOURCE LINE # 242
                                           ; SOURCE LINE # 243
0000 7F01              MOV     R7,#01H
0002 020000      E     LJMP    _D12_SetEndpointEnable
             ; FUNCTION init_config (END)

             ; FUNCTION _single_transmit (BEGIN)
                                           ; SOURCE LINE # 247
;---- Variable 'len' assigned to Register 'R5' ----
;---- Variable 'buf' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 248
                                           ; SOURCE LINE # 249
0000 ED                MOV     A,R5
0001 D3                SETB    C
0002 9410              SUBB    A,#010H
0004 5005              JNC     ?C0017
                                           ; SOURCE LINE # 250
0006 7F01              MOV     R7,#01H
C51 COMPILER V6.20c  KMAIN                                                                 10/31/2002 21:55:46 PAGE 25  

0008 120000      E     LCALL   _D12_WriteEndpoint
                                           ; SOURCE LINE # 251
                                           ; SOURCE LINE # 252
000B         ?C0017:
000B 22                RET     
             ; FUNCTION _single_transmit (END)

             ; FUNCTION _code_transmit (BEGIN)
                                           ; SOURCE LINE # 254
0000 8E00        R     MOV     pRomData,R6
0002 8F00        R     MOV     pRomData+01H,R7
;---- Variable 'len' assigned to Register 'R4/R5' ----
                                           ; SOURCE LINE # 255
                                           ; SOURCE LINE # 256
0004 E4                CLR     A
0005 F500        R     MOV     ControlData+0AH,A
0007 F500        R     MOV     ControlData+0BH,A
                                           ; SOURCE LINE # 257
0009 D3                SETB    C
000A E500        R     MOV     A,ControlData+09H
000C 9D                SUBB    A,R5
000D E500

⌨️ 快捷键说明

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