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

📄 mmc_test.lst

📁 mmc/sd卡的实现源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
$0266	$515B	MOVF	mmclib_mmc_init_param_port_2, W, 1
$0268	$6E1D	MOVWF	mmclib_main_global_portaddress_2, 0
$026A	$6B66	CLRF	spilib_s_b_spi_init_advanced_param_master, 1
$026C	$6B67	CLRF	spilib_s_b_spi_init_advanced_param_data_sample, 1
$026E	$0E10	MOVLW	16
$0270	$6F68	MOVWF	spilib_s_b_spi_init_advanced_param_clock_idle, 1
$0272	$0E01	MOVLW	1
$0274	$6F69	MOVWF	spilib_s_b_spi_init_advanced_param_low_to_high, 1
$0276	$EC37	F000	CALL	spilib_s_b_spi_init_advanced
$027A	$501C	MOVF	mmclib_main_global_portaddress_1, W, 0
$027C	$6EE9	MOVWF	FSR0L, 0
$027E	$501D	MOVF	mmclib_main_global_portaddress_2, W, 0
$0280	$6EEA	MOVWF	FSR0H, 0
$0282	$50EF	MOVF	INDF0, W, 0
$0284	$101E	IORWF	mmclib_main_global_mask1, W, 0
$0286	$6EEF	MOVWF	INDF0, 0
$0288	$6B59	CLRF	mmclib_mmc_init_local_i, 1
$028A	$	mmclib_L_15:
$028A	$0E09	MOVLW	9
$028C	$6E01	MOVWF	STACK_1, 0
$028E	$5159	MOVF	mmclib_mmc_init_local_i, W, 1
$0290	$5C01	SUBWF	STACK_1, W, 0
$0292	$E306	BNC	mmclib_L_17
$0294	$	mmclib_L_16:
$0294	$0EFF	MOVLW	255
$0296	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$0298	$EC1B	F000	CALL	mmclib_mmc_spi
$029C	$2B59	INCF	mmclib_mmc_init_local_i, F, 1
$029E	$D7F5	BRA	mmclib_L_15
$02A0	$	mmclib_L_17:
$02A0	$501C	MOVF	mmclib_main_global_portaddress_1, W, 0
$02A2	$6EE9	MOVWF	FSR0L, 0
$02A4	$501D	MOVF	mmclib_main_global_portaddress_2, W, 0
$02A6	$6EEA	MOVWF	FSR0H, 0
$02A8	$50EF	MOVF	INDF0, W, 0
$02AA	$141F	ANDWF	mmclib_main_global_mask0, W, 0
$02AC	$6EEF	MOVWF	INDF0, 0
$02AE	$6B6A	CLRF	mmclib_mmc_send_command_param_partial_cmm, 1
$02B0	$6B6B	CLRF	mmclib_mmc_send_command_param_address_1, 1
$02B2	$6B6C	CLRF	mmclib_mmc_send_command_param_address_2, 1
$02B4	$6B6D	CLRF	mmclib_mmc_send_command_param_address_3, 1
$02B6	$6B6E	CLRF	mmclib_mmc_send_command_param_address_4, 1
$02B8	$0E95	MOVLW	149
$02BA	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$02BC	$EC67	F000	CALL	mmclib_mmc_send_command
$02C0	$0E01	MOVLW	1
$02C2	$5D66	SUBWF	mmclib_mmc_send_command_local_result, W, 1
$02C4	$E003	BZ	mmclib_L_19
$02C6	$	mmclib_L_18:
$02C6	$0EFF	MOVLW	255
$02C8	$6E01	MOVWF	STACK_1, 0
$02CA	$D001	BRA	mmclib_L_21
$02CC	$	mmclib_L_19:
$02CC	$6A01	CLRF	STACK_1, 0
$02CE	$	mmclib_L_21:
$02CE	$0EFF	MOVLW	255
$02D0	$5C01	SUBWF	STACK_1, W, 0
$02D2	$E103	BNZ	mmclib_L_23
$02D4	$	mmclib_L_22:
$02D4	$0E01	MOVLW	1
$02D6	$6F58	MOVWF	mmclib_mmc_init_local_result, 1
$02D8	$0012	return
$02DA	$	mmclib_L_23:
$02DA	$	mmclib_L_20:
$02DA	$	mmclib_L_24:
$02DA	$0E01	MOVLW	1
$02DC	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$02DE	$6B6B	CLRF	mmclib_mmc_send_command_param_address_1, 1
$02E0	$6B6C	CLRF	mmclib_mmc_send_command_param_address_2, 1
$02E2	$6B6D	CLRF	mmclib_mmc_send_command_param_address_3, 1
$02E4	$6B6E	CLRF	mmclib_mmc_send_command_param_address_4, 1
$02E6	$0EFF	MOVLW	255
$02E8	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$02EA	$EC67	F000	CALL	mmclib_mmc_send_command
$02EE	$0E00	MOVLW	0
$02F0	$5D66	SUBWF	mmclib_mmc_send_command_local_result, W, 1
$02F2	$E003	BZ	mmclib_L_26
$02F4	$	mmclib_L_25:
$02F4	$0EFF	MOVLW	255
$02F6	$6E01	MOVWF	STACK_1, 0
$02F8	$D001	BRA	mmclib_L_27
$02FA	$	mmclib_L_26:
$02FA	$6A01	CLRF	STACK_1, 0
$02FC	$	mmclib_L_27:
$02FC	$0EFF	MOVLW	255
$02FE	$5C01	SUBWF	STACK_1, W, 0
$0300	$E102	BNZ	mmclib_L_29
$0302	$	mmclib_L_28:
$0302	$0000	nop
$0304	$D7EA	BRA	mmclib_L_24
$0306	$	mmclib_L_29:
$0306	$6B58	CLRF	mmclib_mmc_init_local_result, 1
$0308	$0012	RETURN
$030A	$	mmclib_mmc_write_sector:
$030A	$0102	MOVLB	2
$030C	$5160	MOVF	mmclib_mmc_write_sector_param_sector_1, W, 1
$030E	$6F5B	MOVWF	mmclib_mmc_write_sector_local_byte_start_1, 1
$0310	$5161	MOVF	mmclib_mmc_write_sector_param_sector_2, W, 1
$0312	$6F5C	MOVWF	mmclib_mmc_write_sector_local_byte_start_2, 1
$0314	$5162	MOVF	mmclib_mmc_write_sector_param_sector_3, W, 1
$0316	$6F5D	MOVWF	mmclib_mmc_write_sector_local_byte_start_3, 1
$0318	$5163	MOVF	mmclib_mmc_write_sector_param_sector_4, W, 1
$031A	$6F5E	MOVWF	mmclib_mmc_write_sector_local_byte_start_4, 1
$031C	$0E09	MOVLW	9
$031E	$6E00	MOVWF	STACK_0, 0
$0320	$	mmclib_L_48:
$0320	$0E00	MOVLW	0
$0322	$5C00	SUBWF	STACK_0, W, 0
$0324	$E007	BZ	mmclib_L_49
$0326	$375B	RLCF	mmclib_mmc_write_sector_local_byte_start_1, F, 1
$0328	$375C	RLCF	mmclib_mmc_write_sector_local_byte_start_2, F, 1
$032A	$375D	RLCF	mmclib_mmc_write_sector_local_byte_start_3, F, 1
$032C	$375E	RLCF	mmclib_mmc_write_sector_local_byte_start_4, F, 1
$032E	$915B	BCF	mmclib_mmc_write_sector_local_byte_start_1, 0, 1
$0330	$2E00	DECFSZ	STACK_0, F, 0
$0332	$D7F6	BRA	mmclib_L_48
$0334	$	mmclib_L_49:
$0334	$0E18	MOVLW	24
$0336	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$0338	$515B	MOVF	mmclib_mmc_write_sector_local_byte_start_1, W, 1
$033A	$6F6B	MOVWF	mmclib_mmc_send_command_param_address_1, 1
$033C	$515C	MOVF	mmclib_mmc_write_sector_local_byte_start_2, W, 1
$033E	$6F6C	MOVWF	mmclib_mmc_send_command_param_address_2, 1
$0340	$515D	MOVF	mmclib_mmc_write_sector_local_byte_start_3, W, 1
$0342	$6F6D	MOVWF	mmclib_mmc_send_command_param_address_3, 1
$0344	$515E	MOVF	mmclib_mmc_write_sector_local_byte_start_4, W, 1
$0346	$6F6E	MOVWF	mmclib_mmc_send_command_param_address_4, 1
$0348	$0EFF	MOVLW	255
$034A	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$034C	$EC67	F000	CALL	mmclib_mmc_send_command
$0350	$5166	MOVF	mmclib_mmc_send_command_local_result, W, 1
$0352	$6F58	MOVWF	mmclib_mmc_write_sector_local_result, 1
$0354	$0E00	MOVLW	0
$0356	$5D58	SUBWF	mmclib_mmc_write_sector_local_result, W, 1
$0358	$E003	BZ	mmclib_L_51
$035A	$	mmclib_L_50:
$035A	$0EFF	MOVLW	255
$035C	$6E01	MOVWF	STACK_1, 0
$035E	$D001	BRA	mmclib_L_53
$0360	$	mmclib_L_51:
$0360	$6A01	CLRF	STACK_1, 0
$0362	$	mmclib_L_53:
$0362	$0EFF	MOVLW	255
$0364	$5C01	SUBWF	STACK_1, W, 0
$0366	$E103	BNZ	mmclib_L_55
$0368	$	mmclib_L_54:
$0368	$0E01	MOVLW	1
$036A	$6F58	MOVWF	mmclib_mmc_write_sector_local_result, 1
$036C	$0012	return
$036E	$	mmclib_L_55:
$036E	$	mmclib_L_52:
$036E	$0EFF	MOVLW	255
$0370	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$0372	$EC1B	F000	CALL	mmclib_mmc_spi
$0376	$0EFF	MOVLW	255
$0378	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$037A	$EC1B	F000	CALL	mmclib_mmc_spi
$037E	$0EFE	MOVLW	254
$0380	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$0382	$EC1B	F000	CALL	mmclib_mmc_spi
$0386	$6B59	CLRF	mmclib_mmc_write_sector_local_i_1, 1
$0388	$6B5A	CLRF	mmclib_mmc_write_sector_local_i_2, 1
$038A	$	mmclib_L_56:
$038A	$0EFF	MOVLW	255
$038C	$6E02	MOVWF	STACK_2, 0
$038E	$0E01	MOVLW	1
$0390	$6E03	MOVWF	STACK_3, 0
$0392	$80D8	BSF	STATUS, C, 0
$0394	$BF5A	BTFSC	mmclib_mmc_write_sector_local_i_2, 7, 1
$0396	$D005	BRA	mmclib_L_59
$0398	$515A	MOVF	mmclib_mmc_write_sector_local_i_2, W, 1
$039A	$5C03	SUBWF	STACK_3, W, 0
$039C	$E102	BNZ	mmclib_L_59
$039E	$5159	MOVF	mmclib_mmc_write_sector_local_i_1, W, 1
$03A0	$5C02	SUBWF	STACK_2, W, 0
$03A2	$	mmclib_L_59:
$03A2	$E312	BNC	mmclib_L_58
$03A4	$	mmclib_L_57:
$03A4	$5164	MOVF	mmclib_mmc_write_sector_param_data_1, W, 1
$03A6	$6EE9	MOVWF	FSR0L, 0
$03A8	$5165	MOVF	mmclib_mmc_write_sector_param_data_2, W, 1
$03AA	$6EEA	MOVWF	FSR0H, 0
$03AC	$5159	MOVF	mmclib_mmc_write_sector_local_i_1, W, 1
$03AE	$26E9	ADDWF	FSR0L, F, 0
$03B0	$515A	MOVF	mmclib_mmc_write_sector_local_i_2, W, 1
$03B2	$22EA	ADDWFC	FSR0H, F, 0
$03B4	$50EF	MOVF	INDF0, W, 0
$03B6	$6F5F	MOVWF	mmclib_mmc_write_sector_local_tmp, 1
$03B8	$515F	MOVF	mmclib_mmc_write_sector_local_tmp, W, 1
$03BA	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$03BC	$EC1B	F000	CALL	mmclib_mmc_spi
$03C0	$2B59	INCF	mmclib_mmc_write_sector_local_i_1, F, 1
$03C2	$B4D8	BTFSC	STATUS, Z, 0
$03C4	$2B5A	INCF	mmclib_mmc_write_sector_local_i_2, F, 1
$03C6	$D7E1	BRA	mmclib_L_56
$03C8	$	mmclib_L_58:
$03C8	$0EFF	MOVLW	255
$03CA	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$03CC	$EC1B	F000	CALL	mmclib_mmc_spi
$03D0	$0EFF	MOVLW	255
$03D2	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$03D4	$EC1B	F000	CALL	mmclib_mmc_spi
$03D8	$0EFF	MOVLW	255
$03DA	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$03DC	$EC1B	F000	CALL	mmclib_mmc_spi
$03E0	$5170	MOVF	mmclib_mmc_spi_local_result, W, 1
$03E2	$6F59	MOVWF	mmclib_mmc_write_sector_local_i_1, 1
$03E4	$6B5A	CLRF	mmclib_mmc_write_sector_local_i_2, 1
$03E6	$0E1F	MOVLW	31
$03E8	$1559	ANDWF	mmclib_mmc_write_sector_local_i_1, W, 1
$03EA	$6E00	MOVWF	STACK_0, 0
$03EC	$6A01	CLRF	STACK_1, 0
$03EE	$5000	MOVF	STACK_0, W, 0
$03F0	$6F59	MOVWF	mmclib_mmc_write_sector_local_i_1, 1
$03F2	$5001	MOVF	STACK_1, W, 0
$03F4	$6F5A	MOVWF	mmclib_mmc_write_sector_local_i_2, 1
$03F6	$0E05	MOVLW	5
$03F8	$6E02	MOVWF	STACK_2, 0
$03FA	$94D8	BCF	STATUS, Z, 0
$03FC	$BF5A	BTFSC	mmclib_mmc_write_sector_local_i_2, 7, 1
$03FE	$D005	BRA	mmclib_L_64
$0400	$0E00	MOVLW	0
$0402	$5D5A	SUBWF	mmclib_mmc_write_sector_local_i_2, W, 1
$0404	$E102	BNZ	mmclib_L_64
$0406	$5002	MOVF	STACK_2, W, 0
$0408	$5D59	SUBWF	mmclib_mmc_write_sector_local_i_1, W, 1
$040A	$	mmclib_L_64:
$040A	$E003	BZ	mmclib_L_62
$040C	$	mmclib_L_61:
$040C	$0EFF	MOVLW	255
$040E	$6E01	MOVWF	STACK_1, 0
$0410	$D001	BRA	mmclib_L_65
$0412	$	mmclib_L_62:
$0412	$6A01	CLRF	STACK_1, 0
$0414	$	mmclib_L_65:
$0414	$0EFF	MOVLW	255
$0416	$5C01	SUBWF	STACK_1, W, 0
$0418	$E103	BNZ	mmclib_L_67
$041A	$	mmclib_L_66:
$041A	$0E02	MOVLW	2
$041C	$6F58	MOVWF	mmclib_mmc_write_sector_local_result, 1
$041E	$0012	return
$0420	$	mmclib_L_67:
$0420	$	mmclib_L_63:
$0420	$	mmclib_L_68:
$0420	$0EFF	MOVLW	255
$0422	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$0424	$EC1B	F000	CALL	mmclib_mmc_spi
$0428	$0EFF	MOVLW	255
$042A	$5D70	SUBWF	mmclib_mmc_spi_local_result, W, 1
$042C	$E003	BZ	mmclib_L_70
$042E	$	mmclib_L_69:
$042E	$0EFF	MOVLW	255
$0430	$6E01	MOVWF	STACK_1, 0
$0432	$D001	BRA	mmclib_L_71
$0434	$	mmclib_L_70:
$0434	$6A01	CLRF	STACK_1, 0
$0436	$	mmclib_L_71:
$0436	$0EFF	MOVLW	255
$0438	$5C01	SUBWF	STACK_1, W, 0
$043A	$E102	BNZ	mmclib_L_73
$043C	$	mmclib_L_72:
$043C	$0000	nop
$043E	$D7F0	BRA	mmclib_L_68
$0440	$	mmclib_L_73:
$0440	$6B58	CLRF	mmclib_mmc_write_sector_local_result, 1
$0442	$0012	RETURN
$0444	$	mmclib_mmc_read_cid:
$0444	$0102	MOVLB	2
$0446	$6B59	CLRF	mmclib_mmc_read_cid_local_i, 1
$0448	$	mmclib_L_74:
$0448	$0E0F	MOVLW	15
$044A	$6E01	MOVWF	STACK_1, 0
$044C	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$044E	$5C01	SUBWF	STACK_1, W, 0
$0450	$E30C	BNC	mmclib_L_76
$0452	$	mmclib_L_75:
$0452	$515A	MOVF	mmclib_mmc_read_cid_param_data_for_registers_1, W, 1
$0454	$6EE9	MOVWF	FSR0L, 0
$0456	$515B	MOVF	mmclib_mmc_read_cid_param_data_for_registers_2, W, 1
$0458	$6EEA	MOVWF	FSR0H, 0
$045A	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$045C	$26E9	ADDWF	FSR0L, F, 0
$045E	$E301	BNC	mmclib_L_77
$0460	$2AEA	INCF	FSR0H, F, 0
$0462	$	mmclib_L_77:
$0462	$0E00	MOVLW	0
$0464	$6EEF	MOVWF	INDF0, 0
$0466	$2B59	INCF	mmclib_mmc_read_cid_local_i, F, 1
$0468	$D7EF	BRA	mmclib_L_74
$046A	$	mmclib_L_76:
$046A	$0E0A	MOVLW	10
$046C	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$046E	$6B6B	CLRF	mmclib_mmc_send_command_param_address_1, 1
$0470	$6B6C	CLRF	mmclib_mmc_send_command_param_address_2, 1
$0472	$6B6D	CLRF	mmclib_mmc_send_command_param_address_3, 1
$0474	$6B6E	CLRF	mmclib_mmc_send_command_param_address_4, 1
$0476	$0EFF	MOVLW	255
$0478	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$047A	$EC67	F000	CALL	mmclib_mmc_send_command
$047E	$0E00	MOVLW	0
$0480	$5D66	SUBWF	mmclib_mmc_send_command_local_result, W, 1
$0482	$E003	BZ	mmclib_L_79
$0484	$	mmclib_L_78:
$0484	$0EFF	MOVLW	255
$0486	$6E01	MOVWF	STACK_1, 0
$0488	$D001	BRA	mmclib_L_81
$048A	$	mmclib_L_79:
$048A	$6A01	CLRF	STACK_1, 0
$048C	$	mmclib_L_81:
$048C	$0EFF	MOVLW	255
$048E	$5C01	SUBWF	STACK_1, W, 0
$0490	$E103	BNZ	mmclib_L_83
$0492	$	mmclib_L_82:
$0492	$0E01	MOVLW	1
$0494	$6F58	MOVWF	mmclib_mmc_read_cid_local_result, 1
$0496	$0012	return
$0498	$	mmclib_L_83:
$0498	$	mmclib_L_80:
$0498	$6B59	CLRF	mmclib_mmc_read_cid_local_i, 1
$049A	$	mmclib_L_84:
$049A	$0E0F	MOVLW	15
$049C	$6E01	MOVWF	STACK_1, 0
$049E	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$04A0	$5C01	SUBWF	STACK_1, W, 0
$04A2	$E310	BNC	mmclib_L_86
$04A4	$	mmclib_L_85:
$04A4	$0EFF	MOVLW	255
$04A6	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$04A8	$EC1B	F000	CALL	mmclib_mmc_spi
$04AC	$515A	MOVF	mmclib_mmc_read_cid_param_data_for_registers_1, W, 1
$04AE	$6EE9	MOVWF	FSR0L, 0
$04B0	$515B	MOVF	mmclib_mmc_read_cid_param_data_for_registers_2, W, 1
$04B2	$6EEA	MOVWF	FSR0H, 0
$04B4	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$04B6	$26E9	ADDWF	FSR0L, F, 0
$04B8	$E301	BNC	mmclib_L_87
$04BA	$2AEA	INCF	FSR0H, F, 0
$04BC	$	mmclib_L_87:
$04BC	$5170	MOVF	mmclib_mmc_spi_local_result, W, 1
$04BE	$6EEF	MOVWF	INDF0, 0
$04C0	$2B59	INCF	mmclib_mmc_read_cid_local_i, F, 1
$04C2	$D7EB	BRA	mmclib_L_84
$04C4	$	mmclib_L_86:
$04C4	$6B58	CLRF	mmclib_mmc_read_cid_local_result, 1
$04C6	$0012	RETURN
$04C8	$	MMC_test_printhex:
$04C8	$0102	MOVLB	2
$04CA	$0EF0	MOVLW	240
$04CC	$155A	ANDWF	mmc_test_printhex_param_ix, W, 1
$04CE	$6F58	MOVWF	mmc_test_printhex_local_hix, 1
$04D0	$5158	MOVF	mmc_test_printhex_local_hix, W, 1
$04D2	$6E00	MOVWF	STACK_0, 0
$04D4	$0E04	MOVLW	4
$04D6	$6E01	MOVWF	STACK_1, 0
$04D8	$	MMC_test_L_0:
$04D8	$0E00	MOVLW	0
$04DA	$5C01	SUBWF	STACK_1, W, 0
$04DC	$E004	BZ	MMC_test_L_1
$04DE	$3200	RRCF	STACK_0, F, 0
$04E0	$9E00	BCF	STACK_0, 7, 0
$04E2	$2E01	DECFSZ	STACK_1, F, 0
$04E4	$D7F9	BRA	MMC_test_L_0
$04E6	$	MMC_test_L_1:
$04E6	$5000	MOVF	STACK_0, W, 0
$04E8	$6F58	MOVWF	mmc_test_printhex_local_hix, 1
$04EA	$0E30	MOVLW	$30
$04EC	$2558	ADDWF	mmc_test_printhex_local_hix, W, 1
$04EE	$6F58	MOVWF	mmc_test_printhex_local_hix, 1
$04F0	$0E39	MOVLW	57
$04F2	$6E02	MOVWF	STACK_2, 0
$04F4	$5158	MOVF	mmc_test_printhex_local_hix, W, 1
$04F6	$5C02	SUBWF	STACK_2, W, 0

⌨️ 快捷键说明

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