📄 extflash.lst
字号:
1829 .L225:
1831 .LM279:
1832 0602 CC0F lsl r28
1834 .LM280:
1835 0604 0150 subi r16,lo8(-(-1))
1836 0606 1040 sbci r17,hi8(-(-1))
1837 0608 17FF sbrs r17,7
1838 060a F2CF rjmp .L226
1839 .LBE100:
1841 .LM281:
1842 060c 0E94 0000 call OS_CLR_FLASH_CLK_PIN
1844 .LM282:
1845 0610 0E94 0000 call OS_SET_FLASH_CLK_PIN
1847 .LM283:
1848 0614 829B sbis 48-0x20,2
1849 0616 02C0 rjmp .L227
1851 .LM284:
1852 0618 C160 ori r28,lo8(1)
1853 061a 01C0 rjmp .L228
1854 .L227:
1856 .LM285:
1857 061c CE7F andi r28,lo8(-2)
1858 .L228:
1860 .LM286:
1861 061e 8B2D mov r24,r11
1862 0620 0E94 0000 call os_atomic_end
1863 .LBE99:
1864 .LBE98:
1865 .LBE97:
1867 .LM287:
1868 0624 F601 movw r30,r12
1869 0626 C193 st Z+,r28
1870 0628 6F01 movw r12,r30
1872 .LM288:
1873 062a 0894 sec
1874 062c E108 sbc r14,__zero_reg__
1875 062e F108 sbc r15,__zero_reg__
1876 0630 E114 cp r14,__zero_reg__
1877 0632 F104 cpc r15,__zero_reg__
1878 0634 B9F6 brne .L230
1879 .L242:
1880 .LBE96:
207:extflash.c **** t Status_Register_Get(void)
208:extflash.c **** {
209:extflash.c **** extflash_head temphead;
210:extflash.c **** uint8_t state=0;
211:extflash.c **** temphead._extflash_head.opcode=Status_Register_Read;
1882 .LM289:
1883 0636 0E94 0000 call OS_SET_FLASH_SELECT_PIN
1884 /* epilogue: frame size=0 */
1885 063a DF91 pop r29
1886 063c CF91 pop r28
1887 063e 1F91 pop r17
1888 0640 0F91 pop r16
1889 0642 FF90 pop r15
1890 0644 EF90 pop r14
1891 0646 DF90 pop r13
1892 0648 CF90 pop r12
1893 064a BF90 pop r11
1894 064c AF90 pop r10
1895 064e 9F90 pop r9
1896 0650 8F90 pop r8
1897 0652 0895 ret
1898 /* epilogue end (size=13) */
1899 /* function Buffer_Read size 207 (182) */
1964 .global Status_Register_Get
1966 Status_Register_Get:
212:extflash.c **** head._extflash_head.page=0x0000;
213:extflash.c **** temphead._extflash_head.block_byte=0x0000;
214:extflash.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
215:extflash.c **** {
1968 .LM290:
1969 /* prologue: frame size=0 */
1970 0654 DF92 push r13
1971 0656 EF92 push r14
1972 0658 FF92 push r15
1973 065a 0F93 push r16
1974 065c 1F93 push r17
1975 065e CF93 push r28
1976 0660 DF93 push r29
1977 /* prologue end (size=7) */
216:extflash.c **** CLR_FLASH_SELECT_PIN();//选通flash
217:extflash.c ****
218:extflash.c **** sendonebyte(temphead.v[3]);
1979 .LM291:
1980 0662 17E5 ldi r17,lo8(87)
1981 .LBB101:
219:extflash.c **** 0x0000;
220:extflash.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
221:extflash.c **** {
1983 .LM292:
1984 0664 0E94 0000 call os_atomic_start
1985 0668 D82E mov r13,r24
222:extflash.c **** temphead._extflash_head.page=0x0000;
223:extflash.c **** temphead._extflash_head.block_byte=0x0000;
1987 .LM293:
1988 066a 0E94 0000 call OS_CLR_FLASH_SELECT_PIN
1989 .LBB102:
1991 .LM294:
1992 066e E12E mov r14,r17
1993 .LBB103:
1994 .LBB104:
1996 .LM295:
1997 0670 0E94 0000 call os_atomic_start
1998 0674 182F mov r17,r24
1999 0676 C7E0 ldi r28,lo8(7)
2000 0678 D0E0 ldi r29,hi8(7)
2001 .L251:
2002 .LBB105:
2004 .LM296:
2005 067a 0E94 0000 call OS_CLR_FLASH_CLK_PIN
2007 .LM297:
2008 067e E7FE sbrs r14,7
2009 0680 02C0 rjmp .L249
2011 .LM298:
2012 0682 939A sbi 50-0x20,3
2013 0684 01C0 rjmp .L250
2014 .L249:
2016 .LM299:
2017 0686 9398 cbi 50-0x20,3
2018 .L250:
2020 .LM300:
2021 0688 0E94 0000 call OS_SET_FLASH_CLK_PIN
2023 .LM301:
2024 068c EE0C lsl r14
2026 .LM302:
2027 068e 2197 sbiw r28,1
2028 0690 D7FF sbrs r29,7
2029 0692 F3CF rjmp .L251
2030 .LBE105:
2032 .LM303:
2033 0694 812F mov r24,r17
2034 0696 0E94 0000 call os_atomic_end
2035 .LBE104:
2036 .LBE103:
2037 .LBE102:
2038 .LBB106:
2039 .LBB107:
2041 .LM304:
2042 069a 10E0 ldi r17,lo8(0)
2043 .LBB108:
2045 .LM305:
2046 069c 0E94 0000 call os_atomic_start
2047 06a0 E82E mov r14,r24
2048 06a2 C6E0 ldi r28,lo8(6)
2049 06a4 D0E0 ldi r29,hi8(6)
2050 .L258:
2051 .LBB109:
2053 .LM306:
2054 06a6 0E94 0000 call OS_CLR_FLASH_CLK_PIN
2056 .LM307:
2057 06aa 0E94 0000 call OS_SET_FLASH_CLK_PIN
2059 .LM308:
2060 06ae 829B sbis 48-0x20,2
2061 06b0 02C0 rjmp .L256
2063 .LM309:
2064 06b2 1160 ori r17,lo8(1)
2065 06b4 01C0 rjmp .L257
2066 .L256:
2068 .LM310:
2069 06b6 1E7F andi r17,lo8(-2)
2070 .L257:
2072 .LM311:
2073 06b8 110F lsl r17
2075 .LM312:
2076 06ba 2197 sbiw r28,1
2077 06bc D7FF sbrs r29,7
2078 06be F3CF rjmp .L258
2079 .LBE109:
2081 .LM313:
2082 06c0 0E94 0000 call OS_CLR_FLASH_CLK_PIN
2084 .LM314:
2085 06c4 0E94 0000 call OS_SET_FLASH_CLK_PIN
2087 .LM315:
2088 06c8 829B sbis 48-0x20,2
2089 06ca 02C0 rjmp .L259
2091 .LM316:
2092 06cc 1160 ori r17,lo8(1)
2093 06ce 01C0 rjmp .L260
2094 .L259:
2096 .LM317:
2097 06d0 1E7F andi r17,lo8(-2)
2098 .L260:
2100 .LM318:
2101 06d2 8E2D mov r24,r14
2102 06d4 0E94 0000 call os_atomic_end
2103 .LBE108:
2104 .LBE107:
2105 .LBE106:
224:extflash.c **** os_atomic_t _nesc_atomic = os_atomic_start();
225:extflash.c **** {
226:extflash.c **** OS_CLR_FLASH_SELECT_PIN();//选通flash
227:extflash.c ****
228:extflash.c **** sendonebyte(temphead.v[3]);
229:extflash.c **** state=readonebyte();
2107 .LM319:
2108 06d8 0E94 0000 call OS_SET_FLASH_SELECT_PIN
230:extflash.c **** nesc_atomic = os_atomic_start();
231:extflash.c **** {
232:extflash.c **** OS_CLR_FLASH_SELECT_PIN();//选通flash
2110 .LM320:
2111 06dc 8D2D mov r24,r13
2112 06de 0E94 0000 call os_atomic_end
2113 .LBE101:
233:extflash.c **** emphead._extflash_head.block_byte=0x0000;
234:extflash.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
2115 .LM321:
2116 06e2 812F mov r24,r17
2117 06e4 9927 clr r25
2118 /* epilogue: frame size=0 */
2119 06e6 DF91 pop r29
2120 06e8 CF91 pop r28
2121 06ea 1F91 pop r17
2122 06ec 0F91 pop r16
2123 06ee FF90 pop r15
2124 06f0 EF90 pop r14
2125 06f2 DF90 pop r13
2126 06f4 0895 ret
2127 /* epilogue end (size=8) */
2128 /* function Status_Register_Get size 81 (66) */
2161 .global Buffer_Write
2163 Buffer_Write:
235:extflash.c **** {
236:extflash.c **** OS_CLR_FLASH_SELECT_PIN();//选通flash
237:extflash.c ****
2165 .LM322:
2166 /* prologue: frame size=0 */
2167 06f6 8F92 push r8
2168 06f8 9F92 push r9
2169 06fa AF92 push r10
2170 06fc BF92 push r11
2171 06fe CF92 push r12
2172 0700 DF92 push r13
2173 0702 EF92 push r14
2174 0704 FF92 push r15
2175 0706 0F93 push r16
2176 0708 1F93 push r17
2177 070a CF93 push r28
2178 070c DF93 push r29
2179 /* prologue end (size=12) */
2180 070e EE24 clr r14
2181 0710 FF24 clr r15
2182 0712 8701 movw r16,r14
2183 0714 5A01 movw r10,r20
2184 0716 4901 movw r8,r18
238:extflash.c **** head._extflash_head.block_byte=0x0000;
239:extflash.c **** { os_atomic_t _nesc_atomic = os_atomic_start();
240:extflash.c **** {
241:extflash.c **** OS_CLR_FLASH_SELECT_PIN();//选通flash
2186 .LM323:
2187 0718 182F mov r17,r24
242:extflash.c **** sendonebyte(temphead.v[3]);
2189 .LM324:
2190 071a 81E0 ldi r24,lo8(1)
2191 071c F822 and r15,r24
2192 071e 0E7F andi r16,lo8(-2)
2193 0720 017F andi r16,lo8(-15)
243:extflash.c **** 0x0000;
2195 .LM325:
2196 0722 CB01 movw r24,r22
2197 0724 AA27 clr r26
2198 0726 BB27 clr r27
2199 0728 9170 andi r25,hi8(511)
2200 072a A070 andi r26,hlo8(511)
2201 072c B070 andi r27,hhi8(511)
2202 072e E82E mov r14,r24
2203 0730 9170 andi r25,lo8(1)
2204 0732 8F2D mov r24,r15
2205 0734 8E7F andi r24,lo8(-2)
2206 0736 F82E mov r15,r24
2207 0738 F92A or r15,r25
244:extflash.c **** ate=0;
245:extflash.c **** temphead._extflash_head.opcode=Status_Register_Read;
2209 .LM326:
2210 073a 0E94 0000 call OS_CLR_FLASH_SELECT_PIN
2211 .LBB110:
2213 .LM327:
2214 073e D12E mov r13,r17
2215 .LBB111:
2216 .LBB112:
2218 .LM328:
2219 0740 0E94 0000 call os_atomic_start
2220 0744 C82E mov r12,r24
2221 0746 C7E0 ldi r28,lo8(7)
2222 0748 D0E0 ldi r29,hi8(7)
2223 .L272:
2224 .LBB113:
2226 .LM329:
2227 074a 0E94 0000 call OS_CLR_FLASH_CLK_PIN
2229 .LM330:
2230 074e D7FE sbrs r13,7
2231 0750 02C0 rjmp .L270
2233 .LM331:
2234 0752 939A sbi 50-0x20,3
2235 0754 01C0 rjmp .L271
2236 .L270:
2238 .LM332:
2239 0756 9398 cbi 50-0x20,3
2240 .L271:
2242 .LM333:
2243 0758 0E94 0000 call OS_SET_FLASH_CLK_PIN
2245 .LM334:
2246 075c DD0C lsl r13
2248 .LM335:
2249 075e 2197 sbiw r28,1
2250 0760 D7FF sbrs r29,7
2251 0762 F3CF rjmp .L272
2252 .LBE113:
2254 .LM336:
2255 0764 8C2D mov r24,r12
2256 0766 0E94 0000 call os_atomic_end
2257 .LBE112:
2258 .LBE111:
2259 .LBE110:
2260 .LBB114:
2262 .LM337:
2263 076a D02E mov r13,r16
2264 .LBB115:
2265 .LBB116:
2267 .LM338:
2268 076c 0E94 0000 call os_atomic_start
2269 0770 C82E mov r12,r24
2270 0772 C7E0 ldi r28,lo8(7)
2271 0774 D0E0 ldi r29,hi8(7)
2272 .L279:
2273 .LBB117:
2275 .LM339:
2276 0776 0E94 0000 call OS_CLR_FLASH_CLK_PIN
2278 .LM340:
2279 077a D7FE sbrs r13,7
2280 077c 02C0 rjmp .L277
2282 .LM341:
2283 077e 939A sbi 50-0x20,3
2284 0780 01C0 rjmp .L278
2285 .L277:
2287 .LM342:
2288 0782 9398 cbi 50-0x20,3
2289 .L278:
2291 .LM343:
2292 0784 0E94 0000 call OS_SET_FLASH_CLK_PIN
2294 .LM344:
2295 0788 DD0C lsl r13
2297 .LM345:
2298 078a 2197 sbiw r28,1
2299 078c D7FF sbrs r29,7
2300 078e F3CF rjmp .L279
2301 .LBE117:
2303 .LM346:
2304 0790 8C2D mov r24,r12
2305 0792 0E94 0000 call os_atomic_end
2306 .LBE116:
2307 .LBE115:
2308 .LBE114:
2309 .LBB118:
2311 .LM347:
2312 0796 DF2C mov r13,r15
2313 .LBB119:
2314 .LBB120:
2316 .LM348:
2317 0798 0E94 0000 call os_atomic_start
2318 079c C82E mov r12,r24
2319 079e C7E0 ldi r28,lo8(7)
2320 07a0 D0E0 ldi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -