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

📄 sdcmd.lis

📁 mega128的串口发送文件.可以发送0X55上位机使用串口调试工具就可以接收了.
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0146 FE01              movw R30,R28
 0148 2080              ldd R2,z+0
 014A 3180              ldd R3,z+1
 014C 4280              ldd R4,z+2
 014E 5380              ldd R5,z+3
 0150 240E              add R2,R20
 0152 351E              adc R3,R21
 0154 461E              adc R4,R22
 0156 571E              adc R5,R23
 0158 FE01              movw R30,R28
 015A 2082              std z+0,R2
 015C 3182              std z+1,R3
 015E 4282              std z+2,R4
 0160 5382              std z+3,R5
 0162                   .dbline 56
 0162           ;     }
 0162           L13:
 0162                   .dbline 57
 0162           ;       while (((tmp & 0x80) != 0) && (i < SD_CMD_TIMEOUT));
 0162 A7FE              sbrs R10,7
 0164 0EC0              rjmp L15
 0166 44E6              ldi R20,100
 0168 50E0              ldi R21,0
 016A 60E0              ldi R22,0
 016C 70E0              ldi R23,0
 016E FE01              movw R30,R28
 0170 2080              ldd R2,z+0
 0172 3180              ldd R3,z+1
 0174 4280              ldd R4,z+2
 0176 5380              ldd R5,z+3
 0178 2416              cp R2,R20
 017A 3506              cpc R3,R21
 017C 4606              cpc R4,R22
 017E 5706              cpc R5,R23
 0180 DCF2              brlt L12
 0182           L15:
 0182                   .dbline 59
 0182           ;     
 0182           ;     if (i >= SD_CMD_TIMEOUT)
 0182 44E6              ldi R20,100
 0184 50E0              ldi R21,0
 0186 60E0              ldi R22,0
 0188 70E0              ldi R23,0
 018A FE01              movw R30,R28
 018C 2080              ldd R2,z+0
 018E 3180              ldd R3,z+1
 0190 4280              ldd R4,z+2
 0192 5380              ldd R5,z+3
 0194 2416              cp R2,R20
 0196 3506              cpc R3,R21
 0198 4606              cpc R4,R22
 019A 5706              cpc R5,R23
 019C 24F0              brlt L16
 019E                   .dbline 60
 019E           ;     {                                                                                          
 019E                   .dbline 61
 019E           ;         SPI_CS_Deassert();
 019E 0E940000          xcall _SPI_CS_Deassert
 01A2                   .dbline 62
 01A2           ;         return SD_ERR_CMD_TIMEOUT;                                     /* 返回命令超时 return response timeout of command */
 01A2 01E1              ldi R16,17
 01A4 45C0              xjmp L1
 01A6           L16:
 01A6                   .dbline 65
 01A6           ;     }
 01A6           ;     
 01A6           ;     for (i = rlen - 1; i >= 0; i--)
 01A6 41E0              ldi R20,1
 01A8 50E0              ldi R21,0
 01AA 60E0              ldi R22,0
 01AC 70E0              ldi R23,0
 01AE FE01              movw R30,R28
 01B0 2480              ldd R2,z+4
 01B2 3580              ldd R3,z+5
 01B4 4680              ldd R4,z+6
 01B6 5780              ldd R5,z+7
 01B8 241A              sub R2,R20
 01BA 350A              sbc R3,R21
 01BC 460A              sbc R4,R22
 01BE 570A              sbc R5,R23
 01C0 FE01              movw R30,R28
 01C2 2082              std z+0,R2
 01C4 3182              std z+1,R3
 01C6 4282              std z+2,R4
 01C8 5382              std z+3,R5
 01CA 20C0              xjmp L21
 01CC           L18:
 01CC                   .dbline 66
 01CC                   .dbline 67
 01CC FE01              movw R30,R28
 01CE AF93              push R26
 01D0 BF93              push R27
 01D2 A081              ldd R26,z+0
 01D4 B181              ldd R27,z+1
 01D6 FD01              movw R30,R26
 01D8 BF91              pop R27
 01DA AF91              pop R26
 01DC EC0D              add R30,R12
 01DE FD1D              adc R31,R13
 01E0 A082              std z+0,R10
 01E2                   .dbline 68
 01E2 0E940000          xcall _SPI_RecByte
 01E6 A02E              mov R10,R16
 01E8                   .dbline 69
 01E8           L19:
 01E8                   .dbline 65
 01E8 41E0              ldi R20,1
 01EA 50E0              ldi R21,0
 01EC 60E0              ldi R22,0
 01EE 70E0              ldi R23,0
 01F0 FE01              movw R30,R28
 01F2 2080              ldd R2,z+0
 01F4 3180              ldd R3,z+1
 01F6 4280              ldd R4,z+2
 01F8 5380              ldd R5,z+3
 01FA 241A              sub R2,R20
 01FC 350A              sbc R3,R21
 01FE 460A              sbc R4,R22
 0200 570A              sbc R5,R23
 0202 FE01              movw R30,R28
 0204 2082              std z+0,R2
 0206 3182              std z+1,R3
 0208 4282              std z+2,R4
 020A 5382              std z+3,R5
 020C           L21:
 020C                   .dbline 65
 020C 40E0              ldi R20,0
 020E 50E0              ldi R21,0
 0210 60E0              ldi R22,0
 0212 70E0              ldi R23,0
 0214 FE01              movw R30,R28
 0216 2080              ldd R2,z+0
 0218 3180              ldd R3,z+1
 021A 4280              ldd R4,z+2
 021C 5380              ldd R5,z+3
 021E 2416              cp R2,R20
 0220 3506              cpc R3,R21
 0222 4606              cpc R4,R22
 0224 5706              cpc R5,R23
 0226 0CF0              brlt X3
 0228 D1CF              xjmp L18
 022A           X3:
 022A                   .dbline 71
 022A           ;     {
 022A           ;         resp[i] = tmp;
 022A           ;         tmp = SPI_RecByte();                                           /* 循环的最后发送8clock  at the last recycle,clock out 8 clock */
 022A           ;     }
 022A           ;       
 022A           ;     SPI_CS_Deassert();
 022A 0E940000          xcall _SPI_CS_Deassert
 022E                   .dbline 72
 022E           ;     return SD_NO_ERR;                                                          /* 返回执行成功 return perform sucessfully */
 022E 0027              clr R16
 0230                   .dbline -2
 0230           L1:
 0230 2896              adiw R28,8
 0232 0E940000          xcall pop_gset5
 0236 2496              adiw R28,4
 0238                   .dbline 0 ; func end
 0238 0895              ret
 023A                   .dbsym l rlen 4 L
 023A                   .dbsym r tmp 10 c
 023A                   .dbsym l i 0 L
 023A                   .dbsym r resp 12 pc
 023A                   .dbsym l resptype 22 c
 023A                   .dbsym l param 20 pc
 023A                   .dbsym l cmd 18 c
 023A                   .dbend
 023A                   .dbfunc e SD_PackParam _SD_PackParam fV
 023A           ;          value -> y+2
 023A           ;      parameter -> R20,R21
                        .even
 023A           _SD_PackParam::
 023A 3A93              st -y,r19
 023C 2A93              st -y,r18
 023E 0E940000          xcall push_gset1
 0242 A801              movw R20,R16
 0244                   .dbline -1
 0244                   .dbline 83
 0244           ; }
 0244           ; 
 0244           ; /********************************************************************************************************************
 0244           ; ** 函数名称: void SD_PackParam()                                      Name:     void SD_PackParam()
 0244           ; ** 功能描述: 将32位的参数转为字节形式                         Function: change 32bit parameter to bytes form 
 0244           ; ** 输   入: INT8U *parameter: 字节参数缓冲区         Input:    INT8U *parameter: the buffer of bytes parameter
 0244           ;                        INT32U value    : 32位参数                                               INT32U value    : 32bit parameter
 0244           ; ** 输   出: 无                                                                               Output:   NULL
 0244           ; *********************************************************************************************************************/
 0244           ; void SD_PackParam(uint8 *parameter, uint32 value)
 0244           ; {
 0244                   .dbline 84
 0244           ;     parameter[3] = (uint8)(value >> 24);
 0244 88E1              ldi R24,24
 0246 90E0              ldi R25,0
 0248 FE01              movw R30,R28
 024A 2280              ldd R2,z+2
 024C 3380              ldd R3,z+3
 024E 4480              ldd R4,z+4
 0250 5580              ldd R5,z+5
 0252 8A93              st -y,R24
 0254 8101              movw R16,R2
 0256 9201              movw R18,R4
 0258 0E940000          xcall lsr32
 025C FA01              movw R30,R20
 025E 0383              std z+3,R16
 0260                   .dbline 85
 0260           ;     parameter[2] = (uint8)(value >> 16);
 0260 FE01              movw R30,R28
 0262 2280              ldd R2,z+2
 0264 3380              ldd R3,z+3
 0266 4480              ldd R4,z+4
 0268 5580              ldd R5,z+5
 026A 1201              movw R2,R4
 026C 4424              clr R4
 026E 5524              clr R5
 0270 FA01              movw R30,R20
 0272 2282              std z+2,R2
 0274                   .dbline 86
 0274           ;     parameter[1] = (uint8)(value >> 8);
 0274 88E0              ldi R24,8
 0276 90E0              ldi R25,0
 0278 FE01              movw R30,R28
 027A 2280              ldd R2,z+2
 027C 3380              ldd R3,z+3
 027E 4480              ldd R4,z+4
 0280 5580              ldd R5,z+5
 0282 8A93              st -y,R24
 0284 8101              movw R16,R2
 0286 9201              movw R18,R4
 0288 0E940000          xcall lsr32
 028C FA01              movw R30,R20
 028E 0183              std z+1,R16
 0290                   .dbline 87
 0290           ;     parameter[0] = (uint8)(value);
 0290 FE01              movw R30,R28
 0292 2280              ldd R2,z+2
 0294 3380              ldd R3,z+3
 0296 4480              ldd R4,z+4
 0298 5580              ldd R5,z+5
 029A FA01              movw R30,R20
 029C 2082              std z+0,R2
 029E                   .dbline -2
 029E           L22:
 029E 0E940000          xcall pop_gset1
 02A2 2296              adiw R28,2
 02A4                   .dbline 0 ; func end
 02A4 0895              ret
 02A6                   .dbsym l value 2 l
 02A6                   .dbsym r parameter 20 pc
 02A6                   .dbend
 02A6                   .dbfunc e SD_BlockCommand _SD_BlockCommand fc
 02A6           ;           resp -> y+8
 02A6           ;          param -> y+4
 02A6           ;            ret -> R20
 02A6           ;      parameter -> y+13
 02A6           ;       resptype -> R22
 02A6           ;            cmd -> R20
                        .even
 02A6           _SD_BlockCommand::

⌨️ 快捷键说明

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