Good evening my friends, I was reading the MPASM help file and looking at the assembler directives;= =20 specifically the RES-Directive. There they have the following code example:= =20 [CODE] #include p18f452.inc ;Include standard header file ;for the selected device. UDATA ;This directive allows the ;following data to be placed only ;in the data area. perimeter res 2 ;Two locations of memory are ;reserved for the label ;'perimeter'. Addresses of the ;memory locations will be ;allocated by MPLINK. length res 1 ;One location of memory is ;reserved for the label 'length'. ;Address of the memory location ;will be allocated by MPLINK. width res 1 ;One location of memory is ;reserved for the label 'width'. ;Address of the memory location ;will be allocated by MPLINK. Start CODE 0x0000 ;Following code will be placed in ;address 0. [/CODE] Looking at the last line of code where the CODE-Directive had been utilized= ,=20 I wondered if they where defining the label START as an ORG 0x00 type of=20 thing for later use in their code. The UDATA at the top threw me off=20 though... I supposed that any UDATA-Directive should be 'finished' off by a= =20 CODE-Directive. Am I wrong thinking that?=20 The thing is that my main program code is at the bottom of the source, and= =20 usually where I put my ORG 0x00. If I where to implement the above code in= =20 my code, would I replace the ORG 0x00 in the main program code with a simpl= e=20 "Start"-label? I also presumed that the UDATA-Directive that comes before the=20 RES-directives is a must? Ah, a last-minute addition to this email: MPASM is complaining that I am=20 using CODE and UDATA in my ASM and telling me that I can only use them when= =20 generating an object file... Does that mean that I am not thought of as a= =20 likable person in this absolutely MAD world? Thanks, Sean. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist