supports instructions: spawn_thread, semaphore_make, semaphore_P, semaphore_V, print