Скачиваний:
13
Добавлен:
16.04.2013
Размер:
1.59 Кб
Скачать
#include <stdio.h>
#include <stdlib.h>

extern "C" { void proc1(long int *,long int *,long int *,int,int,int); }
extern "C" { int get1(long int *,int); }

int main()
{
	int LEN = 18;

	long int *lp;

	(void *) lp = malloc(3*(LEN+2));

//	*(lp + 4) = 0x90008000;
//	*(lp + 3) = 0x70006000;
//	*(lp + 2) = 0x50004000;
//	*(lp + 1) = 0x30002000;
//	*(lp + 0) = 0x1000a000;

					*(lp + 0) = 0x11118f34;
				*(lp + 1) = 0x11111111;
			*(lp + 2) = 0x00001111;
		*(lp + 3) = 0x00000000;
	*(lp + 4) = 0x00000000;

					*(lp + 5) = 0x1111412f;
				*(lp + 6) = 0x11111111;
			*(lp + 7) = 0x00000000;
		*(lp + 8) = 0x00000000;
	*(lp + 9) = 0x00000000;

					*(lp + 10) = 0x11111111;
				*(lp + 11) = 0x11111111;
			*(lp + 12) = 0x11111111;
		*(lp + 13) = 0x11111111;
	*(lp + 14) = 0x11111111;


	
	proc1( lp, lp + 5, lp + 10, LEN - 8, LEN - 8, LEN );
	printf("    MSB<----------MANTISA----------->LSB -  N \n");
	printf("s1  %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+0,18), get1(lp+0,16), get1(lp+0,14), get1(lp+0,12), get1(lp+0,10), get1(lp+0,8), get1(lp+0,6), get1(lp+0,4), get1(lp+0,2), get1(lp+0,0));
	printf("s2  %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+5,18), get1(lp+5,16), get1(lp+5,14), get1(lp+5,12), get1(lp+5,10), get1(lp+5,8), get1(lp+5,6), get1(lp+5,4), get1(lp+5,2), get1(lp+5,0));
	printf("res %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+10,18), get1(lp+10,16), get1(lp+10,14), get1(lp+10,12), get1(lp+10,10), get1(lp+10,8), get1(lp+10,6), get1(lp+10,4), get1(lp+10,2), get1(lp+10,0));

	free(lp);

}
Соседние файлы в папке Задача № 78