📄 mmc_test.lst
字号:
$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 + -