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; }
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)++; }