Sistemi di Calcolo

Corso di Laurea in Ingegneria Informatica e Automatica

Home | Avvisi | Diario Lezioni | Esercitazioni | Esami | Materiale Didattico | Valutazioni Studenti | Lezioni di Camil Demetrescu |

Palestra L4: preparazione per l’esercitazione T4

Esercizio 1

Si traduca in IA32 la seguente funzione che scambia il contenuti di due struct:

e1.h

#ifndef __SWAP_STRUCT__
#define __SWAP_STRUCT__

typedef struct {
    char buf[5];
    int n;
    char enabled;
} buf_t;

void swap(buf_t *b1, buf_t *b2);

#endif

e1.c

#include "e1.h"

void swap(buf_t *b1, buf_t *b2) {
    buf_t tmp = *b1;
    *b1 = *b2;
    *b2 = tmp;
}

Suggerimento: usare la funzione di libreria memcpy.

Codice e soluzioni