So, this is an example of the reason for the (void *) param I was suggesting some time back. Such needs come up. One option is to have a convention that globals are at the base of the stack, rounded to 64k. e.g. %esp & 0xffff0000 is where globals live. ron