PIC18
La réponse PIC18 donnée par TK entraîne les instructions suivantes (binaire):
overflow
PUSH
0000 0000 0000 0101
CALL overflow
1110 1100 0000 0000
0000 0000 0000 0000
Cependant, CALL seul effectuera un débordement de pile:
CALL $
1110 1100 0000 0000
0000 0000 0000 0000
PIC18 plus petit, plus rapide
Mais RCALL (appel relatif) est encore plus petit (pas de mémoire globale, donc pas besoin des 2 octets supplémentaires):
RCALL $
1101 1000 0000 0000
Ainsi, le plus petit sur le PIC18 est une seule instruction, 16 bits (deux octets). Cela prendrait 2 cycles d'instructions par boucle. À 4 cycles d'horloge par cycle d'instruction, vous avez 8 cycles d'horloge. Le PIC18 a une pile de 31 niveaux, donc après la 32ème boucle, il débordera de la pile, en 256 cycles d'horloge. À 64 MHz, vous déborderiez la pile en 4 microsecondes et 2 octets .
PIC16F5x (encore plus petit et plus rapide)
Cependant, la série PIC16F5x utilise des instructions 12 bits:
CALL $
1001 0000 0000
Encore une fois, deux cycles d'instruction par boucle, 4 horloges par instruction donc 8 cycles d'horloge par boucle.
Cependant, le PIC16F5x a une pile à deux niveaux, donc sur la troisième boucle il déborderait, en 24 instructions. À 20 MHz, il déborderait en 1,2 micro seconde et 1,5 octets .
Intel 4004
L' Intel 4004 a une instruction de sous-programme d'appel 8 bits:
CALL $
0101 0000
Pour les curieux qui correspond à un ascii 'P'. Avec une pile à 3 niveaux qui prend 24 cycles d'horloge pour un total de 32,4 micro secondes et un octet . (Sauf si vous overclockez votre 4004 - allez, vous savez que vous voulez.)
Ce qui est aussi petit que la réponse befunge, mais beaucoup, beaucoup plus rapide que le code befunge exécuté dans les interpréteurs actuels.