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

📄 mmc_test.asm

📁 mmc/sd卡的实现源码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
$04FE	$6E01	MOVWF	STACK_1, 0
$0500	$D001	BRA	mmclib_L_71
$0502	$	mmclib_L_70:
$0502	$6A01	CLRF	STACK_1, 0
$0504	$	mmclib_L_71:
$0504	$0EFF	MOVLW	255
$0506	$5C01	SUBWF	STACK_1, W, 0
$0508	$E102	BNZ	mmclib_L_73
$050A	$	mmclib_L_72:
$050A	$0000	nop
$050C	$D7F0	BRA	mmclib_L_68
$050E	$	mmclib_L_73:
$050E	$6B58	CLRF	mmclib_mmc_write_sector_local_result, 1
$0510	$0012	RETURN
$0512	$	mmclib_mmc_read_cid:
$0512	$0102	MOVLB	2
$0514	$6B59	CLRF	mmclib_mmc_read_cid_local_i, 1
$0516	$	mmclib_L_74:
$0516	$0E0F	MOVLW	15
$0518	$6E01	MOVWF	STACK_1, 0
$051A	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$051C	$5C01	SUBWF	STACK_1, W, 0
$051E	$E30C	BNC	mmclib_L_76
$0520	$	mmclib_L_75:
$0520	$515A	MOVF	mmclib_mmc_read_cid_param_data_for_registers_1, W, 1
$0522	$6EE9	MOVWF	FSR0L, 0
$0524	$515B	MOVF	mmclib_mmc_read_cid_param_data_for_registers_2, W, 1
$0526	$6EEA	MOVWF	FSR0H, 0
$0528	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$052A	$26E9	ADDWF	FSR0L, F, 0
$052C	$E301	BNC	mmclib_L_77
$052E	$2AEA	INCF	FSR0H, F, 0
$0530	$	mmclib_L_77:
$0530	$0E00	MOVLW	0
$0532	$6EEF	MOVWF	INDF0, 0
$0534	$2B59	INCF	mmclib_mmc_read_cid_local_i, F, 1
$0536	$D7EF	BRA	mmclib_L_74
$0538	$	mmclib_L_76:
$0538	$0E0A	MOVLW	10
$053A	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$053C	$6B6B	CLRF	mmclib_mmc_send_command_param_address_1, 1
$053E	$6B6C	CLRF	mmclib_mmc_send_command_param_address_2, 1
$0540	$6B6D	CLRF	mmclib_mmc_send_command_param_address_3, 1
$0542	$6B6E	CLRF	mmclib_mmc_send_command_param_address_4, 1
$0544	$0EFF	MOVLW	255
$0546	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$0548	$EC66	F000	CALL	mmclib_mmc_send_command
$054C	$0E00	MOVLW	0
$054E	$5D66	SUBWF	mmclib_mmc_send_command_local_result, W, 1
$0550	$E003	BZ	mmclib_L_79
$0552	$	mmclib_L_78:
$0552	$0EFF	MOVLW	255
$0554	$6E01	MOVWF	STACK_1, 0
$0556	$D001	BRA	mmclib_L_81
$0558	$	mmclib_L_79:
$0558	$6A01	CLRF	STACK_1, 0
$055A	$	mmclib_L_81:
$055A	$0EFF	MOVLW	255
$055C	$5C01	SUBWF	STACK_1, W, 0
$055E	$E103	BNZ	mmclib_L_83
$0560	$	mmclib_L_82:
$0560	$0E01	MOVLW	1
$0562	$6F58	MOVWF	mmclib_mmc_read_cid_local_result, 1
$0564	$0012	return
$0566	$	mmclib_L_83:
$0566	$	mmclib_L_80:
$0566	$6B59	CLRF	mmclib_mmc_read_cid_local_i, 1
$0568	$	mmclib_L_84:
$0568	$0E0F	MOVLW	15
$056A	$6E01	MOVWF	STACK_1, 0
$056C	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$056E	$5C01	SUBWF	STACK_1, W, 0
$0570	$E310	BNC	mmclib_L_86
$0572	$	mmclib_L_85:
$0572	$0EFF	MOVLW	255
$0574	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$0576	$EC1A	F000	CALL	mmclib_mmc_spi
$057A	$515A	MOVF	mmclib_mmc_read_cid_param_data_for_registers_1, W, 1
$057C	$6EE9	MOVWF	FSR0L, 0
$057E	$515B	MOVF	mmclib_mmc_read_cid_param_data_for_registers_2, W, 1
$0580	$6EEA	MOVWF	FSR0H, 0
$0582	$5159	MOVF	mmclib_mmc_read_cid_local_i, W, 1
$0584	$26E9	ADDWF	FSR0L, F, 0
$0586	$E301	BNC	mmclib_L_87
$0588	$2AEA	INCF	FSR0H, F, 0
$058A	$	mmclib_L_87:
$058A	$5170	MOVF	mmclib_mmc_spi_local_result, W, 1
$058C	$6EEF	MOVWF	INDF0, 0
$058E	$2B59	INCF	mmclib_mmc_read_cid_local_i, F, 1
$0590	$D7EB	BRA	mmclib_L_84
$0592	$	mmclib_L_86:
$0592	$6B58	CLRF	mmclib_mmc_read_cid_local_result, 1
$0594	$0012	RETURN
$0596	$	mmclib_mmc_read_csd:
$0596	$0102	MOVLB	2
$0598	$6B59	CLRF	mmclib_mmc_read_csd_local_i, 1
$059A	$	mmclib_L_88:
$059A	$0E0F	MOVLW	15
$059C	$6E01	MOVWF	STACK_1, 0
$059E	$5159	MOVF	mmclib_mmc_read_csd_local_i, W, 1
$05A0	$5C01	SUBWF	STACK_1, W, 0
$05A2	$E30C	BNC	mmclib_L_90
$05A4	$	mmclib_L_89:
$05A4	$515A	MOVF	mmclib_mmc_read_csd_param_data_for_registers_1, W, 1
$05A6	$6EE9	MOVWF	FSR0L, 0
$05A8	$515B	MOVF	mmclib_mmc_read_csd_param_data_for_registers_2, W, 1
$05AA	$6EEA	MOVWF	FSR0H, 0
$05AC	$5159	MOVF	mmclib_mmc_read_csd_local_i, W, 1
$05AE	$26E9	ADDWF	FSR0L, F, 0
$05B0	$E301	BNC	mmclib_L_91
$05B2	$2AEA	INCF	FSR0H, F, 0
$05B4	$	mmclib_L_91:
$05B4	$0E00	MOVLW	0
$05B6	$6EEF	MOVWF	INDF0, 0
$05B8	$2B59	INCF	mmclib_mmc_read_csd_local_i, F, 1
$05BA	$D7EF	BRA	mmclib_L_88
$05BC	$	mmclib_L_90:
$05BC	$0E09	MOVLW	9
$05BE	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$05C0	$6B6B	CLRF	mmclib_mmc_send_command_param_address_1, 1
$05C2	$6B6C	CLRF	mmclib_mmc_send_command_param_address_2, 1
$05C4	$6B6D	CLRF	mmclib_mmc_send_command_param_address_3, 1
$05C6	$6B6E	CLRF	mmclib_mmc_send_command_param_address_4, 1
$05C8	$0EFF	MOVLW	255
$05CA	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$05CC	$EC66	F000	CALL	mmclib_mmc_send_command
$05D0	$0E00	MOVLW	0
$05D2	$5D66	SUBWF	mmclib_mmc_send_command_local_result, W, 1
$05D4	$E003	BZ	mmclib_L_93
$05D6	$	mmclib_L_92:
$05D6	$0EFF	MOVLW	255
$05D8	$6E01	MOVWF	STACK_1, 0
$05DA	$D001	BRA	mmclib_L_95
$05DC	$	mmclib_L_93:
$05DC	$6A01	CLRF	STACK_1, 0
$05DE	$	mmclib_L_95:
$05DE	$0EFF	MOVLW	255
$05E0	$5C01	SUBWF	STACK_1, W, 0
$05E2	$E103	BNZ	mmclib_L_97
$05E4	$	mmclib_L_96:
$05E4	$0E01	MOVLW	1
$05E6	$6F58	MOVWF	mmclib_mmc_read_csd_local_result, 1
$05E8	$0012	return
$05EA	$	mmclib_L_97:
$05EA	$	mmclib_L_94:
$05EA	$6B59	CLRF	mmclib_mmc_read_csd_local_i, 1
$05EC	$	mmclib_L_98:
$05EC	$0E0F	MOVLW	15
$05EE	$6E01	MOVWF	STACK_1, 0
$05F0	$5159	MOVF	mmclib_mmc_read_csd_local_i, W, 1
$05F2	$5C01	SUBWF	STACK_1, W, 0
$05F4	$E310	BNC	mmclib_L_100
$05F6	$	mmclib_L_99:
$05F6	$0EFF	MOVLW	255
$05F8	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$05FA	$EC1A	F000	CALL	mmclib_mmc_spi
$05FE	$515A	MOVF	mmclib_mmc_read_csd_param_data_for_registers_1, W, 1
$0600	$6EE9	MOVWF	FSR0L, 0
$0602	$515B	MOVF	mmclib_mmc_read_csd_param_data_for_registers_2, W, 1
$0604	$6EEA	MOVWF	FSR0H, 0
$0606	$5159	MOVF	mmclib_mmc_read_csd_local_i, W, 1
$0608	$26E9	ADDWF	FSR0L, F, 0
$060A	$E301	BNC	mmclib_L_101
$060C	$2AEA	INCF	FSR0H, F, 0
$060E	$	mmclib_L_101:
$060E	$5170	MOVF	mmclib_mmc_spi_local_result, W, 1
$0610	$6EEF	MOVWF	INDF0, 0
$0612	$2B59	INCF	mmclib_mmc_read_csd_local_i, F, 1
$0614	$D7EB	BRA	mmclib_L_98
$0616	$	mmclib_L_100:
$0616	$6B58	CLRF	mmclib_mmc_read_csd_local_result, 1
$0618	$0012	RETURN
$061A	$	lcd_lcd_cmd:
$061A	$C020	FFE9	MOVFF  LCD_MAIN_GLOBAL_PORTADDRESS_1, FSR0L
$061E	$C021	FFEA	MOVFF  LCD_MAIN_GLOBAL_PORTADDRESS_2, FSR0H
$0622	$6AEF	CLRF INDF0, 0
$0624	$BF58	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 7, 1
$0626	$8EEF	BSF INDF0, ___DB7, 0
$0628	$BD58	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 6, 1
$062A	$8CEF	BSF INDF0, ___DB6, 0
$062C	$BB58	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 5, 1
$062E	$8AEF	BSF INDF0, ___DB5, 0
$0630	$B958	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 4, 1
$0632	$88EF	BSF INDF0, ___DB4, 0
$0634	$0E01	MOVLW	1
$0636	$5C22	SUBWF	lcd_main_global_cmd, W, 0
$0638	$E103	BNZ	lcd_L_1
$063A	$	lcd_L_0:
$063A	$0EFF	MOVLW	255
$063C	$6E01	MOVWF	STACK_1, 0
$063E	$D001	BRA	lcd_L_3
$0640	$	lcd_L_1:
$0640	$6A01	CLRF	STACK_1, 0
$0642	$	lcd_L_3:
$0642	$0EFF	MOVLW	255
$0644	$5C01	SUBWF	STACK_1, W, 0
$0646	$E102	BNZ	lcd_L_5
$0648	$	lcd_L_4:
$0648	$94EF	BCF INDF0, ___RS, 0
$064A	$D001	BRA	lcd_L_2
$064C	$	lcd_L_5:
$064C	$84EF	BSF INDF0, ___RS, 0
$064E	$	lcd_L_2:
$064E	$86EF	BSF INDF0, ___ENABLE, 0
$0650	$ECC9	F000	CALL	delays_delay_1us
$0654	$96EF	BCF INDF0, ___ENABLE, 0
$0656	$6AEF	CLRF INDF0, 0
$0658	$B758	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 3, 1
$065A	$8EEF	BSF INDF0, ___DB7, 0
$065C	$B558	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 2, 1
$065E	$8CEF	BSF INDF0, ___DB6, 0
$0660	$B358	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 1, 1
$0662	$8AEF	BSF INDF0, ___DB5, 0
$0664	$B158	BTFSC LCD_LCD_CMD_PARAM_OUT_CHAR, 0, 1
$0666	$88EF	BSF INDF0, ___DB4, 0
$0668	$0E01	MOVLW	1
$066A	$5C22	SUBWF	lcd_main_global_cmd, W, 0
$066C	$E103	BNZ	lcd_L_7
$066E	$	lcd_L_6:
$066E	$0EFF	MOVLW	255
$0670	$6E01	MOVWF	STACK_1, 0
$0672	$D001	BRA	lcd_L_9
$0674	$	lcd_L_7:
$0674	$6A01	CLRF	STACK_1, 0
$0676	$	lcd_L_9:
$0676	$0EFF	MOVLW	255
$0678	$5C01	SUBWF	STACK_1, W, 0
$067A	$E102	BNZ	lcd_L_11
$067C	$	lcd_L_10:
$067C	$94EF	BCF INDF0, ___RS, 0
$067E	$D001	BRA	lcd_L_8
$0680	$	lcd_L_11:
$0680	$84EF	BSF INDF0, ___RS, 0
$0682	$	lcd_L_8:
$0682	$86EF	BSF INDF0, ___ENABLE, 0
$0684	$ECC9	F000	CALL	delays_delay_1us
$0688	$96EF	BCF INDF0, ___ENABLE, 0
$068A	$0E01	MOVLW	1
$068C	$5C22	SUBWF	lcd_main_global_cmd, W, 0
$068E	$E103	BNZ	lcd_L_13
$0690	$	lcd_L_12:
$0690	$0EFF	MOVLW	255
$0692	$6E01	MOVWF	STACK_1, 0
$0694	$D001	BRA	lcd_L_15
$0696	$	lcd_L_13:
$0696	$6A01	CLRF	STACK_1, 0
$0698	$	lcd_L_15:
$0698	$0EFF	MOVLW	255
$069A	$5C01	SUBWF	STACK_1, W, 0
$069C	$E103	BNZ	lcd_L_17
$069E	$	lcd_L_16:
$069E	$ECCC	F000	CALL	delays_delay_5500us
$06A2	$D002	BRA	lcd_L_14
$06A4	$	lcd_L_17:
$06A4	$ECDC	F000	CALL	delays_delay_50us
$06A8	$	lcd_L_14:
$06A8	$0012	RETURN
$06AA	$	usartlib_u_a_usart_data_ready:
$06AA	$0E00	MOVLW	0
$06AC	$BA9E	BTFSC	PIR1, 5, 0
$06AE	$0E01	MOVLW	1
$06B0	$0102	MOVLB	2
$06B2	$6F58	MOVWF	usartlib_u_a_usart_data_ready_local_result, 1
$06B4	$0012	RETURN
$06B6	$	usartlib_u_a_usart_read:
$06B6	$50AE	MOVF	RCREG, W, 0
$06B8	$0102	MOVLB	2
$06BA	$6F58	MOVWF	usartlib_u_a_usart_read_local_result, 1
$06BC	$0E00	MOVLW	0
$06BE	$B2AB	BTFSC	RCSTA, 1, 0
$06C0	$0E01	MOVLW	1
$06C2	$6E01	MOVWF	STACK_1, 0
$06C4	$0E01	MOVLW	1
$06C6	$5C01	SUBWF	STACK_1, W, 0
$06C8	$E103	BNZ	usartlib_u_a_L_13
$06CA	$	usartlib_u_a_L_12:
$06CA	$0EFF	MOVLW	255
$06CC	$6E02	MOVWF	STACK_2, 0
$06CE	$D001	BRA	usartlib_u_a_L_15
$06D0	$	usartlib_u_a_L_13:
$06D0	$6A02	CLRF	STACK_2, 0
$06D2	$	usartlib_u_a_L_15:
$06D2	$0EFF	MOVLW	255
$06D4	$5C02	SUBWF	STACK_2, W, 0
$06D6	$E102	BNZ	usartlib_u_a_L_17
$06D8	$	usartlib_u_a_L_16:
$06D8	$98AB	BCF	RCSTA, 4, 0
$06DA	$88AB	BSF	RCSTA, 4, 0
$06DC	$	usartlib_u_a_L_17:
$06DC	$	usartlib_u_a_L_14:
$06DC	$0012	RETURN
$06DE	$	mmclib_mmc_read_sector:
$06DE	$0102	MOVLB	2
$06E0	$515F	MOVF	mmclib_mmc_read_sector_param_sector_1, W, 1
$06E2	$6F5B	MOVWF	mmclib_mmc_read_sector_local_byte_start_1, 1
$06E4	$5160	MOVF	mmclib_mmc_read_sector_param_sector_2, W, 1
$06E6	$6F5C	MOVWF	mmclib_mmc_read_sector_local_byte_start_2, 1
$06E8	$5161	MOVF	mmclib_mmc_read_sector_param_sector_3, W, 1
$06EA	$6F5D	MOVWF	mmclib_mmc_read_sector_local_byte_start_3, 1
$06EC	$5162	MOVF	mmclib_mmc_read_sector_param_sector_4, W, 1
$06EE	$6F5E	MOVWF	mmclib_mmc_read_sector_local_byte_start_4, 1
$06F0	$0E09	MOVLW	9
$06F2	$6E00	MOVWF	STACK_0, 0
$06F4	$	mmclib_L_30:
$06F4	$0E00	MOVLW	0
$06F6	$5C00	SUBWF	STACK_0, W, 0
$06F8	$E008	BZ	mmclib_L_31
$06FA	$0102	MOVLB	2
$06FC	$375B	RLCF	mmclib_mmc_read_sector_local_byte_start_1, F, 1
$06FE	$375C	RLCF	mmclib_mmc_read_sector_local_byte_start_2, F, 1
$0700	$375D	RLCF	mmclib_mmc_read_sector_local_byte_start_3, F, 1
$0702	$375E	RLCF	mmclib_mmc_read_sector_local_byte_start_4, F, 1
$0704	$915B	BCF	mmclib_mmc_read_sector_local_byte_start_1, 0, 1
$0706	$2E00	DECFSZ	STACK_0, F, 0
$0708	$D7F5	BRA	mmclib_L_30
$070A	$	mmclib_L_31:
$070A	$0E11	MOVLW	17
$070C	$0102	MOVLB	2
$070E	$6F6A	MOVWF	mmclib_mmc_send_command_param_partial_cmm, 1
$0710	$515B	MOVF	mmclib_mmc_read_sector_local_byte_start_1, W, 1
$0712	$6F6B	MOVWF	mmclib_mmc_send_command_param_address_1, 1
$0714	$515C	MOVF	mmclib_mmc_read_sector_local_byte_start_2, W, 1
$0716	$6F6C	MOVWF	mmclib_mmc_send_command_param_address_2, 1
$0718	$515D	MOVF	mmclib_mmc_read_sector_local_byte_start_3, W, 1
$071A	$6F6D	MOVWF	mmclib_mmc_send_command_param_address_3, 1
$071C	$515E	MOVF	mmclib_mmc_read_sector_local_byte_start_4, W, 1
$071E	$6F6E	MOVWF	mmclib_mmc_send_command_param_address_4, 1
$0720	$0EFF	MOVLW	255
$0722	$6F6F	MOVWF	mmclib_mmc_send_command_param_crc, 1
$0724	$EC66	F000	CALL	mmclib_mmc_send_command
$0728	$5166	MOVF	mmclib_mmc_send_command_local_result, W, 1
$072A	$6F58	MOVWF	mmclib_mmc_read_sector_local_result, 1
$072C	$0E00	MOVLW	0
$072E	$5D58	SUBWF	mmclib_mmc_read_sector_local_result, W, 1
$0730	$E003	BZ	mmclib_L_33
$0732	$	mmclib_L_32:
$0732	$0EFF	MOVLW	255
$0734	$6E01	MOVWF	STACK_1, 0
$0736	$D001	BRA	mmclib_L_35
$0738	$	mmclib_L_33:
$0738	$6A01	CLRF	STACK_1, 0
$073A	$	mmclib_L_35:
$073A	$0EFF	MOVLW	255
$073C	$5C01	SUBWF	STACK_1, W, 0
$073E	$E103	BNZ	mmclib_L_37
$0740	$	mmclib_L_36:
$0740	$0E01	MOVLW	1
$0742	$6F58	MOVWF	mmclib_mmc_read_sector_local_result, 1
$0744	$0012	return
$0746	$	mmclib_L_37:
$0746	$	mmclib_L_34:
$0746	$	mmclib_L_38:
$0746	$0EFF	MOVLW	255
$0748	$6F71	MOVWF	mmclib_mmc_spi_param_data_out, 1
$074A	$EC1A	F000	CALL	mmclib_mmc_spi
$074E	$0EFE	MOVLW	254
$0750	$5D70	SUBWF	mmclib_mmc_spi_local_result, W, 1
$0752	$E003	BZ	mmclib_L_40
$0754	$	mmclib_L_39:
$0754	$0EFF	MOVLW	255
$0756	$6E01	MOVWF	STACK_1, 0
$0758	$D001	BRA	mmclib_L_41
$075A	$	mmclib_L_40:
$075A	$6A01	CLRF	STACK_1, 0
$075C	$	mmclib_L_41:
$075C	$0EFF	MOVLW	255
$075E	$5C01	SUBWF	STACK_1, W, 0
$0760	$E102	BNZ	mmclib_L_43
$0762	$	mmclib_L_42:
$0762	$0000	nop
$0764	$D7F0	BRA	mmclib_L_38
$0766	$	mmclib_L_43:
$0766	$6B59	CLRF	mmclib_mmc_read_sector_local_i_1, 1

⌨️ 快捷键说明

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