Example #1
0
int main(){
  char *pm, *pc, *pb;
  unsigned n = 5;
  void printmem( char *, unsigned );


  pm = my_malloc( n );
  printmem( pm, n );
  free( pm );

  putchar( '\n' );

  pc = my_calloc( n );
  printmem( pc, n );
  free( pc );

  putchar( '\n' );

  return 0;
}
Example #2
0
char* test_imprint_blocks()
{
    sp_block *bl = NULL;
    sp_block *bl2 = NULL;
    sp_block_template tmpl;
    sp_block_template tmpl2;

    tmpl.flags.prohibits = PR_WALK | PR_FLY;
    tmpl.flags.type = BT_BLOCK;
    tmpl.flags.orient = OR_EAST; 
    
    bl = new_block(&tmpl);

    printmem("tmpl", &tmpl, sp_block_template);
    printmem("block", bl, sp_block);

    mu_assert(bl, "block was allocated");
    mu_assert(bl->flags.prohibits == (PR_WALK | PR_FLY), "block had flags set");
    mu_assert(bl->qualities[0] == 0, "qualities nulled out");

    bl->qualities[0] = B_QUALITY(Q_UNLOCKS, 1);
    bl->qualities[1] = B_QUALITY(56, 23);

    tmpl2.flags.prohibits = PR_ALL;
    tmpl2.flags.type = BT_PROP;
    tmpl2.flags.orient = OR_NONE;

    bl2 = new_block_init(&tmpl2, *bl);

    mu_assert(bl2, "block was allocated again");
    mu_assert(bl2->flags.prohibits == PR_ALL, "block gets flags from new template");
    mu_assert(bl2->qualities[1] == B_QUALITY(56, 23), "block gets qualities from proto");

    SPFREE(bl);
    SPFREE(bl2);

    return NULL;
}
Example #3
0
static void locprint(FILE *fd, Loc *l, char spec)
{
	spec = tolower(spec);
	assert(l->mode);
	switch (l->type) {
	case Loclitl:
		assert(spec == 'i' || spec == 'x' || spec == 'u');
		fprintf(fd, "$%s", l->lbl);
		break;
	case Loclbl:
		assert(spec == 'm' || spec == 'v' || spec == 'x');
		fprintf(fd, "%s", l->lbl);
		break;
	case Locreg:
		assert((spec == 'r' && isintmode(l->mode)) || 
				(spec == 'f' && isfloatmode(l->mode)) ||
				spec == 'v' ||
				spec == 'x' ||
				spec == 'u');
		if (l->reg.colour == Rnone)
			fprintf(fd, "%%P.%zd%s", l->reg.id, modenames[l->mode]);
		else
			fprintf(fd, "%s", regnames[l->reg.colour]);
		break;
	case Locmem:
	case Locmeml:
		assert(spec == 'm' || spec == 'v' || spec == 'x');
		printmem(fd, l, spec);
		break;
	case Loclit:
		assert(spec == 'i' || spec == 'x' || spec == 'u');
		fprintf(fd, "$%ld", l->lit);
		break;
	case Locnone:
		die("Bad location in locprint()");
		break;
	}
}
Example #4
0
static void run_round()
{
	cbor_item_t *item;
	struct cbor_load_result res;

	size_t length = rand() % MAXLEN + 1;
	unsigned char * data = malloc(length);
	for (size_t i = 0; i < length; i++) {
		data[i] = rand() % 0xFF;
	}

	#ifdef CBOR_PRINT_FUZZ
	printmem(data, length);
	#endif

	item = cbor_load(data, length, &res);

	if (res.error.code == CBOR_ERR_NONE)
		cbor_decref(&item);
	/* Otherwise there should be nothing left behind by the decoder */

	free(data);
}
Example #5
0
int main()
{
    int i, proc_count = 0;
    char *cuname;
    char buf[_POSIX2_LINE_MAX];
    const char *execf, *coref;
    static kvm_t *kd;
    struct kinfo_proc *kp;
    static int nproc;
    static struct kinfo_proc *plist;
    
    execf = NULL;
    coref = _PATH_DEVNULL;
    kd = kvm_openfiles(execf, coref, NULL, O_RDONLY, buf);
    plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);

    for (i = 0, kp = plist; i < nproc; i++, kp++) proc_count++;
    
    printf("\n");
    printf("\033[1;31m  ```                        `\033[0;0m       \n");
    printf("\033[1;31m s` `.....---.......--.```   -/\033[0;0m      "); printval("OS", "kern.ostype"); printf(" "); psysctl("hw.machine_arch"); printf("\n");
    printf("\033[1;31m +o   .--`         /y:`      +.\033[0;0m      "); printval("Hostname", "kern.hostname");  printf("\n");
    printf("\033[1;31m  yo`:.            :o      `+-\033[0;0m       "); printval("Kernel", "kern.osrelease");  printf("\n");
    printf("\033[1;31m   y/               -/`   -o/\033[0;0m        "); printuptime(); printf("\n");
    printf("\033[1;31m  .-                  ::/sy+:.\033[0;0m       "); printf("\033[1;31mProcesses:\033[0;0m %d\n", proc_count);
    printf("\033[1;31m  /                     `--  /\033[0;0m       "); printmem(); printf("\n");
    printf("\033[1;31m `:                          :`\033[0;0m      "); printcpu();  printf("\n");
    printf("\033[1;31m `:                          :`\033[0;0m      "); printf("\033[1;31mShell:\033[0;0m ", proc_count); printshell(); printf("\n");
    printf("\033[1;31m  /                          /\033[0;0m       \n");
    printf("\033[1;31m  .-                        -.\033[0;0m       \n");
    printf("\033[1;31m   --                      -.\033[0;0m        \n");
    printf("\033[1;31m    `:`                  `:`\033[0;0m         \n");
    printf("\033[1;31m      .--             `--.\033[0;0m           \n");
    printf("\033[1;31m         .---.....----.\033[0;0m              \n");
    printf("\n");
    return (0);
}
Example #6
0
int main()
{
	check_isupper();

	check_isLower();


	puts("--------\nTest ft_puts:\n");
	check_puts("great succes !");
	check_puts(0);

	check_isDigit();

	check_isAlpha();


	check_isAlnum();

	check_isAscii();

	check_isprint();

	check_tolower();

	check_toupper();

	int i = 0;
	srand( 42 );


	printf( "--------\nTest ft_bzero:\n" );
	char	str_bezro[STR_MAX_SIZE];
	char	str_ft_bezro[STR_MAX_SIZE];
	size_t	len_bzero;

	for ( i = MIN; i < MAX; i++ )
	{
		len_bzero = random_str( str_bezro );
		len_bzero -= random( 0, len_bzero );
		strcpy( str_ft_bezro, str_bezro );

		ft_bzero( str_ft_bezro, len_bzero );
		bzero( str_bezro, len_bzero );
		if ( memcmp( str_ft_bezro, str_bezro, len_bzero ) != 0 )
		{
			printf("result: \n%s\nexpected result: \n%s\n", str_ft_bezro, str_bezro );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	printf( "--------\nTest ft_strcat:\n" );
	char	str_strcat[STR_MAX_SIZE * 2];
	char	str_ft_strcat[STR_MAX_SIZE * 2];
	char	str_strcat_s2[STR_MAX_SIZE];
	char	*ret_strcat;
	char	*ret_ft_strcat;
	size_t	len_strcat;
	size_t	len_strcat_s2;

	for ( i = MIN; i < MAX; i++ )
	{
		len_strcat_s2 = random_str( str_strcat_s2 );
		len_strcat = random_str( str_strcat );
		strcpy( str_ft_strcat, str_strcat );

		ret_ft_strcat = ft_strcat( str_ft_strcat, str_strcat_s2 );
		ret_strcat = strcat( str_strcat, str_strcat_s2 );
		if ( memcmp( str_strcat, str_ft_strcat, len_strcat + len_strcat_s2 ) != 0 )
		{
			printmem( str_strcat, len_strcat );
			printmem( str_ft_strcat, len_strcat );
			printf("result: \n%s\nexpected result: \n%s\n", str_strcat, str_ft_strcat );
			exit( 0 );
		}
		if ( memcmp( ret_strcat, ret_ft_strcat, len_strcat + len_strcat_s2 ) != 0 )
		{
			printmem( ret_strcat, len_strcat );
			printmem( ret_ft_strcat, len_strcat );
			printf("result: \n%s\nexpected result: \n%s\n", ret_strcat, ret_ft_strcat );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	check_strlen();
	check_strchr();
	check_strrchr();

	printf( "--------\nTest ft_memset:\n" );
	char	str_memset[STR_MAX_SIZE];
	char	str_ft_memset[STR_MAX_SIZE];
	size_t	len_memset;

	for ( i = MIN; i < MAX; i++ )
	{
		len_memset = random_str( str_memset );
		len_memset -= random( 0, len_memset );
		strcpy( str_ft_memset, str_memset );

		ft_memset( str_ft_memset, i, len_memset );
		memset( str_memset, i, len_memset );
		if ( memcmp( str_ft_memset, str_memset, len_bzero ) != 0 )
		{
			printf("result: \n%s\nexpected result: \n%s\n", str_ft_memset, str_memset );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	printf( "--------\nTest ft_memcpy:\n" );
	char	str_memcpy[STR_MAX_SIZE];
	char	str_ft_memcpy[STR_MAX_SIZE];
	char	str_memcpy_s2[STR_MAX_SIZE];
	size_t	len_memcpy;
	void	*ret_memcpy;
	void	*ret_ft_memcpy;

	for ( i = MIN; i < MAX; i++ )
	{
		len_memcpy = random_str( str_memcpy_s2 );

		ret_ft_memcpy = ft_memcpy( str_ft_memcpy, str_memcpy_s2, len_memcpy );
		ret_memcpy = memcpy( str_memcpy, str_memcpy_s2, len_memcpy );
		if ( memcmp( str_ft_memcpy, str_memcpy, len_memcpy ) != 0 )
		{
			printf("result: \n%s\nexpected result: \n%s\n", str_ft_memcpy, str_memcpy );
			exit( 0 );
		}
		if ( ret_ft_memcpy != str_ft_memcpy )
		{
			printf("result: \n%d\nexpected result: \n%d\n", (size_t)ret_ft_memcpy, (size_t)str_ft_memcpy );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	printf( "--------\nTest ft_strdup:\n" );
	char	str_strdup[STR_MAX_SIZE];
	size_t	len_strdup;
	char	*ret_ft_strdup;
	char	*ret_strdup;


	for ( i = MIN; i < MAX; i++ )
	{
		len_strdup = random_str( str_strdup );

		ret_ft_strdup = ft_strdup( str_strdup );
		ret_strdup = strdup( str_strdup );
		if ( memcmp( ret_ft_strdup, ret_strdup, len_strdup ) != 0 )
		{
			printf("result: \n%s\nexpected result: \n%s\n", ret_ft_strdup, ret_strdup );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	printf( "--------\nTest ft_strcpy:\n" );
	char	str_ft_strcpy[STR_MAX_SIZE];
	char	str_strcpy[STR_MAX_SIZE];
	char	str_strcpy_s2[STR_MAX_SIZE];
	char	*ret_strcpy;
	char	*ret_ft_strcpy;
	int		len_strcpy;

	for ( i = MIN; i < MAX; i++ )
	{
		len_strcpy = random_str( str_strcpy_s2 );

		ret_strcpy = strcpy( str_strcpy, str_strcpy_s2 );
		ret_ft_strcpy = ft_strcpy( str_ft_strcpy, str_strcpy_s2 );

		if ( memcmp( str_ft_strcpy, str_strcpy, len_strcpy ) != 0 )
		{
			printf("result: \n%s\n, expected result: \n%s\n", str_ft_strcpy, str_strcpy );
			exit( 0 );
		}
		if ( memcmp( ret_strcpy, ret_ft_strcpy, len_strcpy ) != 0 )
		{
			printf("result: \n%s\n, expected result: \n%s\n", ret_strcpy, ret_ft_strcpy );
			exit( 0 );
		}
	}
	printf("\033[32mOk\n\033[0m");

	printf( "--------\nTest ft_cat:\n" );
	ft_cat( 4 );
	ft_cat( 8 );
	ft_cat( -4 );
	ft_cat( open( "ft_bzero.s", O_RDONLY ) );
	ft_cat( open( "Makefile", O_RDONLY ) );
	return 0;
}
Example #7
0
int main()
{
    int i, proc_count = 0;
    char *cuname;
    char buf[_POSIX2_LINE_MAX];
    const char *execf, *coref;
    static kvm_t *kd;
    struct kinfo_proc *kp;
    static int nproc;
    static struct kinfo_proc *plist;
    
    execf = NULL;
    coref = _PATH_DEVNULL;
    kd = kvm_openfiles(execf, coref, NULL, O_RDONLY, buf);
    plist = kvm_getprocs(kd, KERN_PROC_PROC, 0, &nproc);

    for (i = 0, kp = plist; i < nproc; i++, kp++) proc_count++;
    
    printf("\n");
    printf(" \033[0;0;0m         \033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m       \033[0;0;0m\033[38;5;16m00\033[0;0;0m       \n");
    printf("\033[38;5;52m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;95m1\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;102m1\033[0;0;0m\033[38;5;145m1\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;145m1\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;145m00\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;102m1\033[0;0;0m\033[38;5;102m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;131m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printval("OS", "kern.ostype"); printf(" "); psysctl("hw.machine_arch"); printf("\n");
    printf("\033[38;5;88m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;167m1\033[0;0;0m\033[38;5;210m1\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;217m1\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;180m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;188m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m000\033[0;0;0m\033[38;5;231m00\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;187m0\033[0;0;0m\033[38;5;144m0\033[0;0;0m\033[38;5;144m1\033[0;0;0m\033[38;5;187m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;210m1\033[0;0;0m\033[38;5;167m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printval("Hostname", "kern.hostname");  printf("\n");
    printf("\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;209m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m11\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m01\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;173m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;210m1\033[0;0;0m\033[38;5;167m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printval("Kernel", "kern.osrelease");  printf("\n");
    printf("\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;230m0\033[0;0;0m\033[38;5;230m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;224m11\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;209m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;131m1\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m "); printuptime(); printf("\n");
    printf("\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;230m0\033[0;0;0m\033[38;5;231m1\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;223m0\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;217m1\033[0;0;0m\033[38;5;217m1\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;173m1\033[0;0;0m\033[38;5;167m0\033[0;0;0m\033[38;5;203m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;131m1\033[0;0;0m\033[38;5;174m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printf("\033[1;31mProcesses:\033[0;0m %d\n", proc_count);
    printf("\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;181m1\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;223m0\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;230m0\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;230m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;223m0\033[0;0;0m\033[38;5;217m1\033[0;0;0m\033[38;5;216m0\033[0;0;0m\033[38;5;209m0\033[0;0;0m\033[38;5;203m0\033[0;0;0m\033[38;5;203m0\033[0;0;0m\033[38;5;202m1\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;131m1\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;138m1\033[0;0;0m\033[38;5;188m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printmem(); printf("\n");
    printf("\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;223m0\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;231m0\033[0;0;0m\033[38;5;224m0\033[0;0;0m\033[38;5;216m0\033[0;0;0m\033[38;5;209m1\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;196m0\033[0;0;0m\033[38;5;196m1\033[0;0;0m\033[38;5;196m1\033[0;0;0m\033[38;5;196m0\033[0;0;0m\033[38;5;196m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;95m1\033[0;0;0m\033[38;5;95m1\033[0;0;0m\033[38;5;138m0\033[0;0;0m\033[38;5;188m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m"); printcpu();  printf("\n");
    printf("\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;174m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;209m0\033[0;0;0m\033[38;5;215m1\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;209m0\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m11\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;130m0\033[0;0;0m\033[38;5;188m0\033[0;0;0m\033[38;5;102m1\033[0;0;0m "); printf("\033[1;31mShell:\033[0;0m ", proc_count); printshell(); printf("\n");
    printf("\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;188m1\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m111\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;130m1\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;138m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m       \n");
    printf("\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;224m1\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1001\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;230m1\033[0;0;0m\033[38;5;102m1\033[0;0;0m       \n");
    printf("\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m00\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;173m0\033[0;0;0m\033[38;5;222m1\033[0;0;0m\033[38;5;229m1\033[0;0;0m\033[38;5;188m1\033[0;0;0m\033[38;5;16m0\033[0;0;0m        \n");
    printf(" \033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;145m1\033[0;0;0m\033[38;5;174m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;167m1\033[0;0;0m\033[38;5;215m1\033[0;0;0m\033[38;5;223m1\033[0;0;0m\033[38;5;188m0\033[0;0;0m\033[38;5;59m1\033[0;0;0m         \n");
    printf("  \033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;102m0\033[0;0;0m\033[38;5;181m0\033[0;0;0m\033[38;5;88m0\033[0;0;0m\033[38;5;88m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;173m0\033[0;0;0m\033[38;5;217m0\033[0;0;0m\033[38;5;145m1\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m           \n");
    printf("   \033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;145m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;124m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;202m1\033[0;0;0m\033[38;5;202m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;209m1\033[0;0;0m\033[38;5;216m1\033[0;0;0m\033[38;5;180m1\033[0;0;0m\033[38;5;59m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m              \n");
    printf("     \033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;95m1\033[0;0;0m\033[38;5;131m1\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;124m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;202m1\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;202m1\033[0;0;0m\033[38;5;208m0\033[0;0;0m\033[38;5;209m1\033[0;0;0m\033[38;5;180m1\033[0;0;0m\033[38;5;137m1\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\n");
    printf("       \033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;16m1\033[0;0;0m\033[38;5;59m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;131m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m1\033[0;0;0m\033[38;5;160m0\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m1\033[0;0;0m\033[38;5;166m0\033[0;0;0m\033[38;5;202m0\033[0;0;0m\033[38;5;172m1\033[0;0;0m\033[38;5;172m0\033[0;0;0m\033[38;5;173m1\033[0;0;0m\033[38;5;137m0\033[0;0;0m\033[38;5;95m0\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\n");
    printf("            \033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;52m1\033[0;0;0m\033[38;5;58m1\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;58m0\033[0;0;0m\033[38;5;52m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\033[38;5;16m0\033[0;0;0m\n");
    printf("\n");
    return (0);
}
Example #8
0
int main()
{	
	//allocate memory for registers and program data
	byte  reg[16];
	byte mem[4096];
	//unsigned int offset = (unsigned int)mem - 0x200;
	word I = 0x200;
	int i;
	//printf("Hello World!\n");
	//printf("Char size: %u\n",CHAR_BIT);
	//printf("Char min: %u\n",CHAR_MIN);
	//printf("Char max: %u\n",UCHAR_MAX);
	//printf("mem start: %p\n",mem);
	//printf("mem + 1: %p\n",mem+1);

	//fill registers to make the string "Hello World",
	//print it with printf, save it to memory, then
	//load it again 
	seti(reg+0x0,0x48);
	seti(reg+0x1,0x65);
	seti(reg+0x2,0x6C);
	seti(reg+0x3,0x6C);
	seti(reg+0x4,0x6F);
	seti(reg+0x5,0x20);
	seti(reg+0x6,0x57);
	seti(reg+0x7,0x6F);
	seti(reg+0x8,0x72);
	seti(reg+0x9,0x6C);
	seti(reg+0xA,0x64);
	seti(reg+0xB,0x0);
	//print string
	printf("%s\n",reg);
	printf("Register contents after setting\n");
	printregs(stdout,reg);
	printf("Memory contents before doing anythong\n");
	printmem(stdout,mem,0x200,0x20F);
	//printf("Store register contents in memory");
	stor(reg,0xB,mem,&I);
	//printmem(stdout,mem,0x200,0x20F);
	//zero all the registers
	memset(reg,0,REG_COUNT);
	printf("Memory after saving\n");
	printmem(stdout,mem,0x200,0x20F);
	printf("Read memory as a string, line below should read \"Hello World\"\n");
	printf("%s\n",mem+0x200);
	printf("Registers should all be 0\n");
	printregs(stdout,reg);
	printf("Registers should now hold just the 2nd word\n");
	I = 0x206;
	load(reg,0x5,mem,&I); //should load "World"
	printregs(stdout,reg);
	printf("%s\n",reg);
	
	//test the other opcodes
	printf("Clear registers\n");
	memset(reg,0,REG_COUNT);
	printregs(stdout,reg);
	seti(reg+0x0,0x1);
	printf("set V0 to 1\n");
	printregs(stdout,reg);
	set(reg+0x1,reg+0x0);
	printf("Set V1 to V0 (1)\n");
	printregs(stdout,reg);
	addi(reg+0x0,0x2);
	printf("Added 2 to V0,should now be 3\n");
	printregs(stdout,reg);
	add(reg+0x0,reg+0x1,reg+0xF);
	printf("Add V0 and V1, store answer in V0\n");
	printregs(stdout,reg);
	addi(reg+0x2,0xFF);
	add(reg+0x0,reg+0x2,reg+0xF);
	printf("Testing carry flag, add 255 to V2 and add V2 to V0 (sets CF)\n");
	printregs(stdout,reg);
	subyx(reg+0x0,reg+0x2,reg+0xF);
	printf("V0 - V2, V0 should be 0xFC, VF = 0\n");
	printregs(stdout,reg);
	subxy(reg+0x1,reg+0x2,reg+0xF);
	printf("V2 (0xFF) - V1 (0x1) -> V1 (0xFE),VF = 1\n");
	printregs(stdout,reg);
}