Exemplo n.º 1
0
static void new_viewMemory_twoData(void **state){
    heap_t * newHeap = heap_new(100,30);
    memory_t * newMemory = heap_interactionMemory(newHeap, 50);
    memory_check(newMemory, "Hello World!");
    assert_int_equal(strcmp(memory_view(newMemory), "Hello World!"), 0);

    heap_t * newSecondHeap = heap_new(100,31);
    memory_t * newSecondMemory = heap_interactionMemory(newSecondHeap, 30);
    memory_check(newSecondMemory, "Hello C\C++!");
    assert_int_equal(strcmp(memory_view(newSecondMemory), "Hello C\C++!"), 0);
    heap_delete(newHeap);
    heap_delete(newSecondHeap);
}
Exemplo n.º 2
0
static void new_viewMemory_invalidData(void **state){
    heap_t * newHeap = heap_new(100,30);
    memory_t * newMemory = heap_interactionMemory(newHeap, 20);
    memory_check(newMemory, "Hello World!");
    assert_int_equal(strcmp(memory_view(newMemory), "Zdrastvuyte"), -1);
    heap_delete(newHeap);
}
Exemplo n.º 3
0
static void run_machine(struct program *program)
{
        bool simulating = true;
        enum STATE currentState = MAIN;

        outputHeight = (uint16_t) (2 * (LINES - 6) / 3 - 2);
        memoryOutput = malloc(sizeof(uint16_t) * outputHeight);
        if (NULL == memoryOutput) {
                perror("LC3-Simulator");
                exit(EXIT_FAILURE);
        }

        generateContext(context, program, 0, program->simulator.PC);

        while (simulating) {
                set_state(&currentState);

                switch (currentState) {
                case MAIN:
                        simulating = main_view(status, &currentState, program);
                        break;
                case SIM:
                        simulating = simulator_view(output, status, program,
                                &currentState);
                        break;
                case MEM:
                        if (-1 == memPopulated) {
                                generateContext(context, program, 0,
                                        program->simulator.PC);
                        } else {
                                generateContext(context, program, selected,
                                        (uint16_t) memPopulated);
                        }
                        simulating = memory_view(context, program, &currentState);
                        break;
                default:
                        break;
                }
        }

        free(memoryOutput);
        memoryOutput = NULL;
}