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
.