diff options
author | H. Peter Anvin <hpa@zytor.com> | 2002-04-30 20:51:32 +0000 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2002-04-30 20:51:32 +0000 |
commit | ea6e34db64c7da7cb885197316c6b5e7d048bdb9 (patch) | |
tree | 78e728348f8fe09e394a51c3617e6261de0f4001 /test/objlink.c | |
download | nasm-ea6e34db64c7da7cb885197316c6b5e7d048bdb9.tar.gz nasm-ea6e34db64c7da7cb885197316c6b5e7d048bdb9.tar.bz2 nasm-ea6e34db64c7da7cb885197316c6b5e7d048bdb9.zip |
NASM 0.91
Diffstat (limited to 'test/objlink.c')
-rw-r--r-- | test/objlink.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/objlink.c b/test/objlink.c new file mode 100644 index 0000000..2f92f05 --- /dev/null +++ b/test/objlink.c @@ -0,0 +1,30 @@ +/* + * test source file for assembling to Microsoft 16-bit .OBJ + * build with (16-bit Microsoft C): + * nasm -f obj objtest.asm + * cl /AL objtest.obj objlink.c + * other compilers should work too, provided they handle large + * model in the same way as MS C + */ + +#include <stdio.h> + +char text[] = "hello, world\n"; + +extern void function(char *); +extern int bsssym, commvar; +extern void *selfptr; +extern void *selfptr2; + +int main(void) { + printf("these should be identical: %p, %p\n", + (long) selfptr, (long) &selfptr); + printf("these should be equivalent but different: %p, %p\n", + (long) selfptr2, (long) &selfptr2); + printf("you should see \"hello, world\" twice:\n"); + bsssym = 0xF00D; + commvar = 0xD00F; + function(text); + printf("this should be 0xF00E: 0x%X\n", bsssym); + printf("this should be 0xD00E: 0x%X\n", commvar); +} |