Erase ; Инициализация FCTL и стирание FLASH памяти для новой записи
dint xor.w #FXKEY+LOCK |
Запрещение прерываний &FCTL3 ; Разблокирование
FLASH памяти для записи Test_Busyl bit.w #BUSY,&FCTL3 ; Проверка флага BUSY
jnz Test_Busyl mov.w #1400h,R13 |
3 ациклив ание
Адрес начала массива памяти
пересылается в регистр R13
NextSeg mov.w #(FWKEY+ERASE),&FCTL1 ; Установки
Clr.b 0(R13) |
Выполнение макет записи для активизации стирания сегмента
jnz Test_Busy2 add.w #200h,R13 cmp.w #0fe00h,R13 jnz NextSeg |
Test_Busy2 bit.w #BUSY,&FCTL3 ; Проверка флага BUSY
3 ациклив ание Установка указателя на следующий сегмент ; Все сегменты очищены? Если нет, то переходим
к очистке следующего
ret |
сегмента
Выход из подпрограммы
Delay
Подпрограмма формирования задержки
DL1
push.w #0FFFFh dec.w 0(SP)
Задержка до TOS Уменьшение TOS