?? sd_test.asm
字號:
; ASM code generated by mikroVirtualMachine for PIC - V. 3.0.0.0
; Date/Time: 2.6.2005 15:45:42
; Info: http://www.mikroelektronika.co.yu
; ADDRESS OPCODE ASM
; ----------------------------------------------
$0000 $EF1D F004 GOTO _main
$0008 $ _Spi_Read:
$0008 $0102 MOVLB 2
$000A $5170 MOVF Spi_Read_argh0,W, 1
$000C $6EC9 MOVWF SSPBUF, 0
$000E $ L_Spi_Read_4:
$000E $6A00 CLRF STACK_0, 0
$0010 $50C7 MOVF SSPSTAT,W, 0
$0012 $6E01 MOVWF STACK_1, 0
$0014 $0E01 MOVLW 1
$0016 $1601 ANDWF STACK_1,F, 0
$0018 $5000 MOVF STACK_0,W, 0
$001A $5C01 SUBWF STACK_1,W, 0
$001C $E102 BNZ L_Spi_Read_5
$001E $0000 nop
$0020 $D7F6 BRA L_Spi_Read_4
$0022 $ L_Spi_Read_5:
$0022 $50C9 MOVF SSPBUF,W, 0
$0024 $6F6F MOVWF _Spi_Read_local_result, 1
$0026 $0012 RETURN
$0028 $ _SD_SPI:
$0028 $0102 MOVLB 2
$002A $516E MOVF SD_SPI_argh0,W, 1
$002C $6F70 MOVWF Spi_Read_argh0, 1
$002E $EC04 F000 CALL _Spi_Read
$0032 $0102 MOVLB 2
$0034 $516F MOVF _Spi_Read_local_result,W, 1
$0036 $6F6D MOVWF _SD_SPI_local_result, 1
$0038 $0012 RETURN
$003A $ _SD_Send_Command:
$003A $8482 BSF PORTC,2, 0
$003C $0EFF MOVLW 255
$003E $0102 MOVLB 2
$0040 $6F6E MOVWF SD_SPI_argh0, 1
$0042 $EC14 F000 CALL _SD_SPI
$0046 $9482 BCF PORTC,2, 0
$0048 $0E40 MOVLW 64
$004A $0102 MOVLB 2
$004C $2567 ADDWF SD_Send_Command_argh0,W, 1
$004E $6F6E MOVWF SD_SPI_argh0, 1
$0050 $EC14 F000 CALL _SD_SPI
$0054 $0102 MOVLB 2
$0056 $5168 MOVF SD_Send_Command_argh1_1,W, 1
$0058 $6E00 MOVWF STACK_0, 0
$005A $5169 MOVF SD_Send_Command_argh1_2,W, 1
$005C $6E01 MOVWF STACK_1, 0
$005E $516A MOVF SD_Send_Command_argh1_3,W, 1
$0060 $6E02 MOVWF STACK_2, 0
$0062 $516B MOVF SD_Send_Command_argh1_4,W, 1
$0064 $6E03 MOVWF STACK_3, 0
$0066 $94D8 BCF STATUS,Z, 0
$0068 $0E18 MOVLW 24
$006A $ L_SD_Send_Command_0:
$006A $E007 BZ L_SD_Send_Command_1
$006C $3203 RRCF STACK_3,F, 0
$006E $3202 RRCF STACK_2,F, 0
$0070 $3201 RRCF STACK_1,F, 0
$0072 $3200 RRCF STACK_0,F, 0
$0074 $9E03 BCF STACK_3,7, 0
$0076 $0FFF ADDLW 255
$0078 $D7F8 BRA L_SD_Send_Command_0
$007A $ L_SD_Send_Command_1:
$007A $5000 MOVF STACK_0,W, 0
$007C $0102 MOVLB 2
$007E $6F6E MOVWF SD_SPI_argh0, 1
$0080 $EC14 F000 CALL _SD_SPI
$0084 $0102 MOVLB 2
$0086 $5168 MOVF SD_Send_Command_argh1_1,W, 1
$0088 $6E00 MOVWF STACK_0, 0
$008A $5169 MOVF SD_Send_Command_argh1_2,W, 1
$008C $6E01 MOVWF STACK_1, 0
$008E $516A MOVF SD_Send_Command_argh1_3,W, 1
$0090 $6E02 MOVWF STACK_2, 0
$0092 $516B MOVF SD_Send_Command_argh1_4,W, 1
$0094 $6E03 MOVWF STACK_3, 0
$0096 $94D8 BCF STATUS,Z, 0
$0098 $0E10 MOVLW 16
$009A $ L_SD_Send_Command_2:
$009A $E007 BZ L_SD_Send_Command_3
$009C $3203 RRCF STACK_3,F, 0
$009E $3202 RRCF STACK_2,F, 0
$00A0 $3201 RRCF STACK_1,F, 0
$00A2 $3200 RRCF STACK_0,F, 0
$00A4 $9E03 BCF STACK_3,7, 0
$00A6 $0FFF ADDLW 255
$00A8 $D7F8 BRA L_SD_Send_Command_2
$00AA $ L_SD_Send_Command_3:
$00AA $5000 MOVF STACK_0,W, 0
$00AC $0102 MOVLB 2
$00AE $6F6E MOVWF SD_SPI_argh0, 1
$00B0 $EC14 F000 CALL _SD_SPI
$00B4 $0102 MOVLB 2
$00B6 $5168 MOVF SD_Send_Command_argh1_1,W, 1
$00B8 $6E00 MOVWF STACK_0, 0
$00BA $5169 MOVF SD_Send_Command_argh1_2,W, 1
$00BC $6E01 MOVWF STACK_1, 0
$00BE $516A MOVF SD_Send_Command_argh1_3,W, 1
$00C0 $6E02 MOVWF STACK_2, 0
$00C2 $516B MOVF SD_Send_Command_argh1_4,W, 1
$00C4 $6E03 MOVWF STACK_3, 0
$00C6 $94D8 BCF STATUS,Z, 0
$00C8 $0E08 MOVLW 8
$00CA $ L_SD_Send_Command_4:
$00CA $E007 BZ L_SD_Send_Command_5
$00CC $3203 RRCF STACK_3,F, 0
$00CE $3202 RRCF STACK_2,F, 0
$00D0 $3201 RRCF STACK_1,F, 0
$00D2 $3200 RRCF STACK_0,F, 0
$00D4 $9E03 BCF STACK_3,7, 0
$00D6 $0FFF ADDLW 255
$00D8 $D7F8 BRA L_SD_Send_Command_4
$00DA $ L_SD_Send_Command_5:
$00DA $5000 MOVF STACK_0,W, 0
$00DC $0102 MOVLB 2
$00DE $6F6E MOVWF SD_SPI_argh0, 1
$00E0 $EC14 F000 CALL _SD_SPI
$00E4 $0102 MOVLB 2
$00E6 $5168 MOVF SD_Send_Command_argh1_1,W, 1
$00E8 $6F6E MOVWF SD_SPI_argh0, 1
$00EA $EC14 F000 CALL _SD_SPI
$00EE $0102 MOVLB 2
$00F0 $516C MOVF SD_Send_Command_argh2,W, 1
$00F2 $6F6E MOVWF SD_SPI_argh0, 1
$00F4 $EC14 F000 CALL _SD_SPI
$00F8 $0EFF MOVLW 255
$00FA $0102 MOVLB 2
$00FC $6F6E MOVWF SD_SPI_argh0, 1
$00FE $EC14 F000 CALL _SD_SPI
$0102 $0102 MOVLB 2
$0104 $516D MOVF _SD_SPI_local_result,W, 1
$0106 $6F64 MOVWF SD_Send_Command_Res_L0, 1
$0108 $6B65 CLRF SD_Send_Command_TimeOut_L0_1, 1
$010C $ L_SD_Send_Command_6:
$010C $6A00 CLRF STACK_0, 0
$010E $5000 MOVF STACK_0,W, 0
$0110 $0102 MOVLB 2
$0112 $5D64 SUBWF SD_Send_Command_Res_L0,W, 1
$0114 $0E01 MOVLW 1
$0116 $B4D8 BTFSC STATUS,Z, 0
$0118 $0E00 MOVLW 0
$011A $6E01 MOVWF STACK_1, 0
$011C $5001 MOVF STACK_1,W, 0
$011E $E01C BZ L_SD_Send_Command_9
$0120 $0E01 MOVLW 1
$0122 $6E02 MOVWF STACK_2, 0
$0124 $5002 MOVF STACK_2,W, 0
$0126 $5D64 SUBWF SD_Send_Command_Res_L0,W, 1
$0128 $0E01 MOVLW 1
$012A $B4D8 BTFSC STATUS,Z, 0
$012C $0E00 MOVLW 0
$012E $6E03 MOVWF STACK_3, 0
$0130 $5003 MOVF STACK_3,W, 0
$0132 $E012 BZ L_SD_Send_Command_9
$0134 $0E20 MOVLW 32
$0136 $6E04 MOVWF STACK_4, 0
$0138 $0E4E MOVLW 78
$013A $6E0C MOVWF STACK_5, 0
$013C $5166 MOVF SD_Send_Command_TimeOut_L0_2,W, 1
$013E $6E05 MOVWF STACK_6, 0
$0140 $500C MOVF STACK_5,W, 0
$0142 $5E05 SUBWF STACK_6,F, 0
$0144 $E102 BNZ L_SD_Send_Command_10
$0146 $5004 MOVF STACK_4,W, 0
$0148 $5D65 SUBWF SD_Send_Command_TimeOut_L0_1,W, 1
$014A $ L_SD_Send_Command_10:
$014A $0E01 MOVLW 1
$014C $B0D8 BTFSC STATUS,C, 0
$014E $0E00 MOVLW 0
$0150 $6E05 MOVWF STACK_6, 0
$0152 $5005 MOVF STACK_6,W, 0
$0154 $E001 BZ L_SD_Send_Command_9
$0156 $ L_SD_Send_Command_8:
$0156 $D001 BRA L_SD_Send_Command_11
$0158 $ L_SD_Send_Command_9:
$0158 $D00C BRA L_SD_Send_Command_7
$015A $ L_SD_Send_Command_11:
$015A $0EFF MOVLW 255
$015C $0102 MOVLB 2
$015E $6F6E MOVWF SD_SPI_argh0, 1
$0160 $EC14 F000 CALL _SD_SPI
$0164 $0102 MOVLB 2
$0166 $516D MOVF _SD_SPI_local_result,W, 1
$0168 $6F64 MOVWF SD_Send_Command_Res_L0, 1
$016A $2B65 INCF SD_Send_Command_TimeOut_L0_1,F, 1
$016C $B4D8 BTFSC STATUS,Z, 0
$016E $2B66 INCF SD_Send_Command_TimeOut_L0_2,F, 1
$0170 $D7CD BRA L_SD_Send_Command_6
$0172 $ L_SD_Send_Command_7:
$0172 $0102 MOVLB 2
$0174 $5164 MOVF SD_Send_Command_Res_L0,W, 1
$0176 $6F63 MOVWF _SD_Send_Command_local_result, 1
$0178 $0012 RETURN
$017A $ _Spi_Init_Advanced:
$017A $0ED7 MOVLW 215
$017C $6E94 MOVWF TRISC, 0
$017E $6AC6 CLRF SSPCON1, 0
$0180 $0102 MOVLB 2
$0182 $5153 MOVF Spi_Init_Advanced_argh0,W, 1
$0184 $10C6 IORWF SSPCON1,W, 0
$0186 $6EC6 MOVWF SSPCON1, 0
$0188 $5155 MOVF Spi_Init_Advanced_argh2,W, 1
$018A $10C6 IORWF SSPCON1,W, 0
$018C $6EC6 MOVWF SSPCON1, 0
$018E $5154 MOVF Spi_Init_Advanced_argh1,W, 1
$0190 $10C7 IORWF SSPSTAT,W, 0
$0192 $6EC7 MOVWF SSPSTAT, 0
$0194 $6A00 CLRF STACK_0, 0
$0196 $5155 MOVF Spi_Init_Advanced_argh2,W, 1
$0198 $5C00 SUBWF STACK_0,W, 0
$019A $E006 BZ L_Spi_Init_Advanced_0
$019C $6A00 CLRF STACK_0, 0
$019E $5000 MOVF STACK_0,W, 0
$01A0 $5D56 SUBWF Spi_Init_Advanced_argh3,W, 1
$01A2 $E101 BNZ L_Spi_Init_Advanced_1
$01A4 $8CC7 BSF SSPSTAT,6, 0
$01A6 $ L_Spi_Init_Advanced_1:
$01A6 $D006 BRA L_Spi_Init_Advanced_2
$01A8 $ L_Spi_Init_Advanced_0:
$01A8 $6A00 CLRF STACK_0, 0
$01AA $0102 MOVLB 2
$01AC $5156 MOVF Spi_Init_Advanced_argh3,W, 1
$01AE $5C00 SUBWF STACK_0,W, 0
$01B0 $E001 BZ L_Spi_Init_Advanced_3
$01B2 $8CC7 BSF SSPSTAT,6, 0
$01B4 $ L_Spi_Init_Advanced_3:
$01B4 $ L_Spi_Init_Advanced_2:
$01B4 $8AC6 BSF SSPCON1,5, 0
$01B6 $0012 RETURN
$01B8 $ _SD_Read_Sector_No_Offset:
$01B8 $0102 MOVLB 2
$01BA $515D MOVF SD_Read_Sector_No_Offset_argh0_1,W, 1
$01BC $6F58 MOVWF SD_Read_Sector_No_Offset_byte_start_L0_1, 1
$01BE $515E MOVF SD_Read_Sector_No_Offset_argh0_2,W, 1
$01C0 $6F59 MOVWF SD_Read_Sector_No_Offset_byte_start_L0_2, 1
$01C2 $515F MOVF SD_Read_Sector_No_Offset_argh0_3,W, 1
$01C4 $6F5A MOVWF SD_Read_Sector_No_Offset_byte_start_L0_3, 1
$01C6 $5160 MOVF SD_Read_Sector_No_Offset_argh0_4,W, 1
$01C8 $6F5B MOVWF SD_Read_Sector_No_Offset_byte_start_L0_4, 1
$01CA $94D8 BCF STATUS,Z, 0
$01CC $0E09 MOVLW 9
$01CE $ L_SD_Read_Sector_No_Offset_12:
$01CE $E008 BZ L_SD_Read_Sector_No_Offset_13
$01D0 $0102 MOVLB 2
$01D2 $3758 RLCF SD_Read_Sector_No_Offset_byte_start_L0_1,F, 1
$01D4 $3759 RLCF SD_Read_Sector_No_Offset_byte_start_L0_2,F, 1
$01D6 $375A RLCF SD_Read_Sector_No_Offset_byte_start_L0_3,F, 1
$01D8 $375B RLCF SD_Read_Sector_No_Offset_byte_start_L0_4,F, 1
$01DA $9158 BCF SD_Read_Sector_No_Offset_byte_start_L0_1,0, 1
$01DC $0FFF ADDLW 255
$01DE $D7F7 BRA L_SD_Read_Sector_No_Offset_12
$01E0 $ L_SD_Read_Sector_No_Offset_13:
$01E0 $0E11 MOVLW 17
$01E2 $0102 MOVLB 2
$01E4 $6F67 MOVWF SD_Send_Command_argh0, 1
$01E6 $5158 MOVF SD_Read_Sector_No_Offset_byte_start_L0_1,W, 1
$01E8 $6F68 MOVWF SD_Send_Command_argh1_1, 1
$01EA $5159 MOVF SD_Read_Sector_No_Offset_byte_start_L0_2,W, 1
$01EC $6F69 MOVWF SD_Send_Command_argh1_2, 1
$01EE $515A MOVF SD_Read_Sector_No_Offset_byte_start_L0_3,W, 1
$01F0 $6F6A MOVWF SD_Send_Command_argh1_3, 1
$01F2 $515B MOVF SD_Read_Sector_No_Offset_byte_start_L0_4,W, 1
$01F4 $6F6B MOVWF SD_Send_Command_argh1_4, 1
$01F6 $0EFF MOVLW 255
$01F8 $6F6C MOVWF SD_Send_Command_argh2, 1
$01FA $EC1D F000 CALL _SD_Send_Command
$01FE $0102 MOVLB 2
$0200 $5163 MOVF _SD_Send_Command_local_result,W, 1
$0202 $6F5C MOVWF SD_Read_Sector_No_Offset_response_L0, 1
$0204 $6A00 CLRF STACK_0, 0
$0206 $5000 MOVF STACK_0,W, 0
$0208 $5D5C SUBWF SD_Read_Sector_No_Offset_response_L0,W, 1
$020A $E003 BZ L_SD_Read_Sector_No_Offset_14
$020C $515C MOVF SD_Read_Sector_No_Offset_response_L0,W, 1
$020E $6F53 MOVWF _SD_Read_Sector_No_Offset_local_result, 1
$0210 $0012 RETURN
$0212 $ L_SD_Read_Sector_No_Offset_14:
$0212 $ L_SD_Read_Sector_No_Offset_15:
$0212 $0EFF MOVLW 255
$0214 $0102 MOVLB 2
$0216 $6F6E MOVWF SD_SPI_argh0, 1
$0218 $EC14 F000 CALL _SD_SPI
$021C $0EFE MOVLW 254
$021E $0102 MOVLB 2
$0220 $5D6D SUBWF _SD_SPI_local_result,W, 1
$0222 $E002 BZ L_SD_Read_Sector_No_Offset_16
$0224 $EF09 F001 GOTO L_SD_Read_Sector_No_Offset_15
$0228 $ L_SD_Read_Sector_No_Offset_16:
$0228 $0102 MOVLB 2
$022A $6B56 CLRF SD_Read_Sector_No_Offset_i_L0_1, 1
$022C $6B57 CLRF SD_Read_Sector_No_Offset_i_L0_2, 1
$022E $ L_SD_Read_Sector_No_Offset_17:
$022E $0E00 MOVLW 0
$0230 $6E00 MOVWF STACK_0, 0
$0232 $0E02 MOVLW 2
$0234 $6E01 MOVWF STACK_1, 0
$0236 $0102 MOVLB 2
$0238 $5157 MOVF SD_Read_Sector_No_Offset_i_L0_2,W, 1
$023A $6E02 MOVWF STACK_2, 0
$023C $5001 MOVF STACK_1,W, 0
$023E $5E02 SUBWF STACK_2,F, 0
$0240 $E102 BNZ L_SD_Read_Sector_No_Offset_20
$0242 $5000 MOVF STACK_0,W, 0
$0244 $5D56 SUBWF SD_Read_Sector_No_Offset_i_L0_1,W, 1
$0246 $ L_SD_Read_Sector_No_Offset_20:
$0246 $E21F BC L_SD_Read_Sector_No_Offset_18
$0248 $0102 MOVLB 2
$024A $5156 MOVF SD_Read_Sector_No_Offset_i_L0_1,W, 1
$024C $2561 ADDWF SD_Read_Sector_No_Offset_argh1_1,W, 1
$024E $6E00 MOVWF STACK_0, 0
$0250 $5162 MOVF SD_Read_Sector_No_Offset_argh1_2,W, 1
$0252 $2157 ADDWFC SD_Read_Sector_No_Offset_i_L0_2,W, 1
$0254 $6E01 MOVWF STACK_1, 0
$0256 $0EFF MOVLW 255
$0258 $6F6E MOVWF SD_SPI_argh0, 1
$025A $5000 MOVF STACK_0,W, 0
$025C $6F54 MOVWF Mirror_SD_Read_Sector_No_Offset_STACK_0, 1
$025E $5001 MOVF STACK_1,W, 0
$0260 $6F55 MOVWF Mirror_SD_Read_Sector_No_Offset_STACK_1, 1
$0262 $EC14 F000 CALL _SD_SPI
$0266 $0102 MOVLB 2
$0268 $5154 MOVF Mirror_SD_Read_Sector_No_Offset_STACK_0,W, 1
$026A $6E00 MOVWF STACK_0, 0
$026C $5155 MOVF Mirror_SD_Read_Sector_No_Offset_STACK_1,W, 1
$026E $6E01 MOVWF STACK_1, 0
$0270 $5000 MOVF STACK_0,W, 0
$0272 $6EE9 MOVWF FSR0L, 0
$0274 $5001 MOVF STACK_1,W, 0
$0276 $6EEA MOVWF FSR0H, 0
$0278 $516D MOVF _SD_SPI_local_result,W, 1
$027A $6EEF MOVWF INDF0, 0
$027C $ L_SD_Read_Sector_No_Offset_19:
$027C $0102 MOVLB 2
$027E $2B56 INCF SD_Read_Sector_No_Offset_i_L0_1,F, 1
$0280 $B4D8 BTFSC STATUS,Z, 0
$0282 $2B57 INCF SD_Read_Sector_No_Offset_i_L0_2,F, 1
$0284 $D7D4 BRA L_SD_Read_Sector_No_Offset_17
$0286 $ L_SD_Read_Sector_No_Offset_18:
$0286 $0EFF MOVLW 255
$0288 $0102 MOVLB 2
$028A $6F6E MOVWF SD_SPI_argh0, 1
$028C $EC14 F000 CALL _SD_SPI
$0290 $0EFF MOVLW 255
$0292 $0102 MOVLB 2
$0294 $6F6E MOVWF SD_SPI_argh0, 1
$0296 $EC14 F000 CALL _SD_SPI
$029A $0102 MOVLB 2
$029C $6B53 CLRF _SD_Read_Sector_No_Offset_local_result, 1
$029E $0012 RETURN
$02A0 $ _Usart_Write:
$02A0 $ L_Usart_Write_3:
$02A0 $6A00 CLRF STACK_0, 0
$02A2 $6A01 CLRF STACK_1, 0
$02A4 $B2AC BTFSC TXSTA,1, 0
$02A6 $2A01 INCF STACK_1,F, 0
$02A8 $5000 MOVF STACK_0,W, 0
$02AA $5C01 SUBWF STACK_1,W, 0
$02AC $E102 BNZ L_Usart_Write_4
$02AE $0000 nop
$02B0 $D7F7 BRA L_Usart_Write_3
$02B2 $ L_Usart_Write_4:
$02B2 $0102 MOVLB 2
$02B4 $5153 MOVF Usart_Write_argh0,W, 1
$02B6 $6EAD MOVWF TXREG, 0
$02B8 $0012 RETURN
$02BA $ _Usart_Init:
$02BA $8AAC BSF TXSTA,5, 0
$02BC $0E90 MOVLW 144
$02BE $6EAB MOVWF RCSTA, 0
$02C0 $8E94 BSF TRISC,7, 0
$02C2 $9C94 BCF TRISC,6, 0
$02C4 $ L_Usart_Init_0:
$02C4 $6A00 CLRF STACK_0, 0
$02C6 $6A01 CLRF STACK_1, 0
$02C8 $BA9E BTFSC PIR1,5, 0
$02CA $2A01 INCF STACK_1,F, 0
$02CC $5001 MOVF STACK_1,W, 0
$02CE $5C00 SUBWF STACK_0,W, 0
$02D0 $E004 BZ L_Usart_Init_1
$02D2 $50AE MOVF RCREG,W, 0
$02D4 $0102 MOVLB 2
$02D6 $6F43 MOVWF Usart_Init_tmp_L0, 1
$02D8 $D7F5 BRA L_Usart_Init_0
$02DA $ L_Usart_Init_1:
$02DA $0012 RETURN
$02DC $ _SD_Init:
$02DC $0102 MOVLB 2
$02DE $6B53 CLRF Spi_Init_Advanced_argh0, 1
$02E0 $6B54 CLRF Spi_Init_Advanced_argh1, 1
$02E2 $0E10 MOVLW 16
$02E4 $6F55 MOVWF Spi_Init_Advanced_argh2, 1
$02E6 $0E01 MOVLW 1
$02E8 $6F56 MOVWF Spi_Init_Advanced_argh3, 1
$02EA $ECBD F000 CALL _Spi_Init_Advanced
$02EE $8482 BSF PORTC,2, 0
$02F0 $0102 MOVLB 2
$02F2 $6B44 CLRF SD_Init_i_L0, 1
$02F4 $ L_SD_Init_21:
$02F4 $0E0A MOVLW 10
$02F6 $0102 MOVLB 2
$02F8 $5D44 SUBWF SD_Init_i_L0,W, 1
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -