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

📄 sd_test.lst

📁 mmc/sd卡的实现源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
;//  ASM code generated by mikroVirtualMachine for PIC - V. 3.0.0.0
;  Date/Time: 2.6.2005 15:20:01
;  Info: http://www.mikroelektronika.co.yu


;// ADDRESS	OPCODE	ASM
; ----------------------------------------------
$0000	$EFC6	F003	GOTO	SD_test_main
$0008	$	spilib_s_b_spi_read:
$0008	$0100	MOVLB	0
$000A	$0102	MOVLB	2
$000C	$5178	MOVF	spilib_s_b_spi_read_param_input, W, 1
$000E	$6EC9	MOVWF	SSPBUF, 0
$0010	$	spilib_s_b_L_24:
$0010	$0E00	MOVLW	0
$0012	$B0C7	BTFSC	SSPSTAT, 0, 0
$0014	$0E01	MOVLW	1
$0016	$6E01	MOVWF	STACK_1, 0
$0018	$0E00	MOVLW	0
$001A	$5C01	SUBWF	STACK_1, W, 0
$001C	$E103	BNZ	spilib_s_b_L_26
$001E	$	spilib_s_b_L_25:
$001E	$0EFF	MOVLW	255
$0020	$6E02	MOVWF	STACK_2, 0
$0022	$D001	BRA	spilib_s_b_L_27
$0024	$	spilib_s_b_L_26:
$0024	$6A02	CLRF	STACK_2, 0
$0026	$	spilib_s_b_L_27:
$0026	$0EFF	MOVLW	255
$0028	$5C02	SUBWF	STACK_2, W, 0
$002A	$E102	BNZ	spilib_s_b_L_29
$002C	$	spilib_s_b_L_28:
$002C	$0000	nop
$002E	$D7F0	BRA	spilib_s_b_L_24
$0030	$	spilib_s_b_L_29:
$0030	$50C9	MOVF	SSPBUF, W, 0
$0032	$6F77	MOVWF	spilib_s_b_spi_read_local_result, 1
$0034	$0012	RETURN
$0036	$	sdlib_sd_spi:
$0036	$0102	MOVLB	2
$0038	$5176	MOVF	sdlib_sd_spi_param_data_out, W, 1
$003A	$6F78	MOVWF	spilib_s_b_spi_read_param_input, 1
$003C	$EC04	F000	CALL	spilib_s_b_spi_read
$0040	$5177	MOVF	spilib_s_b_spi_read_local_result, W, 1
$0042	$6F75	MOVWF	sdlib_sd_spi_local_result, 1
$0044	$0012	RETURN
$0046	$	usartlib_u_a_usart_write:
$0046	$0102	MOVLB	2
$0048	$	usartlib_u_a_L_6:
$0048	$0E00	MOVLW	0
$004A	$B2AC	BTFSC	TXSTA, 1, 0
$004C	$0E01	MOVLW	1
$004E	$6E01	MOVWF	STACK_1, 0
$0050	$0E00	MOVLW	0
$0052	$5C01	SUBWF	STACK_1, W, 0
$0054	$E103	BNZ	usartlib_u_a_L_8
$0056	$	usartlib_u_a_L_7:
$0056	$0EFF	MOVLW	255
$0058	$6E02	MOVWF	STACK_2, 0
$005A	$D001	BRA	usartlib_u_a_L_9
$005C	$	usartlib_u_a_L_8:
$005C	$6A02	CLRF	STACK_2, 0
$005E	$	usartlib_u_a_L_9:
$005E	$0EFF	MOVLW	255
$0060	$5C02	SUBWF	STACK_2, W, 0
$0062	$E102	BNZ	usartlib_u_a_L_11
$0064	$	usartlib_u_a_L_10:
$0064	$0000	nop
$0066	$D7F0	BRA	usartlib_u_a_L_6
$0068	$	usartlib_u_a_L_11:
$0068	$516B	MOVF	usartlib_u_a_usart_write_param_data, W, 1
$006A	$6EAD	MOVWF	TXREG, 0
$006C	$0012	RETURN
$006E	$	spilib_s_b_spi_init_advanced:
$006E	$0102	MOVLB	2
$0070	$0ED7	MOVLW	215
$0072	$6E94	MOVWF	TRISC, 0
$0074	$6AC6	CLRF	SSPCON1, 0
$0076	$50C6	MOVF	SSPCON1, W, 0
$0078	$116B	IORWF	spilib_s_b_spi_init_advanced_param_master, W, 1
$007A	$6EC6	MOVWF	SSPCON1, 0
$007C	$50C6	MOVF	SSPCON1, W, 0
$007E	$116D	IORWF	spilib_s_b_spi_init_advanced_param_clock_idle, W, 1
$0080	$6EC6	MOVWF	SSPCON1, 0
$0082	$50C7	MOVF	SSPSTAT, W, 0
$0084	$116C	IORWF	spilib_s_b_spi_init_advanced_param_data_sample, W, 1
$0086	$6EC7	MOVWF	SSPSTAT, 0
$0088	$0E00	MOVLW	0
$008A	$5D6D	SUBWF	spilib_s_b_spi_init_advanced_param_clock_idle, W, 1
$008C	$E003	BZ	spilib_s_b_L_1
$008E	$	spilib_s_b_L_0:
$008E	$0EFF	MOVLW	255
$0090	$6E01	MOVWF	STACK_1, 0
$0092	$D001	BRA	spilib_s_b_L_3
$0094	$	spilib_s_b_L_1:
$0094	$6A01	CLRF	STACK_1, 0
$0096	$	spilib_s_b_L_3:
$0096	$0EFF	MOVLW	255
$0098	$5C01	SUBWF	STACK_1, W, 0
$009A	$E10C	BNZ	spilib_s_b_L_5
$009C	$	spilib_s_b_L_4:
$009C	$0E00	MOVLW	0
$009E	$5D6E	SUBWF	spilib_s_b_spi_init_advanced_param_low_to_high, W, 1
$00A0	$E103	BNZ	spilib_s_b_L_7
$00A2	$	spilib_s_b_L_6:
$00A2	$0EFF	MOVLW	255
$00A4	$6E01	MOVWF	STACK_1, 0
$00A6	$D001	BRA	spilib_s_b_L_9
$00A8	$	spilib_s_b_L_7:
$00A8	$6A01	CLRF	STACK_1, 0
$00AA	$	spilib_s_b_L_9:
$00AA	$0EFF	MOVLW	255
$00AC	$5C01	SUBWF	STACK_1, W, 0
$00AE	$E101	BNZ	spilib_s_b_L_11
$00B0	$	spilib_s_b_L_10:
$00B0	$8CC7	BSF	SSPSTAT, 6, 0
$00B2	$	spilib_s_b_L_11:
$00B2	$	spilib_s_b_L_8:
$00B2	$D00B	BRA	spilib_s_b_L_2
$00B4	$	spilib_s_b_L_5:
$00B4	$0E01	MOVLW	1
$00B6	$5D6E	SUBWF	spilib_s_b_spi_init_advanced_param_low_to_high, W, 1
$00B8	$E103	BNZ	spilib_s_b_L_13
$00BA	$	spilib_s_b_L_12:
$00BA	$0EFF	MOVLW	255
$00BC	$6E01	MOVWF	STACK_1, 0
$00BE	$D001	BRA	spilib_s_b_L_15
$00C0	$	spilib_s_b_L_13:
$00C0	$6A01	CLRF	STACK_1, 0
$00C2	$	spilib_s_b_L_15:
$00C2	$0EFF	MOVLW	255
$00C4	$5C01	SUBWF	STACK_1, W, 0
$00C6	$E101	BNZ	spilib_s_b_L_17
$00C8	$	spilib_s_b_L_16:
$00C8	$8CC7	BSF	SSPSTAT, 6, 0
$00CA	$	spilib_s_b_L_17:
$00CA	$	spilib_s_b_L_14:
$00CA	$	spilib_s_b_L_2:
$00CA	$8AC6	BSF	SSPCON1, 5, 0
$00CC	$0012	RETURN
$00CE	$	sdlib_sd_send_command:
$00CE	$0102	MOVLB	2
$00D0	$501C	MOVF	sdlib_main_global_portaddress_1, W, 0
$00D2	$6EE9	MOVWF	FSR0L, 0
$00D4	$501D	MOVF	sdlib_main_global_portaddress_2, W, 0
$00D6	$6EEA	MOVWF	FSR0H, 0
$00D8	$50EF	MOVF	INDF0, W, 0
$00DA	$101E	IORWF	sdlib_main_global_mask1, W, 0
$00DC	$6EEF	MOVWF	INDF0, 0
$00DE	$0EFF	MOVLW	255
$00E0	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$00E2	$EC1B	F000	CALL	sdlib_sd_spi
$00E6	$501C	MOVF	sdlib_main_global_portaddress_1, W, 0
$00E8	$6EE9	MOVWF	FSR0L, 0
$00EA	$501D	MOVF	sdlib_main_global_portaddress_2, W, 0
$00EC	$6EEA	MOVWF	FSR0H, 0
$00EE	$50EF	MOVF	INDF0, W, 0
$00F0	$141F	ANDWF	sdlib_main_global_mask0, W, 0
$00F2	$6EEF	MOVWF	INDF0, 0
$00F4	$0E40	MOVLW	0x40
$00F6	$256F	ADDWF	sdlib_sd_send_command_param_partial_cmm, W, 1
$00F8	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$00FA	$EC1B	F000	CALL	sdlib_sd_spi
$00FE	$5173	MOVF	sdlib_sd_send_command_param_address_4, W, 1
$0100	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$0102	$EC1B	F000	CALL	sdlib_sd_spi
$0106	$5172	MOVF	sdlib_sd_send_command_param_address_3, W, 1
$0108	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$010A	$EC1B	F000	CALL	sdlib_sd_spi
$010E	$5171	MOVF	sdlib_sd_send_command_param_address_2, W, 1
$0110	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$0112	$EC1B	F000	CALL	sdlib_sd_spi
$0116	$5170	MOVF	sdlib_sd_send_command_param_address_1, W, 1
$0118	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$011A	$EC1B	F000	CALL	sdlib_sd_spi
$011E	$5174	MOVF	sdlib_sd_send_command_param_crc, W, 1
$0120	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$0122	$EC1B	F000	CALL	sdlib_sd_spi
$0126	$0EFF	MOVLW	255
$0128	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$012A	$EC1B	F000	CALL	sdlib_sd_spi
$012E	$5175	MOVF	sdlib_sd_spi_local_result, W, 1
$0130	$6F6C	MOVWF	sdlib_sd_send_command_local_res, 1
$0132	$6B6D	CLRF	sdlib_sd_send_command_local_timeout_1, 1
$0134	$6B6E	CLRF	sdlib_sd_send_command_local_timeout_2, 1
$0136	$	sdlib_L_0:
$0136	$0E00	MOVLW	0
$0138	$5D6C	SUBWF	sdlib_sd_send_command_local_res, W, 1
$013A	$E003	BZ	sdlib_L_2
$013C	$	sdlib_L_1:
$013C	$0EFF	MOVLW	255
$013E	$6E01	MOVWF	STACK_1, 0
$0140	$D001	BRA	sdlib_L_3
$0142	$	sdlib_L_2:
$0142	$6A01	CLRF	STACK_1, 0
$0144	$	sdlib_L_3:
$0144	$0E01	MOVLW	1
$0146	$5D6C	SUBWF	sdlib_sd_send_command_local_res, W, 1
$0148	$E003	BZ	sdlib_L_5
$014A	$	sdlib_L_4:
$014A	$0EFF	MOVLW	255
$014C	$6E02	MOVWF	STACK_2, 0
$014E	$D001	BRA	sdlib_L_6
$0150	$	sdlib_L_5:
$0150	$6A02	CLRF	STACK_2, 0
$0152	$	sdlib_L_6:
$0152	$5001	MOVF	STACK_1, W, 0
$0154	$1402	ANDWF	STACK_2, W, 0
$0156	$6E00	MOVWF	STACK_0, 0
$0158	$0E20	MOVLW	32
$015A	$6E04	MOVWF	STACK_4, 0
$015C	$0E4E	MOVLW	78
$015E	$5D6E	SUBWF	sdlib_sd_send_command_local_timeout_2, W, 1
$0160	$E102	BNZ	sdlib_L_9
$0162	$5004	MOVF	STACK_4, W, 0
$0164	$5D6D	SUBWF	sdlib_sd_send_command_local_timeout_1, W, 1
$0166	$	sdlib_L_9:
$0166	$E203	BC	sdlib_L_8
$0168	$	sdlib_L_7:
$0168	$0EFF	MOVLW	255
$016A	$6E03	MOVWF	STACK_3, 0
$016C	$D001	BRA	sdlib_L_10
$016E	$	sdlib_L_8:
$016E	$6A03	CLRF	STACK_3, 0
$0170	$	sdlib_L_10:
$0170	$5003	MOVF	STACK_3, W, 0
$0172	$1600	ANDWF	STACK_0, F, 0
$0174	$0EFF	MOVLW	255
$0176	$5C00	SUBWF	STACK_0, W, 0
$0178	$E10A	BNZ	sdlib_L_12
$017A	$	sdlib_L_11:
$017A	$0EFF	MOVLW	255
$017C	$6F76	MOVWF	sdlib_sd_spi_param_data_out, 1
$017E	$EC1B	F000	CALL	sdlib_sd_spi
$0182	$5175	MOVF	sdlib_sd_spi_local_result, W, 1
$0184	$6F6C	MOVWF	sdlib_sd_send_command_local_res, 1
$0186	$2B6D	INCF	sdlib_sd_send_command_local_timeout_1, F, 1
$0188	$B4D8	BTFSC	STATUS, Z, 0
$018A	$2B6E	INCF	sdlib_sd_send_command_local_timeout_2, F, 1
$018C	$D7D4	BRA	sdlib_L_0
$018E	$	sdlib_L_12:
$018E	$516C	MOVF	sdlib_sd_send_command_local_res, W, 1
$0190	$6F6B	MOVWF	sdlib_sd_send_command_local_result, 1
$0192	$0012	RETURN
$0194	$	delays_delay_1us:
$0194	$0102	MOVLB	2
$0196	$0000	nop
$0198	$0000	nop
$019A	$0012	RETURN
$019C	$	delays_delay_5500us:
$019C	$0102	MOVLB	2
$019E	$0E0F	MOVLW	15
$01A0	$6E00	MOVWF	STACK_0, 0
$01A2	$0EFF	MOVLW	255
$01A4	$6E01	MOVWF	STACK_1, 0
$01A6	$	delays_L_8:
$01A6	$2E00	DECFSZ	STACK_0, F, 0
$01A8	$D001	BRA	delays_L_9
$01AA	$D003	BRA	delays_L_10
$01AC	$	delays_L_9:
$01AC	$2E01	DECFSZ	STACK_1,F, 0
$01AE	$D7FE	BRA	delays_L_9
$01B0	$D7FA	BRA	delays_L_8
$01B2	$	delays_L_10:
$01B2	$0E3E	MOVLW	62
$01B4	$6E00	MOVWF	STACK_0, 0
$01B6	$	delays_L_11:
$01B6	$2E00	DECFSZ	STACK_0, F, 0
$01B8	$D7FE	BRA	delays_L_11
$01BA	$0000	NOP
$01BC	$0012	RETURN
$01BE	$	delays_delay_50us:
$01BE	$0102	MOVLB	2
$01C0	$0E21	MOVLW	33
$01C2	$6E00	MOVWF	STACK_0, 0
$01C4	$	delays_L_2:
$01C4	$2E00	DECFSZ	STACK_0, F, 0
$01C6	$D7FE	BRA	delays_L_2
$01C8	$0012	RETURN
$01CA	$	usartlib_u_a_usart_init:
$01CA	$0102	MOVLB	2
$01CC	$8AAC	BSF	TXSTA, 5, 0
$01CE	$0E90	MOVLW	144
$01D0	$6EAB	MOVWF	RCSTA, 0
$01D2	$8E94	BSF	TRISC, 7, 0
$01D4	$9C94	BCF	TRISC, 6, 0
$01D6	$	usartlib_u_a_L_0:
$01D6	$0E00	MOVLW	0
$01D8	$BA9E	BTFSC	PIR1, 5, 0
$01DA	$0E01	MOVLW	1
$01DC	$6E01	MOVWF	STACK_1, 0
$01DE	$0E01	MOVLW	1
$01E0	$5C01	SUBWF	STACK_1, W, 0
$01E2	$E103	BNZ	usartlib_u_a_L_2
$01E4	$	usartlib_u_a_L_1:
$01E4	$0EFF	MOVLW	255
$01E6	$6E02	MOVWF	STACK_2, 0
$01E8	$D001	BRA	usartlib_u_a_L_3
$01EA	$	usartlib_u_a_L_2:
$01EA	$6A02	CLRF	STACK_2, 0
$01EC	$	usartlib_u_a_L_3:
$01EC	$0EFF	MOVLW	255
$01EE	$5C02	SUBWF	STACK_2, W, 0
$01F0	$E103	BNZ	usartlib_u_a_L_5
$01F2	$	usartlib_u_a_L_4:
$01F2	$50AE	MOVF	RCREG, W, 0
$01F4	$6F5D	MOVWF	usartlib_u_a_usart_init_local_i, 1
$01F6	$D7EF	BRA	usartlib_u_a_L_0
$01F8	$	usartlib_u_a_L_5:
$01F8	$0012	RETURN
$01FA	$	SD_test_usart_out:
$01FA	$0102	MOVLB	2
$01FC	$6B5D	CLRF	sd_test_usart_out_local_im, 1
$01FE	$515F	MOVF	sd_test_usart_out_param_text_1, W, 1
$0200	$6EE9	MOVWF	FSR0L, 0
$0202	$5160	MOVF	sd_test_usart_out_param_text_2, W, 1
$0204	$6EEA	MOVWF	FSR0H, 0
$0206	$50EF	MOVF	INDF0, W, 0
$0208	$6F5E	MOVWF	sd_test_usart_out_local_jm, 1
$020A	$	SD_test_L_14:
$020A	$0E00	MOVLW	0
$020C	$5D5E	SUBWF	sd_test_usart_out_local_jm, W, 1
$020E	$E003	BZ	SD_test_L_16
$0210	$	SD_test_L_15:
$0210	$0EFF	MOVLW	255
$0212	$6E01	MOVWF	STACK_1, 0
$0214	$D001	BRA	SD_test_L_17
$0216	$	SD_test_L_16:
$0216	$6A01	CLRF	STACK_1, 0
$0218	$	SD_test_L_17:
$0218	$0EFF	MOVLW	255
$021A	$5C01	SUBWF	STACK_1, W, 0
$021C	$E110	BNZ	SD_test_L_19
$021E	$	SD_test_L_18:
$021E	$515E	MOVF	sd_test_usart_out_local_jm, W, 1
$0220	$6F6B	MOVWF	usartlib_u_a_usart_write_param_data, 1
$0222	$EC23	F000	CALL	usartlib_u_a_usart_write
$0226	$2B5D	INCF	sd_test_usart_out_local_im, F, 1
$0228	$515F	MOVF	sd_test_usart_out_param_text_1, W, 1
$022A	$6EE9	MOVWF	FSR0L, 0
$022C	$5160	MOVF	sd_test_usart_out_param_text_2, W, 1
$022E	$6EEA	MOVWF	FSR0H, 0
$0230	$515D	MOVF	sd_test_usart_out_local_im, W, 1
$0232	$26E9	ADDWF	FSR0L, F, 0
$0234	$E301	BNC	$+2
$0236	$2AEA	INCF	FSR0H, F, 0
$0238	$50EF	MOVF	INDF0, W, 0
$023A	$6F5E	MOVWF	sd_test_usart_out_local_jm, 1
$023C	$D7E6	BRA	SD_test_L_14
$023E	$	SD_test_L_19:
$023E	$0012	RETURN
$0240	$	sdlib_sd_init:
$0240	$0102	MOVLB	2
$0242	$0E01	MOVLW	1
$0244	$6E1E	MOVWF	sdlib_main_global_mask1, 0
$0246	$5161	MOVF	sdlib_sd_init_param_pin, W, 1
$0248	$6E00	MOVWF	STACK_0, 0
$024A	$	sdlib_L_13:
$024A	$0E00	MOVLW	0
$024C	$5C00	SUBWF	STACK_0, W, 0
$024E	$E004	BZ	sdlib_L_14
$0250	$361E	RLCF	sdlib_main_global_mask1, F, 0
$0252	$901E	BCF	sdlib_main_global_mask1, 0, 0
$0254	$2E00	DECFSZ	STACK_0, F, 0
$0256	$D7F9	BRA	sdlib_L_13
$0258	$	sdlib_L_14:
$0258	$501E	MOVF	sdlib_main_global_mask1, W, 0
$025A	$6E00	MOVWF	STACK_0, 0
$025C	$1E00	COMF	STACK_0, F, 0
$025E	$5000	MOVF	STACK_0, W, 0
$0260	$6E1F	MOVWF	sdlib_main_global_mask0, 0
$0262	$515F	MOVF	sdlib_sd_init_param_port_1, W, 1
$0264	$6E1C	MOVWF	sdlib_main_global_portaddress_1, 0
$0266	$5160	MOVF	sdlib_sd_init_param_port_2, W, 1
$0268	$6E1D	MOVWF	sdlib_main_global_portaddress_2, 0
$026A	$6B6B	CLRF	spilib_s_b_spi_init_advanced_param_master, 1
$026C	$6B6C	CLRF	spilib_s_b_spi_init_advanced_param_data_sample, 1
$026E	$0E10	MOVLW	16
$0270	$6F6D	MOVWF	spilib_s_b_spi_init_advanced_param_clock_idle, 1

⌨️ 快捷键说明

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