Hi, First of all, one thing here is Cortex M3 has been designed to be programmed almost entirely in C. There is no asm wrappers or startup code required. So my best advice would be to try using C, coz thats what it has been designed for ! However, you could easily make it run you assembly language program, provided you give it the proper startup values. Unlike most other processors, M3 doesn't start executing from location 0. It expects the initial value of Stack Pointer at location 0x00000000, and the starting address of your program at location 0x00000004. If you place these properly, there shouldnt be any trouble running you r code..