?? sd_test.asm
字號:
$02FA $E207 BC L_SD_Init_22
$02FC $0EFF MOVLW 255
$02FE $6F6E MOVWF SD_SPI_argh0, 1
$0300 $EC14 F000 CALL _SD_SPI
$0304 $ L_SD_Init_23:
$0304 $0102 MOVLB 2
$0306 $2B44 INCF SD_Init_i_L0,F, 1
$0308 $D7F5 BRA L_SD_Init_21
$030A $ L_SD_Init_22:
$030A $9482 BCF PORTC,2, 0
$030C $0102 MOVLB 2
$030E $6B67 CLRF SD_Send_Command_argh0, 1
$0310 $6B68 CLRF SD_Send_Command_argh1_1, 1
$0312 $6B69 CLRF SD_Send_Command_argh1_2, 1
$0314 $6B6A CLRF SD_Send_Command_argh1_3, 1
$0316 $6B6B CLRF SD_Send_Command_argh1_4, 1
$0318 $0E95 MOVLW 149
$031A $6F6C MOVWF SD_Send_Command_argh2, 1
$031C $EC1D F000 CALL _SD_Send_Command
$0320 $0E01 MOVLW 1
$0322 $0102 MOVLB 2
$0324 $5D63 SUBWF _SD_Send_Command_local_result,W, 1
$0326 $E002 BZ L_SD_Init_24
$0328 $EFC3 F001 GOTO Error
$032C $ L_SD_Init_24:
$032C $ loop1:
$032C $0E01 MOVLW 1
$032E $0102 MOVLB 2
$0330 $6F67 MOVWF SD_Send_Command_argh0, 1
$0332 $6B68 CLRF SD_Send_Command_argh1_1, 1
$0334 $6B69 CLRF SD_Send_Command_argh1_2, 1
$0336 $6B6A CLRF SD_Send_Command_argh1_3, 1
$0338 $6B6B CLRF SD_Send_Command_argh1_4, 1
$033A $0EFF MOVLW 255
$033C $6F6C MOVWF SD_Send_Command_argh2, 1
$033E $EC1D F000 CALL _SD_Send_Command
$0342 $6A00 CLRF STACK_0, 0
$0344 $5000 MOVF STACK_0,W, 0
$0346 $0102 MOVLB 2
$0348 $5D63 SUBWF _SD_Send_Command_local_result,W, 1
$034A $E002 BZ L_SD_Init_25
$034C $EF96 F001 GOTO loop1
$0350 $ L_SD_Init_25:
$0350 $0102 MOVLB 2
$0352 $6B5D CLRF SD_Read_Sector_No_Offset_argh0_1, 1
$0354 $6B5E CLRF SD_Read_Sector_No_Offset_argh0_2, 1
$0356 $6B5F CLRF SD_Read_Sector_No_Offset_argh0_3, 1
$0358 $6B60 CLRF SD_Read_Sector_No_Offset_argh0_4, 1
$035A $5145 MOVF SD_Init_argh0_1,W, 1
$035C $6F61 MOVWF SD_Read_Sector_No_Offset_argh1_1, 1
$035E $5146 MOVF SD_Init_argh0_2,W, 1
$0360 $6F62 MOVWF SD_Read_Sector_No_Offset_argh1_2, 1
$0362 $ECDC F000 CALL _SD_Read_Sector_No_Offset
$0366 $0102 MOVLB 2
$0368 $5145 MOVF SD_Init_argh0_1,W, 1
$036A $0FC6 ADDLW 198
$036C $6E00 MOVWF STACK_0, 0
$036E $0E01 MOVLW 1
$0370 $2146 ADDWFC SD_Init_argh0_2,W, 1
$0372 $6E01 MOVWF STACK_1, 0
$0374 $5000 MOVF STACK_0,W, 0
$0376 $6EE9 MOVWF FSR0L, 0
$0378 $5001 MOVF STACK_1,W, 0
$037A $6EEA MOVWF FSR0H, 0
$037C $50EF MOVF INDF0,W, 0
$037E $6E1C MOVWF _zero_sector_offset, 0
$0380 $0E01 MOVLW 1
$0382 $6F43 MOVWF _SD_Init_local_result, 1
$0384 $0012 RETURN
$0386 $ Error:
$0386 $0102 MOVLB 2
$0388 $6B43 CLRF _SD_Init_local_result, 1
$038A $0012 RETURN
$038C $ _SD_Read_CID:
$038C $0102 MOVLB 2
$038E $6B48 CLRF SD_Read_CID_i_L0, 1
$0390 $ L_SD_Read_CID_46:
$0390 $0E10 MOVLW 16
$0392 $0102 MOVLB 2
$0394 $5D48 SUBWF SD_Read_CID_i_L0,W, 1
$0396 $E214 BC L_SD_Read_CID_47
$0398 $0E01 MOVLW 1
$039A $0348 MULWF SD_Read_CID_i_L0, 1
$039C $50F3 MOVF PRODL,W, 0
$039E $6E02 MOVWF STACK_2, 0
$03A0 $50F4 MOVF PRODH,W, 0
$03A2 $6E03 MOVWF STACK_3, 0
$03A4 $5002 MOVF STACK_2,W, 0
$03A6 $2549 ADDWF SD_Read_CID_argh0_1,W, 1
$03A8 $6E00 MOVWF STACK_0, 0
$03AA $514A MOVF SD_Read_CID_argh0_2,W, 1
$03AC $2003 ADDWFC STACK_3,W, 0
$03AE $6E01 MOVWF STACK_1, 0
$03B0 $5000 MOVF STACK_0,W, 0
$03B2 $6EE9 MOVWF FSR0L, 0
$03B4 $5001 MOVF STACK_1,W, 0
$03B6 $6EEA MOVWF FSR0H, 0
$03B8 $6AEF CLRF INDF0, 0
$03BA $ L_SD_Read_CID_48:
$03BA $0102 MOVLB 2
$03BC $2B48 INCF SD_Read_CID_i_L0,F, 1
$03BE $D7E8 BRA L_SD_Read_CID_46
$03C0 $ L_SD_Read_CID_47:
$03C0 $0E0A MOVLW 10
$03C2 $0102 MOVLB 2
$03C4 $6F67 MOVWF SD_Send_Command_argh0, 1
$03C6 $6B68 CLRF SD_Send_Command_argh1_1, 1
$03C8 $6B69 CLRF SD_Send_Command_argh1_2, 1
$03CA $6B6A CLRF SD_Send_Command_argh1_3, 1
$03CC $6B6B CLRF SD_Send_Command_argh1_4, 1
$03CE $0EFF MOVLW 255
$03D0 $6F6C MOVWF SD_Send_Command_argh2, 1
$03D2 $EC1D F000 CALL _SD_Send_Command
$03D6 $6A00 CLRF STACK_0, 0
$03D8 $5000 MOVF STACK_0,W, 0
$03DA $0102 MOVLB 2
$03DC $5D63 SUBWF _SD_Send_Command_local_result,W, 1
$03DE $E003 BZ L_SD_Read_CID_49
$03E0 $0E01 MOVLW 1
$03E2 $6F43 MOVWF _SD_Read_CID_local_result, 1
$03E4 $0012 RETURN
$03E6 $ L_SD_Read_CID_49:
$03E6 $0102 MOVLB 2
$03E8 $6B48 CLRF SD_Read_CID_i_L0, 1
$03EA $ L_SD_Read_CID_50:
$03EA $0E10 MOVLW 16
$03EC $0102 MOVLB 2
$03EE $5D48 SUBWF SD_Read_CID_i_L0,W, 1
$03F0 $E22A BC L_SD_Read_CID_51
$03F2 $0E01 MOVLW 1
$03F4 $0348 MULWF SD_Read_CID_i_L0, 1
$03F6 $50F3 MOVF PRODL,W, 0
$03F8 $6E02 MOVWF STACK_2, 0
$03FA $50F4 MOVF PRODH,W, 0
$03FC $6E03 MOVWF STACK_3, 0
$03FE $5002 MOVF STACK_2,W, 0
$0400 $2549 ADDWF SD_Read_CID_argh0_1,W, 1
$0402 $6E00 MOVWF STACK_0, 0
$0404 $514A MOVF SD_Read_CID_argh0_2,W, 1
$0406 $2003 ADDWFC STACK_3,W, 0
$0408 $6E01 MOVWF STACK_1, 0
$040A $0EFF MOVLW 255
$040C $6F6E MOVWF SD_SPI_argh0, 1
$040E $5000 MOVF STACK_0,W, 0
$0410 $6F44 MOVWF Mirror_SD_Read_CID_STACK_0, 1
$0412 $5001 MOVF STACK_1,W, 0
$0414 $6F45 MOVWF Mirror_SD_Read_CID_STACK_1, 1
$0416 $5002 MOVF STACK_2,W, 0
$0418 $6F46 MOVWF Mirror_SD_Read_CID_STACK_2, 1
$041A $5003 MOVF STACK_3,W, 0
$041C $6F47 MOVWF Mirror_SD_Read_CID_STACK_3, 1
$041E $EC14 F000 CALL _SD_SPI
$0422 $0102 MOVLB 2
$0424 $5144 MOVF Mirror_SD_Read_CID_STACK_0,W, 1
$0426 $6E00 MOVWF STACK_0, 0
$0428 $5145 MOVF Mirror_SD_Read_CID_STACK_1,W, 1
$042A $6E01 MOVWF STACK_1, 0
$042C $5146 MOVF Mirror_SD_Read_CID_STACK_2,W, 1
$042E $6E02 MOVWF STACK_2, 0
$0430 $5147 MOVF Mirror_SD_Read_CID_STACK_3,W, 1
$0432 $6E03 MOVWF STACK_3, 0
$0434 $5000 MOVF STACK_0,W, 0
$0436 $6EE9 MOVWF FSR0L, 0
$0438 $5001 MOVF STACK_1,W, 0
$043A $6EEA MOVWF FSR0H, 0
$043C $516D MOVF _SD_SPI_local_result,W, 1
$043E $6EEF MOVWF INDF0, 0
$0440 $ L_SD_Read_CID_52:
$0440 $0102 MOVLB 2
$0442 $2B48 INCF SD_Read_CID_i_L0,F, 1
$0444 $D7D2 BRA L_SD_Read_CID_50
$0446 $ L_SD_Read_CID_51:
$0446 $0102 MOVLB 2
$0448 $6B43 CLRF _SD_Read_CID_local_result, 1
$044A $0012 RETURN
$044C $ _printhex:
$044C $0EF0 MOVLW 240
$044E $0102 MOVLB 2
$0450 $1545 ANDWF printhex_argh0,W, 1
$0452 $6F43 MOVWF printhex_hi_L0, 1
$0454 $5143 MOVF printhex_hi_L0,W, 1
$0456 $6F43 MOVWF printhex_hi_L0, 1
$0458 $94D8 BCF STATUS,Z, 0
$045A $0E04 MOVLW 4
$045C $ L_printhex_0:
$045C $E005 BZ L_printhex_1
$045E $0102 MOVLB 2
$0460 $3343 RRCF printhex_hi_L0,F, 1
$0462 $9F43 BCF printhex_hi_L0,7, 1
$0464 $0FFF ADDLW 255
$0466 $D7FA BRA L_printhex_0
$0468 $ L_printhex_1:
$0468 $0E30 MOVLW 48
$046A $0102 MOVLB 2
$046C $2543 ADDWF printhex_hi_L0,W, 1
$046E $6F43 MOVWF printhex_hi_L0, 1
$0470 $0E39 MOVLW 57
$0472 $6E00 MOVWF STACK_0, 0
$0474 $5143 MOVF printhex_hi_L0,W, 1
$0476 $5C00 SUBWF STACK_0,W, 0
$0478 $E203 BC L_printhex_2
$047A $0E07 MOVLW 7
$047C $2543 ADDWF printhex_hi_L0,W, 1
$047E $6F43 MOVWF printhex_hi_L0, 1
$0480 $ L_printhex_2:
$0480 $0E0F MOVLW 15
$0482 $0102 MOVLB 2
$0484 $1545 ANDWF printhex_argh0,W, 1
$0486 $6E00 MOVWF STACK_0, 0
$0488 $0E30 MOVLW 48
$048A $2600 ADDWF STACK_0,F, 0
$048C $5000 MOVF STACK_0,W, 0
$048E $6F44 MOVWF printhex_lo_L0, 1
$0490 $0E39 MOVLW 57
$0492 $6E00 MOVWF STACK_0, 0
$0494 $5144 MOVF printhex_lo_L0,W, 1
$0496 $5C00 SUBWF STACK_0,W, 0
$0498 $E203 BC L_printhex_3
$049A $0E07 MOVLW 7
$049C $2544 ADDWF printhex_lo_L0,W, 1
$049E $6F44 MOVWF printhex_lo_L0, 1
$04A0 $ L_printhex_3:
$04A0 $0102 MOVLB 2
$04A2 $5143 MOVF printhex_hi_L0,W, 1
$04A4 $6F53 MOVWF Usart_Write_argh0, 1
$04A6 $EC50 F001 CALL _Usart_Write
$04AA $0102 MOVLB 2
$04AC $5144 MOVF printhex_lo_L0,W, 1
$04AE $6F53 MOVWF Usart_Write_argh0, 1
$04B0 $EC50 F001 CALL _Usart_Write
$04B4 $0012 RETURN
$04B6 $ _SD_Read_CSD:
$04B6 $0102 MOVLB 2
$04B8 $6B48 CLRF SD_Read_CSD_i_L0, 1
$04BA $ L_SD_Read_CSD_53:
$04BA $0E10 MOVLW 16
$04BC $0102 MOVLB 2
$04BE $5D48 SUBWF SD_Read_CSD_i_L0,W, 1
$04C0 $E214 BC L_SD_Read_CSD_54
$04C2 $0E01 MOVLW 1
$04C4 $0348 MULWF SD_Read_CSD_i_L0, 1
$04C6 $50F3 MOVF PRODL,W, 0
$04C8 $6E02 MOVWF STACK_2, 0
$04CA $50F4 MOVF PRODH,W, 0
$04CC $6E03 MOVWF STACK_3, 0
$04CE $5002 MOVF STACK_2,W, 0
$04D0 $2549 ADDWF SD_Read_CSD_argh0_1,W, 1
$04D2 $6E00 MOVWF STACK_0, 0
$04D4 $514A MOVF SD_Read_CSD_argh0_2,W, 1
$04D6 $2003 ADDWFC STACK_3,W, 0
$04D8 $6E01 MOVWF STACK_1, 0
$04DA $5000 MOVF STACK_0,W, 0
$04DC $6EE9 MOVWF FSR0L, 0
$04DE $5001 MOVF STACK_1,W, 0
$04E0 $6EEA MOVWF FSR0H, 0
$04E2 $6AEF CLRF INDF0, 0
$04E4 $ L_SD_Read_CSD_55:
$04E4 $0102 MOVLB 2
$04E6 $2B48 INCF SD_Read_CSD_i_L0,F, 1
$04E8 $D7E8 BRA L_SD_Read_CSD_53
$04EA $ L_SD_Read_CSD_54:
$04EA $0E09 MOVLW 9
$04EC $0102 MOVLB 2
$04EE $6F67 MOVWF SD_Send_Command_argh0, 1
$04F0 $6B68 CLRF SD_Send_Command_argh1_1, 1
$04F2 $6B69 CLRF SD_Send_Command_argh1_2, 1
$04F4 $6B6A CLRF SD_Send_Command_argh1_3, 1
$04F6 $6B6B CLRF SD_Send_Command_argh1_4, 1
$04F8 $0EFF MOVLW 255
$04FA $6F6C MOVWF SD_Send_Command_argh2, 1
$04FC $EC1D F000 CALL _SD_Send_Command
$0500 $6A00 CLRF STACK_0, 0
$0502 $5000 MOVF STACK_0,W, 0
$0504 $0102 MOVLB 2
$0506 $5D63 SUBWF _SD_Send_Command_local_result,W, 1
$0508 $E003 BZ L_SD_Read_CSD_56
$050A $0E01 MOVLW 1
$050C $6F43 MOVWF _SD_Read_CSD_local_result, 1
$050E $0012 RETURN
$0510 $ L_SD_Read_CSD_56:
$0510 $0102 MOVLB 2
$0512 $6B48 CLRF SD_Read_CSD_i_L0, 1
$0514 $ L_SD_Read_CSD_57:
$0514 $0E10 MOVLW 16
$0516 $0102 MOVLB 2
$0518 $5D48 SUBWF SD_Read_CSD_i_L0,W, 1
$051A $E22A BC L_SD_Read_CSD_58
$051C $0E01 MOVLW 1
$051E $0348 MULWF SD_Read_CSD_i_L0, 1
$0520 $50F3 MOVF PRODL,W, 0
$0522 $6E02 MOVWF STACK_2, 0
$0524 $50F4 MOVF PRODH,W, 0
$0526 $6E03 MOVWF STACK_3, 0
$0528 $5002 MOVF STACK_2,W, 0
$052A $2549 ADDWF SD_Read_CSD_argh0_1,W, 1
$052C $6E00 MOVWF STACK_0, 0
$052E $514A MOVF SD_Read_CSD_argh0_2,W, 1
$0530 $2003 ADDWFC STACK_3,W, 0
$0532 $6E01 MOVWF STACK_1, 0
$0534 $0EFF MOVLW 255
$0536 $6F6E MOVWF SD_SPI_argh0, 1
$0538 $5000 MOVF STACK_0,W, 0
$053A $6F44 MOVWF Mirror_SD_Read_CSD_STACK_0, 1
$053C $5001 MOVF STACK_1,W, 0
$053E $6F45 MOVWF Mirror_SD_Read_CSD_STACK_1, 1
$0540 $5002 MOVF STACK_2,W, 0
$0542 $6F46 MOVWF Mirror_SD_Read_CSD_STACK_2, 1
$0544 $5003 MOVF STACK_3,W, 0
$0546 $6F47 MOVWF Mirror_SD_Read_CSD_STACK_3, 1
$0548 $EC14 F000 CALL _SD_SPI
$054C $0102 MOVLB 2
$054E $5144 MOVF Mirror_SD_Read_CSD_STACK_0,W, 1
$0550 $6E00 MOVWF STACK_0, 0
$0552 $5145 MOVF Mirror_SD_Read_CSD_STACK_1,W, 1
$0554 $6E01 MOVWF STACK_1, 0
$0556 $5146 MOVF Mirror_SD_Read_CSD_STACK_2,W, 1
$0558 $6E02 MOVWF STACK_2, 0
$055A $5147 MOVF Mirror_SD_Read_CSD_STACK_3,W, 1
$055C $6E03 MOVWF STACK_3, 0
$055E $5000 MOVF STACK_0,W, 0
$0560 $6EE9 MOVWF FSR0L, 0
$0562 $5001 MOVF STACK_1,W, 0
$0564 $6EEA MOVWF FSR0H, 0
$0566 $516D MOVF _SD_SPI_local_result,W, 1
$0568 $6EEF MOVWF INDF0, 0
$056A $ L_SD_Read_CSD_59:
$056A $0102 MOVLB 2
$056C $2B48 INCF SD_Read_CSD_i_L0,F, 1
$056E $D7D2 BRA L_SD_Read_CSD_57
$0570 $ L_SD_Read_CSD_58:
$0570 $0102 MOVLB 2
$0572 $6B43 CLRF _SD_Read_CSD_local_result, 1
$0574 $0012 RETURN
$0576 $ _Usart_Data_Ready:
$0576 $6A00 CLRF STACK_0, 0
$0578 $BA9E BTFSC PIR1,5, 0
$057A $2A00 INCF STACK_0,F, 0
$057C $5000 MOVF STACK_0,W, 0
$057E $0102 MOVLB 2
$0580 $6F43 MOVWF _Usart_Data_Ready_local_result, 1
$0582 $0012 RETURN
$0584 $ _Usart_Read:
$0584 $50AE MOVF RCREG,W, 0
$0586 $0102 MOVLB 2
$0588 $6F44 MOVWF Usart_Read_tmp_L0, 1
$058A $6A00 CLRF STACK_0, 0
$058C $6A01 CLRF STACK_1, 0
$058E $B2AB BTFSC RCSTA,1, 0
$0590 $2A01 INCF STACK_1,F, 0
$0592 $5001 MOVF STACK_1,W, 0
$0594 $5C00 SUBWF STACK_0,W, 0
$0596 $E002 BZ L_Usart_Read_2
$0598 $98AB BCF RCSTA,4, 0
$059A $88AB BSF RCSTA,4, 0
$059C $ L_Usart_Read_2:
$059C $0102 MOVLB 2
$059E $5144 MOVF Usart_Read_tmp_L0,W, 1
$05A0 $6F43 MOVWF _Usart_Read_local_result, 1
$05A2 $0012 RETURN
$05A4 $ _SD_Read_Sector:
$05A4 $0102 MOVLB 2
$05A6 $514D MOVF SD_Read_Sector_argh0_1,W, 1
$05A8 $241C ADDWF _zero_sector_offset,W, 0
$05AA $6E00 MOVWF STACK_0, 0
$05AC $514E MOVF SD_Read_Sector_argh0_2,W, 1
$05AE $6E01 MOVWF STACK_1, 0
$05B0 $0E00 MOVLW 0
$05B2 $2201 ADDWFC STACK_1,F, 0
$05B4 $514F MOVF SD_Read_Sector_argh0_3,W, 1
$05B6 $6E02 MOVWF STACK_2, 0
$05B8 $0E00 MOVLW 0
$05BA $2202 ADDWFC STACK_2,F, 0
$05BC $5150 MOVF SD_Read_Sector_argh0_4,W, 1
$05BE $6E03 MOVWF STACK_3, 0
$05C0 $0E00 MOVLW 0
$05C2 $2202 ADDWFC STACK_2,F, 0
$05C4 $94D8 BCF STATUS,Z, 0
$05C6 $0E09 MOVLW 9
$05C8 $ L_SD_Read_Sector_26:
$05C8 $E007 BZ L_SD_Read_Sector_27
$05CA $3600 RLCF STACK_0,F, 0
$05CC $3601 RLCF STACK_1,F, 0
$05CE $3602 RLCF STACK_2,F, 0
$05D0 $3603 RLCF STACK_3,F, 0
$05D2 $9000 BCF STACK_0,0, 0
$05D4 $0FFF ADDLW 255
$05D6 $D7F8 BRA L_SD_Read_Sector_26
$05D8 $ L_SD_Read_Sector_27:
$05D8 $5000 MOVF STACK_0,W, 0
$05DA $0102 MOVLB 2
$05DC $6F48 MOVWF SD_Read_Sector_byte_start_L0_1, 1
$05DE $5001 MOVF STACK_1,W, 0
$05E0 $6F49 MOVWF SD_Read_Sector_byte_start_L0_2, 1
$05E2 $5002 MOVF STACK_2,W, 0
$05E4 $6F4A MOVWF SD_Read_Sector_byte_start_L0_3, 1
$05E6 $5003 MOVF STACK_3,W, 0
$05E8 $6F4B MOVWF SD_Read_Sector_byte_start_L0_4, 1
$05EA $0E11 MOVLW 17
$05EC $6F67 MOVWF SD_Send_Command_argh0, 1
$05EE $5148 MOVF SD_Read_Sector_byte_start_L0_1,W, 1
$05F0 $6F68 MOVWF SD_Send_Command_argh1_1, 1
$05F2 $5149 MOVF SD_Read_Sector_byte_start_L0_2,W, 1
$05F4 $6F69 MOVWF SD_Send_Command_argh1_2, 1
$05F6 $514A MOVF SD_Read_Sector_byte_start_L0_3,W, 1
$05F8 $6F6A MOVWF SD_Send_Command_argh1_3, 1
$05FA $514B MOVF SD_Read_Sector_byte_start_L0_4,W, 1
$05FC $6F6B MOVWF SD_Send_Command_argh1_4, 1
$05FE $0EFF MOVLW 255
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -