UP | HOME

Special Topics: Compiler Correctness
Lecture 20

Table of Contents

Compiler Correctness

Proving correctness

Compiler

Systems software: https://vst.cs.princeton.edu/

OS: http://flint.cs.yale.edu/certikos/

https://en.wikipedia.org/wiki/Duff%27s_device

send(to, from, count)
register short *to, *from;
register count;
{
    register n = (count + 7) / 8;
    switch (count % 8) {
    case 0: do { *to = *from++;
    case 7:      *to = *from++;
    case 6:      *to = *from++;
    case 5:      *to = *from++;
    case 4:      *to = *from++;
    case 3:      *to = *from++;
    case 2:      *to = *from++;
    case 1:      *to = *from++;
            } while (--n > 0);
    }
}

Author: Paul Gazzillo

Created: 2022-03-28 Mon 14:58