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

📄 sd_test.asm

📁 mmc/sd卡的实现源码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
$0780	$6F71	MOVWF	sdlib_sd_spi_param_data_out, 1
$0782	$EC1A	F000	CALL	sdlib_sd_spi
$0786	$5163	MOVF	sdlib_sd_read_sector_param_data_1, W, 1
$0788	$6EE9	MOVWF	FSR0L, 0
$078A	$5164	MOVF	sdlib_sd_read_sector_param_data_2, W, 1
$078C	$6EEA	MOVWF	FSR0H, 0
$078E	$5159	MOVF	sdlib_sd_read_sector_local_i_1, W, 1
$0790	$26E9	ADDWF	FSR0L, F, 0
$0792	$515A	MOVF	sdlib_sd_read_sector_local_i_2, W, 1
$0794	$22EA	ADDWFC	FSR0H, F, 0
$0796	$5170	MOVF	sdlib_sd_spi_local_result, W, 1
$0798	$6EEF	MOVWF	INDF0, 0
$079A	$2B59	INCF	sdlib_sd_read_sector_local_i_1, F, 1
$079C	$B4D8	BTFSC	STATUS, Z, 0
$079E	$2B5A	INCF	sdlib_sd_read_sector_local_i_2, F, 1
$07A0	$D7E4	BRA	sdlib_L_44
$07A2	$	sdlib_L_46:
$07A2	$0EFF	MOVLW	255
$07A4	$6F71	MOVWF	sdlib_sd_spi_param_data_out, 1
$07A6	$EC1A	F000	CALL	sdlib_sd_spi
$07AA	$0EFF	MOVLW	255
$07AC	$6F71	MOVWF	sdlib_sd_spi_param_data_out, 1
$07AE	$EC1A	F000	CALL	sdlib_sd_spi
$07B2	$6B58	CLRF	sdlib_sd_read_sector_local_result, 1
$07B4	$0012	RETURN
$07B6	$	math_div_16x16_u:
$07B6	$0100	MOVLB	0
$07B8	$6A16	CLRF   MATH_MAIN_GLOBAL_REMAINDER_1, 0
$07BA	$6A17	CLRF   MATH_MAIN_GLOBAL_REMAINDER_2, 0
$07BC	$0E10	MOVLW  16
$07BE	$6E15	MOVWF  MATH_MAIN_GLOBAL_LOOPCOUNT, 0
$07C0	$341B	RLCF    MATH_MAIN_GLOBAL_X_2,W, 0
$07C2	$3616	RLCF    MATH_MAIN_GLOBAL_REMAINDER_1,F, 0
$07C4	$3617	RLCF    MATH_MAIN_GLOBAL_REMAINDER_2,F, 0
$07C6	$5018	MOVF   MATH_MAIN_GLOBAL_Y_1,W, 0
$07C8	$5E16	SUBWF  MATH_MAIN_GLOBAL_REMAINDER_1,F, 0
$07CA	$5019	MOVF   MATH_MAIN_GLOBAL_Y_2,W, 0
$07CC	$A0D8	BTFSS  STATUS,C, 0
$07CE	$3C19	INCFSZ MATH_MAIN_GLOBAL_Y_2,W, 0
$07D0	$5E17	SUBWF  MATH_MAIN_GLOBAL_REMAINDER_2,F, 0
$07D2	$B0D8	BTFSC  STATUS,C, 0
$07D4	$EFF3	F003	GOTO   $+8
$07D8	$5018	MOVF   MATH_MAIN_GLOBAL_Y_1,W, 0
$07DA	$2616	ADDWF  MATH_MAIN_GLOBAL_REMAINDER_1,F, 0
$07DC	$5019	MOVF   MATH_MAIN_GLOBAL_Y_2,W, 0
$07DE	$B0D8	BTFSC  STATUS,C, 0
$07E0	$3C19	INCFSZ MATH_MAIN_GLOBAL_Y_2,W, 0
$07E2	$2617	ADDWF  MATH_MAIN_GLOBAL_REMAINDER_2,F, 0
$07E4	$90D8	BCF    STATUS,C, 0
$07E6	$361A	RLCF    MATH_MAIN_GLOBAL_X_1,F, 0
$07E8	$361B	RLCF    MATH_MAIN_GLOBAL_X_2,F, 0
$07EA	$2E15	DECFSZ MATH_MAIN_GLOBAL_LOOPCOUNT,F, 0
$07EC	$EFE0	F003	GOTO   $-21
$07F0	$0012	RETURN
$07F2	$	SD_test_main:
$07F2	$	SD_test_main_main:
$07F2	$6A82	CLRF	PORTC, 0
$07F4	$0E19	MOVLW	25
$07F6	$6EAF	MOVWF	SPBRG, 0
$07F8	$84AC	BSF	TXSTA, BRGH, 0
$07FA	$EC44	F001	CALL	usartlib_u_a_usart_init
$07FE	$0ED3	MOVLW	211
$0800	$6E94	MOVWF	TRISC, 0
$0802	$0E50	MOVLW	80
$0804	$0102	MOVLB	2
$0806	$6F46	MOVWF	sd_test_main_local_local_text_1, 1
$0808	$0E49	MOVLW	73
$080A	$6F47	MOVWF	sd_test_main_local_local_text_2, 1
$080C	$0E43	MOVLW	67
$080E	$6F48	MOVWF	sd_test_main_local_local_text_3, 1
$0810	$0E2D	MOVLW	45
$0812	$6F49	MOVWF	sd_test_main_local_local_text_4, 1
$0814	$0E53	MOVLW	83
$0816	$6F4A	MOVWF	sd_test_main_local_local_text_5, 1
$0818	$0E74	MOVLW	116
$081A	$6F4B	MOVWF	sd_test_main_local_local_text_6, 1
$081C	$0E61	MOVLW	97
$081E	$6F4C	MOVWF	sd_test_main_local_local_text_7, 1
$0820	$0E72	MOVLW	114
$0822	$6F4D	MOVWF	sd_test_main_local_local_text_8, 1
$0824	$0E74	MOVLW	116
$0826	$6F4E	MOVWF	sd_test_main_local_local_text_9, 1
$0828	$0E65	MOVLW	101
$082A	$6F4F	MOVWF	sd_test_main_local_local_text_10, 1
$082C	$0E64	MOVLW	100
$082E	$6F50	MOVWF	sd_test_main_local_local_text_11, 1
$0830	$6B51	CLRF	sd_test_main_local_local_text_12, 1
$0832	$0E46	MOVLW	sd_test_main_local_local_text_1
$0834	$6F5A	MOVWF	sd_test_usart_out_ln_param_text_1, 1
$0836	$0E02	MOVLW	@sd_test_main_local_local_text_1
$0838	$6F5B	MOVWF	sd_test_usart_out_ln_param_text_2, 1
$083A	$EC5C	F001	CALL	SD_test_usart_out_ln
$083E	$0E82	MOVLW	PORTC
$0840	$6F5A	MOVWF	sdlib_sd_init_param_port_1, 1
$0842	$0E0F	MOVLW	@PORTC
$0844	$6F5B	MOVWF	sdlib_sd_init_param_port_2, 1
$0846	$0E02	MOVLW	2
$0848	$6F5C	MOVWF	sdlib_sd_init_param_pin, 1
$084A	$EC87	F001	CALL	sdlib_sd_init
$084E	$5158	MOVF	sdlib_sd_init_local_result, W, 1
$0850	$6E23	MOVWF	main_global_i_1, 0
$0852	$6A24	CLRF	main_global_i_2, 0
$0854	$6A02	CLRF	STACK_2, 0
$0856	$0E00	MOVLW	0
$0858	$5C24	SUBWF	main_global_i_2, W, 0
$085A	$E102	BNZ	SD_test_L_31
$085C	$5002	MOVF	STACK_2, W, 0
$085E	$5C23	SUBWF	main_global_i_1, W, 0
$0860	$	SD_test_L_31:
$0860	$E103	BNZ	SD_test_L_29
$0862	$	SD_test_L_28:
$0862	$0EFF	MOVLW	255
$0864	$6E01	MOVWF	STACK_1, 0
$0866	$D001	BRA	SD_test_L_32
$0868	$	SD_test_L_29:
$0868	$6A01	CLRF	STACK_1, 0
$086A	$	SD_test_L_32:
$086A	$0EFF	MOVLW	255
$086C	$5C01	SUBWF	STACK_1, W, 0
$086E	$E11C	BNZ	SD_test_L_34
$0870	$	SD_test_L_33:
$0870	$0E53	MOVLW	83
$0872	$6F46	MOVWF	sd_test_main_local_local_text_1, 1
$0874	$0E44	MOVLW	68
$0876	$6F47	MOVWF	sd_test_main_local_local_text_2, 1
$0878	$0E20	MOVLW	32
$087A	$6F48	MOVWF	sd_test_main_local_local_text_3, 1
$087C	$0E49	MOVLW	73
$087E	$6F49	MOVWF	sd_test_main_local_local_text_4, 1
$0880	$0E6E	MOVLW	110
$0882	$6F4A	MOVWF	sd_test_main_local_local_text_5, 1
$0884	$0E69	MOVLW	105
$0886	$6F4B	MOVWF	sd_test_main_local_local_text_6, 1
$0888	$0E74	MOVLW	116
$088A	$6F4C	MOVWF	sd_test_main_local_local_text_7, 1
$088C	$0E2D	MOVLW	45
$088E	$6F4D	MOVWF	sd_test_main_local_local_text_8, 1
$0890	$0E4F	MOVLW	79
$0892	$6F4E	MOVWF	sd_test_main_local_local_text_9, 1
$0894	$0E4B	MOVLW	75
$0896	$6F4F	MOVWF	sd_test_main_local_local_text_10, 1
$0898	$6B50	CLRF	sd_test_main_local_local_text_11, 1
$089A	$0E46	MOVLW	sd_test_main_local_local_text_1
$089C	$6F5A	MOVWF	sd_test_usart_out_ln_param_text_1, 1
$089E	$0E02	MOVLW	@sd_test_main_local_local_text_1
$08A0	$6F5B	MOVWF	sd_test_usart_out_ln_param_text_2, 1
$08A2	$EC5C	F001	CALL	SD_test_usart_out_ln
$08A6	$D020	BRA	SD_test_L_30
$08A8	$	SD_test_L_34:
$08A8	$0E53	MOVLW	83
$08AA	$6F46	MOVWF	sd_test_main_local_local_text_1, 1
$08AC	$0E44	MOVLW	68
$08AE	$6F47	MOVWF	sd_test_main_local_local_text_2, 1
$08B0	$0E20	MOVLW	32
$08B2	$6F48	MOVWF	sd_test_main_local_local_text_3, 1
$08B4	$0E49	MOVLW	73
$08B6	$6F49	MOVWF	sd_test_main_local_local_text_4, 1
$08B8	$0E6E	MOVLW	110
$08BA	$6F4A	MOVWF	sd_test_main_local_local_text_5, 1
$08BC	$0E69	MOVLW	105
$08BE	$6F4B	MOVWF	sd_test_main_local_local_text_6, 1
$08C0	$0E74	MOVLW	116
$08C2	$6F4C	MOVWF	sd_test_main_local_local_text_7, 1
$08C4	$0E2D	MOVLW	45
$08C6	$6F4D	MOVWF	sd_test_main_local_local_text_8, 1
$08C8	$0E45	MOVLW	69
$08CA	$6F4E	MOVWF	sd_test_main_local_local_text_9, 1
$08CC	$0E72	MOVLW	114
$08CE	$6F4F	MOVWF	sd_test_main_local_local_text_10, 1
$08D0	$6F50	MOVWF	sd_test_main_local_local_text_11, 1
$08D2	$0E6F	MOVLW	111
$08D4	$6F51	MOVWF	sd_test_main_local_local_text_12, 1
$08D6	$0E72	MOVLW	114
$08D8	$6F52	MOVWF	sd_test_main_local_local_text_13, 1
$08DA	$6B53	CLRF	sd_test_main_local_local_text_14, 1
$08DC	$0E46	MOVLW	sd_test_main_local_local_text_1
$08DE	$6F5A	MOVWF	sd_test_usart_out_ln_param_text_1, 1
$08E0	$0E02	MOVLW	@sd_test_main_local_local_text_1
$08E2	$6F5B	MOVWF	sd_test_usart_out_ln_param_text_2, 1
$08E4	$EC5C	F001	CALL	SD_test_usart_out_ln
$08E8	$	SD_test_L_30:
$08E8	$6A23	CLRF	main_global_i_1, 0
$08EA	$6A24	CLRF	main_global_i_2, 0
$08EC	$	SD_test_L_35:
$08EC	$0EFF	MOVLW	255
$08EE	$6E02	MOVWF	STACK_2, 0
$08F0	$0E01	MOVLW	1
$08F2	$6E03	MOVWF	STACK_3, 0
$08F4	$5024	MOVF	main_global_i_2, W, 0
$08F6	$5C03	SUBWF	STACK_3, W, 0
$08F8	$E102	BNZ	SD_test_L_38
$08FA	$5023	MOVF	main_global_i_1, W, 0
$08FC	$5C02	SUBWF	STACK_2, W, 0
$08FE	$	SD_test_L_38:
$08FE	$E30E	BNC	SD_test_L_37
$0900	$	SD_test_L_36:
$0900	$0E25	MOVLW	main_global_data_1
$0902	$6EE9	MOVWF	FSR0L, 0
$0904	$0E00	MOVLW	@main_global_data_1
$0906	$6EEA	MOVWF	FSR0H, 0
$0908	$5023	MOVF	main_global_i_1, W, 0
$090A	$26E9	ADDWF	FSR0L, F, 0
$090C	$5024	MOVF	main_global_i_2, W, 0
$090E	$22EA	ADDWFC	FSR0H, F, 0
$0910	$0E72	MOVLW	114
$0912	$6EEF	MOVWF	INDF0, 0
$0914	$2A23	INCF	main_global_i_1, F, 0
$0916	$B4D8	BTFSC	STATUS, Z, 0
$0918	$2A24	INCF	main_global_i_2, F, 0
$091A	$D7E8	BRA	SD_test_L_35
$091C	$	SD_test_L_37:
$091C	$0E37	MOVLW	55
$091E	$6F60	MOVWF	sdlib_sd_write_sector_param_sector_1, 1
$0920	$6B61	CLRF	sdlib_sd_write_sector_param_sector_2, 1
$0922	$6B62	CLRF	sdlib_sd_write_sector_param_sector_3, 1
$0924	$6B63	CLRF	sdlib_sd_write_sector_param_sector_4, 1
$0926	$0E25	MOVLW	main_global_data_1
$0928	$6F64	MOVWF	sdlib_sd_write_sector_param_data_1, 1
$092A	$0E00	MOVLW	@main_global_data_1
$092C	$6F65	MOVWF	sdlib_sd_write_sector_param_data_2, 1
$092E	$ECEC	F001	CALL	sdlib_sd_write_sector
$0932	$5158	MOVF	sdlib_sd_write_sector_local_result, W, 1
$0934	$6E23	MOVWF	main_global_i_1, 0
$0936	$6A24	CLRF	main_global_i_2, 0
$0938	$6A02	CLRF	STACK_2, 0
$093A	$0E00	MOVLW	0
$093C	$5C24	SUBWF	main_global_i_2, W, 0
$093E	$E102	BNZ	SD_test_L_42
$0940	$5002	MOVF	STACK_2, W, 0
$0942	$5C23	SUBWF	main_global_i_1, W, 0
$0944	$	SD_test_L_42:
$0944	$E103	BNZ	SD_test_L_40
$0946	$	SD_test_L_39:
$0946	$0EFF	MOVLW	255
$0948	$6E01	MOVWF	STACK_1, 0
$094A	$D001	BRA	SD_test_L_43
$094C	$	SD_test_L_40:
$094C	$6A01	CLRF	STACK_1, 0
$094E	$	SD_test_L_43:
$094E	$0EFF	MOVLW	255
$0950	$5C01	SUBWF	STACK_1, W, 0
$0952	$E118	BNZ	SD_test_L_45
$0954	$	SD_test_L_44:
$0954	$0E57	MOVLW	87
$0956	$6F46	MOVWF	sd_test_main_local_local_text_1, 1
$0958	$0E72	MOVLW	114
$095A	$6F47	MOVWF	sd_test_main_local_local_text_2, 1
$095C	$0E69	MOVLW	105
$095E	$6F48	MOVWF	sd_test_main_local_local_text_3, 1
$0960	$0E74	MOVLW	116
$0962	$6F49	MOVWF	sd_test_main_local_local_text_4, 1
$0964	$0E65	MOVLW	101
$0966	$6F4A	MOVWF	sd_test_main_local_local_text_5, 1
$0968	$0E2D	MOVLW	45
$096A	$6F4B	MOVWF	sd_test_main_local_local_text_6, 1
$096C	$0E4F	MOVLW	79
$096E	$6F4C	MOVWF	sd_test_main_local_local_text_7, 1
$0970	$0E4B	MOVLW	75
$0972	$6F4D	MOVWF	sd_test_main_local_local_text_8, 1
$0974	$6B4E	CLRF	sd_test_main_local_local_text_9, 1
$0976	$0E46	MOVLW	sd_test_main_local_local_text_1
$0978	$6F5A	MOVWF	sd_test_usart_out_ln_param_text_1, 1
$097A	$0E02	MOVLW	@sd_test_main_local_local_text_1
$097C	$6F5B	MOVWF	sd_test_usart_out_ln_param_text_2, 1
$097E	$EC5C	F001	CALL	SD_test_usart_out_ln
$0982	$D01C	BRA	SD_test_L_41
$0984	$	SD_test_L_45:
$0984	$0E57	MOVLW	87
$0986	$6F46	MOVWF	sd_test_main_local_local_text_1, 1
$0988	$0E72	MOVLW	114
$098A	$6F47	MOVWF	sd_test_main_local_local_text_2, 1
$098C	$0E69	MOVLW	105
$098E	$6F48	MOVWF	sd_test_main_local_local_text_3, 1
$0990	$0E74	MOVLW	116
$0992	$6F49	MOVWF	sd_test_main_local_local_text_4, 1
$0994	$0E65	MOVLW	101
$0996	$6F4A	MOVWF	sd_test_main_local_local_text_5, 1
$0998	$0E2D	MOVLW	45
$099A	$6F4B	MOVWF	sd_test_main_local_local_text_6, 1
$099C	$0E45	MOVLW	69
$099E	$6F4C	MOVWF	sd_test_main_local_local_text_7, 1
$09A0	$0E72	MOVLW	114
$09A2	$6F4D	MOVWF	sd_test_main_local_local_text_8, 1
$09A4	$6F4E	MOVWF	sd_test_main_local_local_text_9, 1
$09A6	$0E6F	MOVLW	111
$09A8	$6F4F	MOVWF	sd_test_main_local_local_text_10, 1
$09AA	$0E72	MOVLW	114
$09AC	$6F50	MOVWF	sd_test_main_local_local_text_11, 1
$09AE	$6B51	CLRF	sd_test_main_local_local_text_12, 1
$09B0	$0E46	MOVLW	sd_test_main_local_local_text_1
$09B2	$6F5A	MOVWF	sd_test_usart_out_ln_param_text_1, 1
$09B4	$0E02	MOVLW	@sd_test_main_local_local_text_1
$09B6	$6F5B	MOVWF	sd_test_usart_out_ln_param_text_2, 1
$09B8	$EC5C	F001	CALL	SD_test_usart_out_ln
$09BC	$	SD_test_L_41:
$09BC	$0E25	MOVLW	main_global_data_for_registers_1
$09BE	$6F5A	MOVWF	sdlib_sd_read_cid_param_data_for_registers_1, 1
$09C0	$0E02	MOVLW	@main_global_data_for_registers_1
$09C2	$6F5B	MOVWF	sdlib_sd_read_cid_param_data_for_registers_2, 1
$09C4	$EC89	F002	CALL	sdlib_sd_read_cid
$09C8	$5158	MOVF	sdlib_sd_read_cid_local_result, W, 1
$09CA	$6E23	MOVWF	main_global_i_1, 0
$09CC	$6A24	CLRF	main_global_i_2, 0
$09CE	$6A02	CLRF	STACK_2, 0
$09D0	$0E00	MOVLW	0
$09D2	$5C24	SUBWF	main_global_i_2, W, 0
$09D4	$E102	BNZ	SD_test_L_49
$09D6	$5002	MOVF	STACK_2, W, 0
$09D8	$5C23	SUBWF	main_global_i_1, W, 0
$09DA	$	SD_test_L_49:
$09DA	$E103	BNZ	SD_test_L_47
$09DC	$	SD_test_L_46:
$09DC	$0EFF	MOVLW	255
$09DE	$6E01	MOVWF	STACK_1, 0
$09E0	$D001	BRA	SD_test_L_50
$09E2	$	SD_test_L_47:
$09E2	$6A01	CLRF	STACK_1, 0
$09E4	$	SD_test_L_50:
$09E4	$0EFF	MOVLW	255
$09E6	$5C01	SUBWF	STACK_1, W, 0
$09E8	$E134	BNZ	SD_test_L_52
$09EA	$	SD_test_L_51:
$09EA	$6B35	CLRF	main_global_k_1, 1
$09EC	$6B36	CLRF	main_global_k_2, 1
$09EE	$	SD_test_L_53:
$09EE	$0E0F	MOVLW	15
$09F0	$6E02	MOVWF	STACK_2, 0
$09F2	$0E00	MOVLW	0
$09F4	$6E03	MOVWF	STACK_3, 0
$09F6	$5136	MOVF	main_global_k_2, W, 1
$09F8	$5C03	SUBWF	STACK_3, W, 0
$09FA	$E102	BNZ	SD_test_L_56
$09FC	$5135	MOVF	main_global_k_1, W, 1
$09FE	$5C02	SUBWF	STACK_2, W, 0
$0A00	$	SD_test_L_56:
$0A00	$E323	BNC	SD_test_L_55
$0A02	$	SD_test_L_54:
$0A02	$0E25	MOVLW	main_global_data_for_registers_1
$0A04	$6EE9	MOVWF	FSR0L, 0
$0A06	$0E02	MOVLW	@main_global_data_for_registers_1
$0A08	$6EEA	MOVWF	FSR0H, 0
$0A0A	$5135	MOVF	main_global_k_1, W, 1
$0A0C	$26E9	ADDWF	FSR0L, F, 0
$0A0E	$5136	MOVF	main_global_k_2, W, 1
$0A10	$22EA	ADDWFC	FSR0H, F, 0
$0A12	$50EF	MOVF	INDF0, W, 0
$0A14	$6F5A	MOVWF	sd_test_printhex_param_ix, 1
$0A16	$ECE1	F000	CALL	SD_test_printhex
$0A1A	$0E0F	MOVLW	15
$0A1C	$6E04	MOVWF	STACK_4, 0
$0A1E	$0E00	MOVLW	0
$0A20	$5D36	SUBWF	main_global_k_2, W, 1
$0A22	$E102	BNZ	SD_test_L_61
$0A24	$5004	MOVF	STACK_4, W, 0
$0A26	$5D35	SUBWF	main_global_k_1, W, 1
$0A28	$	SD_test_L_61:
$0A28	$E003	BZ	SD_test_L_59
$0A2A	$	SD_test_L_58:
$0A2A	$0EFF	MOVLW	255
$0A2C	$6E03	MOVWF	STACK_3, 0
$0A2E	$D001	BRA	SD_test_L_62
$0A30	$	SD_test_L_59:
$0A30	$6A03	CLRF	STACK_3, 0
$0A32	$	SD_test_L_62:
$0A32	$0EFF	MOVLW	255
$0A34	$5C03	SUBWF	STACK_3, W, 0
$0A36	$E104	BNZ	SD_test_L_64
$0A38	$	SD_test_L_63:
$0A38	$0E2D	MOVLW	45
$0A3A	$6F66	MOVWF	usartlib_u_a_usart_write_param_data, 1
$0A3C	$EC22	F000	CALL	usartlib_u_a_usart_write
$0A40	$	SD_test_L_64:
$0A40	$	SD_test_L_60:
$0A40	$2B35	INCF	main_global_k_1, F, 1
$0A42	$B4D8	BTFSC	STATUS, Z, 0
$0A44	$2B36	INCF	main_global_k_2, F, 1
$0A46	$D7D3	BRA	SD_test_L_53
$0A48	$	SD_test_L_55:

⌨️ 快捷键说明

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