📄 flashw_asm.lst
字号:
Sunplus u'nSP Assembler - Ver. 1.10.0
Listing File Has Been Relocated
//函数:_F_write_flash_asm()
//语法:
.DEFINE C_FLASH_MATCH 0xAAAA
.DEFINE C_FLASH_PAGE_ERASE 0x5511 //擦除一页
.DEFINE C_FLASH_SEQUENT_PGM 0x5544 //写多个字
//****************************************************
//void F_write_flash_asm(int address,int data,int N)
//描述:写闪存
//参数:address, data, N
//返回:无
//****************************************************
00008054 .code
.public _F_write_flash_asm
.DEFINE P_Flash_Ctrl 0x7555
_F_write_flash_asm: .proc
00008054 88 DA push bp to [sp]
00008055 08 0B 01 00 bp = sp+1
00008057 03 92 r1 = [bp+3] //flash base address
00008058 04 94 r2 = [bp+4] //data
00008059 05 96 r3 = [bp+5] //多个字节
0000805A 0C 99 AA AA r4 = C_FLASH_MATCH //AAAA
0000805C 1C D9 55 75 [P_Flash_Ctrl] = r4
L_FlashWriteLoop:
0000805E 0C 99 44 55 r4 = C_FLASH_SEQUENT_PGM //5544
00008060 1C D9 55 75 [P_Flash_Ctrl] = r4
00008062 02 99 r4 = r2
00008063 41 04 r2=r2+1
00008064 D1 D8 [r1++] = r4
00008065 41 26 r3 -= 1
00008066 49 4E jnz L_FlashWriteLoop
// [P_Flash_Ctrl] = r3 //写结束
00008067 88 98 pop bp from [sp]
00008068 90 9A retf
.ENDP
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -