mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			910 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			910 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * test source file for assembling to COFF
 | 
						|
 * build with (under DJGPP, for example):
 | 
						|
 *    nasm -f coff cofftest.asm
 | 
						|
 *    gcc -o cofftest cofftest.c cofftest.o
 | 
						|
 */
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
extern int lrotate(int32_t, int);
 | 
						|
extern void greet(void);
 | 
						|
extern int8_t asmstr[];
 | 
						|
extern void *selfptr;
 | 
						|
extern void *textptr;
 | 
						|
extern int integer, commvar;
 | 
						|
 | 
						|
int main(void)
 | 
						|
{
 | 
						|
 | 
						|
    printf("Testing lrotate: should get 0x00400000, 0x00000001\n");
 | 
						|
    printf("lrotate(0x00040000, 4) = 0x%08lx\n", lrotate(0x40000, 4));
 | 
						|
    printf("lrotate(0x00040000, 14) = 0x%08lx\n", lrotate(0x40000, 14));
 | 
						|
 | 
						|
    printf("This string should read `hello, world': `%s'\n", asmstr);
 | 
						|
 | 
						|
    printf("The integers here should be 1234, 1235 and 4321:\n");
 | 
						|
    integer = 1234;
 | 
						|
    commvar = 4321;
 | 
						|
    greet();
 | 
						|
 | 
						|
    printf("These pointers should be equal: %p and %p\n", &greet, textptr);
 | 
						|
 | 
						|
    printf("So should these: %p and %p\n", selfptr, &selfptr);
 | 
						|
}
 |