📄 verify flash.asm
字号:
/* This program verifies whether the flash is programmed right with
the input file */
#include <def21369.h>
#include "flashprogrammer.h"
.global VERIFY_FLASH;
.extern Word_Read_In, External_Byte_Address;
.extern my_file,read_back,READ_FLASH_WORD,TEST_FAIL;
.section/pm seg_pmco;
VERIFY_FLASH:
r0=FLASH_START_ADDRESS-1;
dm(External_Byte_Address)=r0;
i2=my_file;
m0=1;l0=0;
i3=read_back;
m1=1;l1=0;
lcntr=@my_file; do VERIFY until lce;
r0=dm(External_Byte_Address);
r0=r0+1;
dm(External_Byte_Address)=r0;
//fetch two bytes from flash
call READ_FLASH_WORD;
r0=dm(Word_Read_In);
r1=fext R0 BY 0:8;
//increment address
r0=dm(External_Byte_Address);
r0=r0+1;
dm(External_Byte_Address)=r0;
call READ_FLASH_WORD;
r0=dm(Word_Read_In);
r2=fext r0 BY 0:8;
//two bytes from source
r4 = dm(i2,m0);
r8 = fext R4 by 0:8;
r12= fext R4 by 8:8;
//compare
r8=r8-r1;
if ne jump TEST_FAIL;
r12=r12-r2;
if ne jump TEST_FAIL;
r2= lshift r2 by 8; //move 8 bits over
r1=r1+r2; //combine 2 bytes to make 16-bit data
dm(i3,m1)=r1;
//don't branch in last 3 instr of loop:
nop;
nop;
VERIFY: nop;
VERIFY_FLASH.END: rts;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -