On Sat, Jun 14, 2008 at 9:34 AM, Olin Lathrop wrote: > If a attempt is made to define multiple variables at the same address, it > will get caught. For example, if in one module you write: > > ram1 udata h'40' > counter res 1 > myval res 2 > > and then in another module: > > ram2 udata h'42' > newval res 1 > morestuff res 1 > > the assembler won't have a problem, but the linker will detect the overlap > and fail. In this case you are attempting to put the second byte of MYVAL > at the same address as the first byte of NEWVAL. Actually the linker sees > that the absolute sections .RAM1 and .RAM2 overlap, but the point is that > the system won't let you accidentally allocate two variables at the same > memory location. > Sounds great, but I just tested with this: processor 10F200 include ram udata h'10' red res 0 grn res 1 blu res 2 ram2 udata h'11' bad res 0 and it assembled and linked with no errors. Do I have something set up wrong in my environment, or am I misunderstanding something? Not that it's a big deal in this case -- I'm pretty sure I can handle assigning 16 bytes manually without overlapping, but would be good to know for the future. -n. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist