
flash_Erase: MOV R7,#00 ; RAM POINTER 
             MOV R3,#64 ; 64 BYTES TO BE ERASED 
             MOV FMCON,#00H ; "LOAD" COMMAND 
             MOV FMADRH,#04H; ADDRESS HIGH 
             MOV FMADRL,#40H; ADDRESS LOW 
              MOV A,R7 
             MOV R0,A 
LOAD_PAGE:   MOV FMDATA,@R0 
             INC R0 
             DJNZ R3,LOAD_PAGE 
             MOV FMCON,#68H; "ERASE" COMMAND FOR 89LPC952 
             MOV R7,FMCON ; TO READ STATUS MOV A,R7 
             ANL A,#0FH; CHECK THE STATUS OF FMCON 
             JNZ BAD ; REGISTER AND IF ERASED IT IS ZERO 
             CLR C 
             RET 
BAD:         SETB C ; SET THE CARRY REGISTER IF NOT 
             RET ; ANY ERROR FOUND IN PROGRAMMING 
