K-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k г

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