?? sd_test.asm
字號:
$0600 $6F6C MOVWF SD_Send_Command_argh2, 1
$0602 $EC1D F000 CALL _SD_Send_Command
$0606 $0102 MOVLB 2
$0608 $5163 MOVF _SD_Send_Command_local_result,W, 1
$060A $6F4C MOVWF SD_Read_Sector_response_L0, 1
$060C $6A00 CLRF STACK_0, 0
$060E $5000 MOVF STACK_0,W, 0
$0610 $5D4C SUBWF SD_Read_Sector_response_L0,W, 1
$0612 $E003 BZ L_SD_Read_Sector_28
$0614 $514C MOVF SD_Read_Sector_response_L0,W, 1
$0616 $6F43 MOVWF _SD_Read_Sector_local_result, 1
$0618 $0012 RETURN
$061A $ L_SD_Read_Sector_28:
$061A $ L_SD_Read_Sector_29:
$061A $0EFF MOVLW 255
$061C $0102 MOVLB 2
$061E $6F6E MOVWF SD_SPI_argh0, 1
$0620 $EC14 F000 CALL _SD_SPI
$0624 $0EFE MOVLW 254
$0626 $0102 MOVLB 2
$0628 $5D6D SUBWF _SD_SPI_local_result,W, 1
$062A $E002 BZ L_SD_Read_Sector_30
$062C $EF0D F003 GOTO L_SD_Read_Sector_29
$0630 $ L_SD_Read_Sector_30:
$0630 $0102 MOVLB 2
$0632 $6B46 CLRF SD_Read_Sector_i_L0_1, 1
$0634 $6B47 CLRF SD_Read_Sector_i_L0_2, 1
$0636 $ L_SD_Read_Sector_31:
$0636 $0E00 MOVLW 0
$0638 $6E00 MOVWF STACK_0, 0
$063A $0E02 MOVLW 2
$063C $6E01 MOVWF STACK_1, 0
$063E $0102 MOVLB 2
$0640 $5147 MOVF SD_Read_Sector_i_L0_2,W, 1
$0642 $6E02 MOVWF STACK_2, 0
$0644 $5001 MOVF STACK_1,W, 0
$0646 $5E02 SUBWF STACK_2,F, 0
$0648 $E102 BNZ L_SD_Read_Sector_34
$064A $5000 MOVF STACK_0,W, 0
$064C $5D46 SUBWF SD_Read_Sector_i_L0_1,W, 1
$064E $ L_SD_Read_Sector_34:
$064E $E21F BC L_SD_Read_Sector_32
$0650 $0102 MOVLB 2
$0652 $5146 MOVF SD_Read_Sector_i_L0_1,W, 1
$0654 $2551 ADDWF SD_Read_Sector_argh1_1,W, 1
$0656 $6E00 MOVWF STACK_0, 0
$0658 $5152 MOVF SD_Read_Sector_argh1_2,W, 1
$065A $2147 ADDWFC SD_Read_Sector_i_L0_2,W, 1
$065C $6E01 MOVWF STACK_1, 0
$065E $0EFF MOVLW 255
$0660 $6F6E MOVWF SD_SPI_argh0, 1
$0662 $5000 MOVF STACK_0,W, 0
$0664 $6F44 MOVWF Mirror_SD_Read_Sector_STACK_0, 1
$0666 $5001 MOVF STACK_1,W, 0
$0668 $6F45 MOVWF Mirror_SD_Read_Sector_STACK_1, 1
$066A $EC14 F000 CALL _SD_SPI
$066E $0102 MOVLB 2
$0670 $5144 MOVF Mirror_SD_Read_Sector_STACK_0,W, 1
$0672 $6E00 MOVWF STACK_0, 0
$0674 $5145 MOVF Mirror_SD_Read_Sector_STACK_1,W, 1
$0676 $6E01 MOVWF STACK_1, 0
$0678 $5000 MOVF STACK_0,W, 0
$067A $6EE9 MOVWF FSR0L, 0
$067C $5001 MOVF STACK_1,W, 0
$067E $6EEA MOVWF FSR0H, 0
$0680 $516D MOVF _SD_SPI_local_result,W, 1
$0682 $6EEF MOVWF INDF0, 0
$0684 $ L_SD_Read_Sector_33:
$0684 $0102 MOVLB 2
$0686 $2B46 INCF SD_Read_Sector_i_L0_1,F, 1
$0688 $B4D8 BTFSC STATUS,Z, 0
$068A $2B47 INCF SD_Read_Sector_i_L0_2,F, 1
$068C $D7D4 BRA L_SD_Read_Sector_31
$068E $ L_SD_Read_Sector_32:
$068E $0EFF MOVLW 255
$0690 $0102 MOVLB 2
$0692 $6F6E MOVWF SD_SPI_argh0, 1
$0694 $EC14 F000 CALL _SD_SPI
$0698 $0EFF MOVLW 255
$069A $0102 MOVLB 2
$069C $6F6E MOVWF SD_SPI_argh0, 1
$069E $EC14 F000 CALL _SD_SPI
$06A2 $0102 MOVLB 2
$06A4 $6B43 CLRF _SD_Read_Sector_local_result, 1
$06A6 $0012 RETURN
$06A8 $ math_Div_16x16_U:
$06A8 $0100 MOVLB 0
$06AA $6A16 CLRF math_main_global_Remainder_1, 0
$06AC $6A17 CLRF math_main_global_Remainder_2, 0
$06AE $0E10 MOVLW 16
$06B0 $6E15 MOVWF math_main_global_LoopCount, 0
$06B2 $341B RLCF math_main_global_X_2,W, 0
$06B4 $3616 RLCF math_main_global_Remainder_1,F, 0
$06B6 $3617 RLCF math_main_global_Remainder_2,F, 0
$06B8 $5018 MOVF math_main_global_Y_1,W, 0
$06BA $5E16 SUBWF math_main_global_Remainder_1,F, 0
$06BC $5019 MOVF math_main_global_Y_2,W, 0
$06BE $A0D8 BTFSS STATUS,C,0
$06C0 $3C19 INCFSZ math_main_global_Y_2,W, 0
$06C2 $5E17 SUBWF math_main_global_Remainder_2,F, 0
$06C4 $B0D8 BTFSC STATUS,C,0
$06C6 $EF6C F003 GOTO $+8
$06CA $5018 MOVF math_main_global_Y_1,W, 0
$06CC $2616 ADDWF math_main_global_Remainder_1,F, 0
$06CE $5019 MOVF math_main_global_Y_2,W, 0
$06D0 $B0D8 BTFSC STATUS,C,0
$06D2 $3C19 INCFSZ math_main_global_Y_2,W, 0
$06D4 $2617 ADDWF math_main_global_Remainder_2,F, 0
$06D6 $90D8 BCF STATUS,C,0
$06D8 $361A RLCF math_main_global_X_1,F, 0
$06DA $361B RLCF math_main_global_X_2,F, 0
$06DC $2E15 DECFSZ math_main_global_LoopCount,F, 0
$06DE $EF59 F003 GOTO $-21
$06E2 $0012 RETURN
$06E4 $ _SD_Write_Sector:
$06E4 $0102 MOVLB 2
$06E6 $514A MOVF SD_Write_Sector_argh0_1,W, 1
$06E8 $241C ADDWF _zero_sector_offset,W, 0
$06EA $6E00 MOVWF STACK_0, 0
$06EC $514B MOVF SD_Write_Sector_argh0_2,W, 1
$06EE $6E01 MOVWF STACK_1, 0
$06F0 $0E00 MOVLW 0
$06F2 $2201 ADDWFC STACK_1,F, 0
$06F4 $514C MOVF SD_Write_Sector_argh0_3,W, 1
$06F6 $6E02 MOVWF STACK_2, 0
$06F8 $0E00 MOVLW 0
$06FA $2202 ADDWFC STACK_2,F, 0
$06FC $514D MOVF SD_Write_Sector_argh0_4,W, 1
$06FE $6E03 MOVWF STACK_3, 0
$0700 $0E00 MOVLW 0
$0702 $2202 ADDWFC STACK_2,F, 0
$0704 $94D8 BCF STATUS,Z, 0
$0706 $0E09 MOVLW 9
$0708 $ L_SD_Write_Sector_35:
$0708 $E007 BZ L_SD_Write_Sector_36
$070A $3600 RLCF STACK_0,F, 0
$070C $3601 RLCF STACK_1,F, 0
$070E $3602 RLCF STACK_2,F, 0
$0710 $3603 RLCF STACK_3,F, 0
$0712 $9000 BCF STACK_0,0, 0
$0714 $0FFF ADDLW 255
$0716 $D7F8 BRA L_SD_Write_Sector_35
$0718 $ L_SD_Write_Sector_36:
$0718 $5000 MOVF STACK_0,W, 0
$071A $0102 MOVLB 2
$071C $6F46 MOVWF SD_Write_Sector_byte_start_L0_1, 1
$071E $5001 MOVF STACK_1,W, 0
$0720 $6F47 MOVWF SD_Write_Sector_byte_start_L0_2, 1
$0722 $5002 MOVF STACK_2,W, 0
$0724 $6F48 MOVWF SD_Write_Sector_byte_start_L0_3, 1
$0726 $5003 MOVF STACK_3,W, 0
$0728 $6F49 MOVWF SD_Write_Sector_byte_start_L0_4, 1
$072A $0E18 MOVLW 24
$072C $6F67 MOVWF SD_Send_Command_argh0, 1
$072E $5146 MOVF SD_Write_Sector_byte_start_L0_1,W, 1
$0730 $6F68 MOVWF SD_Send_Command_argh1_1, 1
$0732 $5147 MOVF SD_Write_Sector_byte_start_L0_2,W, 1
$0734 $6F69 MOVWF SD_Send_Command_argh1_2, 1
$0736 $5148 MOVF SD_Write_Sector_byte_start_L0_3,W, 1
$0738 $6F6A MOVWF SD_Send_Command_argh1_3, 1
$073A $5149 MOVF SD_Write_Sector_byte_start_L0_4,W, 1
$073C $6F6B MOVWF SD_Send_Command_argh1_4, 1
$073E $0EFF MOVLW 255
$0740 $6F6C MOVWF SD_Send_Command_argh2, 1
$0742 $EC1D F000 CALL _SD_Send_Command
$0746 $6A00 CLRF STACK_0, 0
$0748 $5000 MOVF STACK_0,W, 0
$074A $0102 MOVLB 2
$074C $5D63 SUBWF _SD_Send_Command_local_result,W, 1
$074E $E003 BZ L_SD_Write_Sector_37
$0750 $0E01 MOVLW 1
$0752 $6F43 MOVWF _SD_Write_Sector_local_result, 1
$0754 $0012 RETURN
$0756 $ L_SD_Write_Sector_37:
$0756 $0EFF MOVLW 255
$0758 $0102 MOVLB 2
$075A $6F6E MOVWF SD_SPI_argh0, 1
$075C $EC14 F000 CALL _SD_SPI
$0760 $0EFF MOVLW 255
$0762 $0102 MOVLB 2
$0764 $6F6E MOVWF SD_SPI_argh0, 1
$0766 $EC14 F000 CALL _SD_SPI
$076A $0EFE MOVLW 254
$076C $0102 MOVLB 2
$076E $6F6E MOVWF SD_SPI_argh0, 1
$0770 $EC14 F000 CALL _SD_SPI
$0774 $0E4E MOVLW SD_Write_Sector_argh1_1
$0776 $6E00 MOVWF STACK_0, 0
$0778 $0E02 MOVLW @SD_Write_Sector_argh1_1
$077A $6E01 MOVWF STACK_1, 0
$077C $6A00 CLRF STACK_0, 0
$077E $6A01 CLRF STACK_1, 0
$0780 $0102 MOVLB 2
$0782 $6B44 CLRF SD_Write_Sector_i_L0_1, 1
$0784 $6B45 CLRF SD_Write_Sector_i_L0_2, 1
$0786 $ L_SD_Write_Sector_38:
$0786 $0EFF MOVLW 255
$0788 $6E00 MOVWF STACK_0, 0
$078A $0E01 MOVLW 1
$078C $6E01 MOVWF STACK_1, 0
$078E $5001 MOVF STACK_1,W, 0
$0790 $6E02 MOVWF STACK_2, 0
$0792 $0102 MOVLB 2
$0794 $5145 MOVF SD_Write_Sector_i_L0_2,W, 1
$0796 $5E02 SUBWF STACK_2,F, 0
$0798 $E102 BNZ L_SD_Write_Sector_41
$079A $5144 MOVF SD_Write_Sector_i_L0_1,W, 1
$079C $5C00 SUBWF STACK_0,W, 0
$079E $ L_SD_Write_Sector_41:
$079E $E317 BNC L_SD_Write_Sector_39
$07A0 $0102 MOVLB 2
$07A2 $514E MOVF SD_Write_Sector_argh1_1,W, 1
$07A4 $6EE9 MOVWF FSR0L, 0
$07A6 $514F MOVF SD_Write_Sector_argh1_2,W, 1
$07A8 $6EEA MOVWF FSR0H, 0
$07AA $50EF MOVF INDF0,W, 0
$07AC $6F6E MOVWF SD_SPI_argh0, 1
$07AE $EC14 F000 CALL _SD_SPI
$07B2 $0E4E MOVLW SD_Write_Sector_argh1_1
$07B4 $6E00 MOVWF STACK_0, 0
$07B6 $0E02 MOVLW @SD_Write_Sector_argh1_1
$07B8 $6E01 MOVWF STACK_1, 0
$07BA $0E01 MOVLW 1
$07BC $0102 MOVLB 2
$07BE $274E ADDWF SD_Write_Sector_argh1_1,F, 1
$07C0 $6AE8 CLRF WREG, 0
$07C2 $234F ADDWFC SD_Write_Sector_argh1_2,F, 1
$07C4 $ L_SD_Write_Sector_40:
$07C4 $0102 MOVLB 2
$07C6 $2B44 INCF SD_Write_Sector_i_L0_1,F, 1
$07C8 $B4D8 BTFSC STATUS,Z, 0
$07CA $2B45 INCF SD_Write_Sector_i_L0_2,F, 1
$07CC $D7DC BRA L_SD_Write_Sector_38
$07CE $ L_SD_Write_Sector_39:
$07CE $0EFF MOVLW 255
$07D0 $0102 MOVLB 2
$07D2 $6F6E MOVWF SD_SPI_argh0, 1
$07D4 $EC14 F000 CALL _SD_SPI
$07D8 $0EFF MOVLW 255
$07DA $0102 MOVLB 2
$07DC $6F6E MOVWF SD_SPI_argh0, 1
$07DE $EC14 F000 CALL _SD_SPI
$07E2 $0EFF MOVLW 255
$07E4 $0102 MOVLB 2
$07E6 $6F6E MOVWF SD_SPI_argh0, 1
$07E8 $EC14 F000 CALL _SD_SPI
$07EC $0102 MOVLB 2
$07EE $516D MOVF _SD_SPI_local_result,W, 1
$07F0 $6F44 MOVWF SD_Write_Sector_i_L0_1, 1
$07F2 $6B45 CLRF SD_Write_Sector_i_L0_2, 1
$07F4 $0E1F MOVLW 31
$07F6 $1544 ANDWF SD_Write_Sector_i_L0_1,W, 1
$07F8 $6F44 MOVWF SD_Write_Sector_i_L0_1, 1
$07FA $5145 MOVF SD_Write_Sector_i_L0_2,W, 1
$07FC $6F45 MOVWF SD_Write_Sector_i_L0_2, 1
$07FE $0E00 MOVLW 0
$0800 $1745 ANDWF SD_Write_Sector_i_L0_2,F, 1
$0802 $0E05 MOVLW 5
$0804 $6E00 MOVWF STACK_0, 0
$0806 $5145 MOVF SD_Write_Sector_i_L0_2,W, 1
$0808 $6E01 MOVWF STACK_1, 0
$080A $6AE8 CLRF WREG, 0
$080C $5E01 SUBWF STACK_1,F, 0
$080E $E102 BNZ L_SD_Write_Sector_42
$0810 $5000 MOVF STACK_0,W, 0
$0812 $5D44 SUBWF SD_Write_Sector_i_L0_1,W, 1
$0814 $ L_SD_Write_Sector_42:
$0814 $E004 BZ L_SD_Write_Sector_43
$0816 $0E02 MOVLW 2
$0818 $0102 MOVLB 2
$081A $6F43 MOVWF _SD_Write_Sector_local_result, 1
$081C $0012 RETURN
$081E $ L_SD_Write_Sector_43:
$081E $ L_SD_Write_Sector_44:
$081E $0EFF MOVLW 255
$0820 $0102 MOVLB 2
$0822 $6F6E MOVWF SD_SPI_argh0, 1
$0824 $EC14 F000 CALL _SD_SPI
$0828 $0EFF MOVLW 255
$082A $0102 MOVLB 2
$082C $5D6D SUBWF _SD_SPI_local_result,W, 1
$082E $E002 BZ L_SD_Write_Sector_45
$0830 $EF0F F004 GOTO L_SD_Write_Sector_44
$0834 $ L_SD_Write_Sector_45:
$0834 $0102 MOVLB 2
$0836 $6B43 CLRF _SD_Write_Sector_local_result, 1
$0838 $0012 RETURN
$083A $ _main:
$083A $6A82 CLRF PORTC, 0
$083C $0E19 MOVLW 25
$083E $6EAF MOVWF SPBRG, 0
$0840 $84AC BSF TXSTA, BRGH, 0
$0842 $EC5D F001 CALL _Usart_Init
$0846 $0ED3 MOVLW 211
$0848 $6E94 MOVWF TRISC, 0
$084A $0E50 MOVLW 80
$084C $0102 MOVLB 2
$084E $6F53 MOVWF Usart_Write_argh0, 1
$0850 $EC50 F001 CALL _Usart_Write
$0854 $0E49 MOVLW 73
$0856 $0102 MOVLB 2
$0858 $6F53 MOVWF Usart_Write_argh0, 1
$085A $EC50 F001 CALL _Usart_Write
$085E $0E43 MOVLW 67
$0860 $0102 MOVLB 2
$0862 $6F53 MOVWF Usart_Write_argh0, 1
$0864 $EC50 F001 CALL _Usart_Write
$0868 $0E2D MOVLW 45
$086A $0102 MOVLB 2
$086C $6F53 MOVWF Usart_Write_argh0, 1
$086E $EC50 F001 CALL _Usart_Write
$0872 $0E53 MOVLW 83
$0874 $0102 MOVLB 2
$0876 $6F53 MOVWF Usart_Write_argh0, 1
$0878 $EC50 F001 CALL _Usart_Write
$087C $0E74 MOVLW 116
$087E $0102 MOVLB 2
$0880 $6F53 MOVWF Usart_Write_argh0, 1
$0882 $EC50 F001 CALL _Usart_Write
$0886 $0E61 MOVLW 97
$0888 $0102 MOVLB 2
$088A $6F53 MOVWF Usart_Write_argh0, 1
$088C $EC50 F001 CALL _Usart_Write
$0890 $0E72 MOVLW 114
$0892 $0102 MOVLB 2
$0894 $6F53 MOVWF Usart_Write_argh0, 1
$0896 $EC50 F001 CALL _Usart_Write
$089A $0E74 MOVLW 116
$089C $0102 MOVLB 2
$089E $6F53 MOVWF Usart_Write_argh0, 1
$08A0 $EC50 F001 CALL _Usart_Write
$08A4 $0E65 MOVLW 101
$08A6 $0102 MOVLB 2
$08A8 $6F53 MOVWF Usart_Write_argh0, 1
$08AA $EC50 F001 CALL _Usart_Write
$08AE $0E64 MOVLW 100
$08B0 $0102 MOVLB 2
$08B2 $6F53 MOVWF Usart_Write_argh0, 1
$08B4 $EC50 F001 CALL _Usart_Write
$08B8 $0E0D MOVLW 13
$08BA $0102 MOVLB 2
$08BC $6F53 MOVWF Usart_Write_argh0, 1
$08BE $EC50 F001 CALL _Usart_Write
$08C2 $0E0A MOVLW 10
$08C4 $0102 MOVLB 2
$08C6 $6F53 MOVWF Usart_Write_argh0, 1
$08C8 $EC50 F001 CALL _Usart_Write
$08CC $0E1D MOVLW _data_1
$08CE $6E00 MOVWF STACK_0, 0
$08D0 $0E00 MOVLW @_data_1
$08D2 $6E01 MOVWF STACK_1, 0
$08D4 $5000 MOVF STACK_0,W, 0
$08D6 $0102 MOVLB 2
$08D8 $6F45 MOVWF SD_Init_argh0_1, 1
$08DA $5001 MOVF STACK_1,W, 0
$08DC $6F46 MOVWF SD_Init_argh0_2, 1
$08DE $EC6E F001 CALL _SD_Init
$08E2 $0102 MOVLB 2
$08E4 $5143 MOVF _SD_Init_local_result,W, 1
$08E6 $6F41 MOVWF main_i_L0_1, 1
$08E8 $6B42 CLRF main_i_L0_2, 1
$08EA $0E01 MOVLW 1
$08EC $6E00 MOVWF STACK_0, 0
$08EE $5142 MOVF main_i_L0_2,W, 1
$08F0 $6E01 MOVWF STACK_1, 0
$08F2 $6AE8 CLRF WREG, 0
$08F4 $5E01 SUBWF STACK_1,F, 0
$08F6 $E102 BNZ L_main_4
$08F8 $5000 MOVF STACK_0,W, 0
$08FA $5D41 SUBWF main_i_L0_1,W, 1
$08FC $ L_main_4:
$08FC $E16E BNZ L_main_5
$08FE $0E53 MOVLW 83
$0900 $0102 MOVLB 2
$0902 $6F53 MOVWF Usart_Write_argh0, 1
$0904 $EC50 F001 CALL _Usart_Write
$0908 $0E44 MOVLW 68
$090A $0102 MOVLB 2
$090C $6F53 MOVWF Usart_Write_argh0, 1
$090E $EC50 F001 CALL _Usart_Write
$0912 $0E20 MOVLW 32
$0914 $0102 MOVLB 2
$0916 $6F53 MOVWF Usart_Write_argh0, 1
$0918 $EC50 F001 CALL _Usart_Write
$091C $0E49 MOVLW 73
$091E $0102 MOVLB 2
$0920 $6F53 MOVWF Usart_Write_argh0, 1
$0922 $EC50 F001 CALL _Usart_Write
$0926 $0E6E MOVLW 110
$0928 $0102 MOVLB 2
$092A $6F53 MOVWF Usart_Write_argh0, 1
$092C $EC50 F001 CALL _Usart_Write
$0930 $0E69 MOVLW 105
$0932 $0102 MOVLB 2
$0934 $6F53 MOVWF Usart_Write_argh0, 1
$0936 $EC50 F001 CALL _Usart_Write
$093A $0E74 MOVLW 116
$093C $0102 MOVLB 2
$093E $6F53 MOVWF Usart_Write_argh0, 1
$0940 $EC50 F001 CALL _Usart_Write
$0944 $0E2D MOVLW 45
$0946 $0102 MOVLB 2
$0948 $6F53 MOVWF Usart_Write_argh0, 1
$094A $EC50 F001 CALL _Usart_Write
$094E $0E4F MOVLW 79
$0950 $0102 MOVLB 2
$0952 $6F53 MOVWF Usart_Write_argh0, 1
$0954 $EC50 F001 CALL _Usart_Write
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -