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

📄 mmc_test.asm

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

⌨️ 快捷键说明

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