📄 flashw_asm.asm
字号:
//函数:_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
//返回:无
//****************************************************
.code
.public _F_write_flash_asm
.DEFINE P_Flash_Ctrl 0x7555
_F_write_flash_asm: .proc
push bp to [sp]
bp = sp+1
r1 = [bp+3] //flash base address
r2 = [bp+4] //data
r3 = [bp+5] //多个字节
r4 = C_FLASH_MATCH //AAAA
[P_Flash_Ctrl] = r4
L_FlashWriteLoop:
r4 = C_FLASH_SEQUENT_PGM //5544
[P_Flash_Ctrl] = r4
r4 = r2
r2=r2+1
[r1++] = r4
r3 -= 1
jnz L_FlashWriteLoop
// [P_Flash_Ctrl] = r3 //写结束
pop bp from [sp]
retf
.ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -