Hi! I am using C51 V6.01, A51 V6.01 and BL51 V4.01 from command line. I have to execute an ISR on INT0 in 10us on 8051. So i am using Assembly for this ISR. However rest of the code is in C. As a first step i am trying to interface C & assembly by generating a 10Khz using Timer0 interrupt Here are the C and assembly progams i am trying to interface. c_func.c #include "Reg51.h" #define EN_ALL_INTS (IE|=0x80) #define EN_TIMER0_INT (IE|=0x02) #define ON_TIMER0 (TCON|=0x10) #define TH0_VAL 0xCE extern void T0_isr(void); void main(void) { TMOD=0x02;//8 bit autoreload for timer 0 TH0=TH0_VAL; EN_ALL_INTS; EN_TIMER0_INT; ON_TIMER0; while(1); } T0_isr.a51 NAME T0_isr PUBLIC T0_isr ORG 000BH T0_isr: CPL P1.0; RETI END 1. First i generate c_func.a51 from C51 2. I assemble both c_func.a51 and T0_isr.a51 using A51 3. I link both obj's from command line: bl51 c_func.obj,T0_isr.obj TO time.obj ramsize(128) CODE(30H) The problem is that the Hex file generated from time.obj using OH51 does not program the FLASH correctly. There is no code on 30H location. However there is code binary on 000BH. Hence the controller is not working. What should i do to correct this problem?