Si traduca in Assembly IA32 la seguente funzione C, scrivendo un modulo clear.s:
void clear(char* v, unsigned n) { // v è un array, n è la lunghezza dell'array
unsigned i=0;
while (i<n) v[i++]=0;
Si suggerisce di riscrivere dapprima il programma in una forma C equivalente in cui il while viene rimpiazzato da un if (…) goto.
Si traduca in Assembly IA32 la seguente funzione C, scrivendo un modulo clear2.s:
void clear2(char* v, unsigned n) { // v è un array, n è la lunghezza dell'array
char* p=v+n;
while (v<p) *v++=0;
}
Si suggerisce di riscrivere dapprima il programma in una forma C equivalente in cui il while viene rimpiazzato da un if (…) goto.