PIC18
La risposta PIC18 fornita da TK risulta nelle seguenti istruzioni (binarie):
overflow
PUSH
0000 0000 0000 0101
CALL overflow
1110 1100 0000 0000
0000 0000 0000 0000
Tuttavia, CALL da solo eseguirà un overflow dello stack:
CALL $
1110 1100 0000 0000
0000 0000 0000 0000
PIC18 più piccolo e più veloce
Ma RCALL (chiamata relativa) è ancora più piccolo (non memoria globale, quindi non è necessario per i 2 byte extra):
RCALL $
1101 1000 0000 0000
Quindi il più piccolo sul PIC18 è una singola istruzione, 16 bit (due byte). Ciò richiederebbe 2 cicli di istruzioni per loop. A 4 cicli di clock per ciclo di istruzioni hai 8 cicli di clock. Il PIC18 ha uno stack di 31 livelli, quindi dopo il 32 ° loop si sovrapporrà allo stack, in 256 cicli di clock. A 64 MHz, dovresti sovraccaricare lo stack in 4 micro secondi e 2 byte .
PIC16F5x (anche più piccolo e più veloce)
Tuttavia, la serie PIC16F5x utilizza istruzioni a 12 bit:
CALL $
1001 0000 0000
Ancora una volta, due cicli di istruzione per loop, 4 clock per istruzione, quindi 8 cicli di clock per loop.
Tuttavia, il PIC16F5x ha uno stack a due livelli, quindi sul terzo loop traboccerebbe, in 24 istruzioni. A 20 MHz, traboccerebbe in 1,2 micro secondi e 1,5 byte .
Intel 4004
L' Intel 4004 ha un'istruzione di subroutine di chiamata a 8 bit:
CALL $
0101 0000
Per i curiosi che corrispondono a un ascii 'P'. Con uno stack a 3 livelli che richiede 24 cicli di clock per un totale di 32,4 micro secondi e un byte . (A meno che non overclocki il tuo 4004 - dai, sai che vuoi farlo.)
Che è piccolo come la risposta befunge, ma molto, molto più veloce del codice befunge in esecuzione negli interpreti correnti.