?? flash.asm
字號:
* write program to FLASH
.include "mmreg.asm"
.include "vectors.asm"
.ref boot
.bss count,1
.bss tmph,1
.bss tmpl,1
sdpad13 .set 5555h
sdpad2 .set 2aaah
length .set 7000 ;length of program
midad .set 2000h
.global write,loop
.text
start: STM #0114FH,CLKMD
STM #3500h,sp
ssbx xf
STM #63h,PRD
STM #3efh,TCR
STM #0,BSCR
STM #0a0H,PMST ;OVLY=1&MP/MC=0
STM #0,IMR
RSBX INTM ;Enable all interrupt
STM #06c0H,SWWSR
STM #0,SWCR
RSBX cpl
stm #280h,ar3
stm #4000h,ar2
stm #tmph,ar4
stm #tmpl,ar5
LD #count,DP
LD *ar3+,A
STL A,tmpl
SFTL A,-8
stl a,tmph
ld #170,DP
st #0aah,55h ;write data
rpt #300
nop
ld #341,DP
st #55h,02ah
rpt #300
nop
ld #170,DP
st #0a0h,55h
rpt #200
nop
nop
nop
ld #count,DP
mvdk tmph,0fffeh
rpt #3000
nop
ld #170,DP
st #0aah,55h ;write data
rpt #300
nop
ld #341,DP
st #55h,02ah
rpt #300
nop
ld #170,DP
st #0a0h,55h
rpt #200
nop
nop
nop
ld #count,DP
mvdk tmpl,0ffffh
rpt #3000
nop
W_file
stm #length-2,BRC
rptb endwr
rsbx xf
LD #count,DP
LD *ar3+,A
STL A,tmpl
SFTL A,-8
stl a,tmph
ld #170,DP
st #0aah,55h ;write data
rpt #300
nop
ld #341,DP
st #55h,02ah
rpt #300
nop
ld #170,DP
st #0a0h,55h
rpt #200
nop
nop
nop
ld #count,DP
mvdd *ar4,*ar2+
rpt #3000
nop
ld #170,DP
st #0aah,55h ;write data
rpt #300
nop
ld #341,DP
st #55h,02ah
rpt #300
nop
ld #170,DP
st #0a0h,55h
rpt #200
nop
nop
nop
mvdd *ar5,*ar2+
rpt #3000
nop
ssbx xf
nop
nop
nop
nop
endwr nop
loop nop
nop
b loop
write nop
nop
rete
.end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -