Multiple answers: Select two answers that are *CORRECT* when…

Multiple answers: Select two answers that are *CORRECT* when the following program executes. You can reference pthread man page if you need. #include #include #include #define CORE 4#define MAX 8pthread_t thread;int mat_A, mat_B, sum;void* add(void* arg) {  int i, j;  int core = (int)arg; for (i = core * MAX / 4; i < (core + 1) * MAX / 4; i++)   for (j = 0; j < MAX; j++)      sum = mat_A + mat_B;  return NULL;}int main() {  int i, j, step = 0;                                                                  for (i = 0; i < MAX; i++)     for (j = 0; j < MAX; j++) {      mat_A = rand() % 10;      mat_B = rand() % 10;    }  for (i = 0; i < CORE; i++) {    pthread_create(&thread, NULL, &add                   (void*)step);    step++;  }  for (i = 0; i < CORE; i++)    pthread_join(thread, NULL);  return 0;}

Multiple answers: Suppose the followings while executing a p…

Multiple answers: Suppose the followings while executing a program execution on a 32bit x86 CPU computer system; %esp=0xffffcf8c %eip=0x804842b. The instruction at the memory address 0x804842b is call 0x80483dd. 0x8048430 is the next sequential instruction memory address after 0x804842b Select three statements that are *CORRECT* right after CPU fetch-and-executes the instruction “call 0x80483dd” at 0x804842b.