Oops, strike that last message. Just realized that the param in res is the number of bytes, not the index into the data section. Sorry bout that, it's been awhile since I've touched asm. -n. On Sat, Jun 14, 2008 at 12:17 PM, James Nick Sears wrote: > 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