PIC18
TK에 의해 주어진 PIC18 응답 다음 지시 사항 결과 (진) :
overflow
PUSH
0000 0000 0000 0101
CALL overflow
1110 1100 0000 0000
0000 0000 0000 0000
그러나 CALL만으로 스택 오버플로를 수행합니다.
CALL $
1110 1100 0000 0000
0000 0000 0000 0000
더 작고 빠른 PIC18
그러나 RCALL (상대 호출)은 여전히 작습니다 (전역 메모리가 아니므로 추가 2 바이트가 필요하지 않음).
RCALL $
1101 1000 0000 0000
따라서 PIC18에서 가장 작은 것은 단일 명령, 16 비트 (2 바이트)입니다. 루프 당 2 개의 명령 사이클이 필요합니다. 명령 사이클 당 4 클럭 사이클에서 8 클럭 사이클이 있습니다. PIC18에는 31 레벨 스택이 있으므로 32 루프 이후 256 클록 사이클에서 스택에 오버플로가 발생합니다. 64MHz에서는 스택을 4 마이크로 초와 2 바이트로 오버플로합니다 .
PIC16F5x (더 작고 빠름)
그러나 PIC16F5x 시리즈는 12 비트 명령어를 사용합니다.
CALL $
1001 0000 0000
다시 한 번, 루프 당 2 개의 명령 사이클, 명령 당 4 개의 클록, 따라서 루프 당 8 개의 클록 사이클.
그러나 PIC16F5x에는 2 개의 레벨 스택이 있으므로 세 번째 루프에서는 24 개의 명령으로 오버플로됩니다. 20MHz에서는 1.2 마이크로 초와 1.5 바이트로 오버플로됩니다 .
인텔 4004
인텔 4004는 8 비트 호출 서브 루틴 명령이 있습니다 :
CALL $
0101 0000
ascii 'P'에 해당하는 궁금합니다. 총 32.4 마이크로 초와 1 바이트 동안 24 클럭 사이클을 소요하는 3 레벨 스택 . (4004를 오버 클로킹하지 않는 한, 당신이 원하는 것을 알고 있습니다.)
어느 것이 befunge 답변만큼 작지만 현재 통역사에서 실행되는 befunge 코드보다 훨씬 빠릅니다.