示例#1
0
int main() {
	listPointer list1 = NULL, temp = list1;
	for (int i = 0; i < 5; i++) {
		temp = add(&list1, temp, i);
	}
	listPointer l = NULL, r = list1;
	printf("원래 list : ");
	printList(list1);
	printf("-----------------------------------------------------------------\n");
	for (int i = 1; i < 7; i++) {
		movr(&l, &r);
		printf("%d번 move right후 list l : ", i);
		printList(l);
		printf("%d번 move right후 list r : ", i);
		printList(r);
	}
	printf("-----------------------------------------------------------------\n");
	for (int i = 1; i < 7; i++) {
		movl(&l, &r);
		printf("%d번 move left후 list l : ", i);
		printList(l);
		printf("%d번 move keft후 list r : ", i);
		printList(r);
	}

	return 0;
}
示例#2
0
void search(symbol_table** symbols, intermediate_code* code_gen, char**opcodes, int s, int ins_no, void* memory, int* regis, int *cur_ins)
{

	int c = code_gen->opcode;
	switch (c)
	{
	case 1: mov(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 2: movr(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 3: add(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 4: sub(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 5: mul(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 6: jmp(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		return;
		break;
	case 7: if_run(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		return;
		break;
	case 8: //eq();
		break;
	case 9: //lt();
		break;
	case 10: //gt();
		break;
	case 11: //lteq();
		break;
	case 12: //gteq();
		break;
	case 13: print(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 14: read(symbols, code_gen, opcodes, s, ins_no, memory, regis, cur_ins);
		break;
	case 15: 	break;
	}

	(*cur_ins)++;
}