- 136.2k
- 14
- 154
- 394
#Whitespace, 306307 bytes
[S S S N
_Push_0][N
S S N
_Create_Label_LOOP][S S S T N
_Push_1][T S S S _Add][S N
S _Duplicate][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S T N
_Jump_to_Label_FIZZ_if_0][N
S S S N
_Create_Label_RETURN_FIZZ][S N
S _Duplicate][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S T T N
_Jump_to_Label_BUZZ_if_0][N
S S S S N
_Create_Label_RETURN_BUZZ][S S S T T S S T S S N
_Push_100][T S S T _Subtract][N
T S T T T N
_Jump_to_Label_EXIT_WITH_ERROR_if_0][N
S T T T T T N
_Call_Label_PRINT_INT][S S S T S T S N
_Push_10][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP][N
S S T
_Create_Label_FIZZ][S S S T S S S T T S N
_Push_70][T N
S S _Print_as_character][S S S T T S T S S T N
_Push_105][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S
_Return_to_Label_FIZZ_RETURN][N
S S T T N
_Create_Label_BUZZ][S S S T S S S S T S N
_Push_66][T N
S S _Print_as_character][S S S T T T S T S T N
_Push_117][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S S N
_Return_to_Label_BUZZ_RETURN][N
S S T T T T N
_Create_Label_PRINT_INT][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][T N
S T _Print_as_integer][N
T N
_Return][N
S S S T N
_Create_Label_RETURN][N
T N
_Return]
Try it online by copying the raw code from the TIO link.Try it online (Doesn't work on TIO again for some reason.. I really need to learn how to Label and Jump to Labels betterwith raw spaces, because I have the feeling Itabs and this compiler I'm using are both doing something wrong, which is why it isn't working on TIO..new-lines only).
EDIT: Fixed TIO version. Will try to golf it some more later.
Command Explanation Stack STDOUT STDERR
SSN SSSN Push 0 [0]
NSSN Create Label_LOOP [0]
SSSTN Push 1 [0,1]
TSSS Add (0+1) [1]
SNS Duplicate (1) [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSTN Jump to Label_FIZZ if 0 [1,1]
NSSSSN Create Label_RETURN_FIZZ [1,1]
SNS Duplicate (1) [1,1,1]
SNS Duplicate (1) [1,1,1,1]
SSSTSTn Push 5 [1,1,1,1,5]
TSTT Modulo (1%5) [1,1,1,1]
NTSTTN Jump to Label_BUZZ if 0 [1,1,1]
NSSSSN Create Label_RETURN_BUZZ [1,1,1]
SSSTTSSTSSN Push 100 [1,1,1,100]
TSST Subtract (1-100) [1,1,-99]
NTSTTTN Jump to Label_EXIT if 0 [1,1]
NSTTTTTN Call Label_PRINT_INT [1,1]
NSSTTTTN Create Label_PRINT_INT [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
SNS Duplicate (1) [1,1,1]
SSSTSTN Push 5 [1,1,1,5]
TSTT Modulo (1%5) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
TNST Print as integer [1] 1
NTN Return [1]
SSSTSTSN Push 10 [1,10]
TNSS Print as character [1] \n
NSNN Jump to Label_LOOP [1]
SSSTN Push 1 [1,1]
TSSS Add (1+1) [2]
SNS Duplicate (2) [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSTN Jump to Label_FIZZ if 0 [2,2]
NSSSSN Create Label_RETURN_FIZZ [2,2]
SNS Duplicate (2) [2,2,2]
SNS Duplicate (2) [2,2,2,2]
SSSTSTn Push 5 [2,2,2,2,5]
TSTT Modulo (2%5) [2,2,2,2]
NTSTTN Jump to Label_BUZZ if 0 [2,2,2]
NSSSSN Create Label_RETURN_BUZZ [2,2,2]
SSSTTSSTSSN Push 100 [2,2,2,100]
TSST Subtract (2-100) [2,2,-98]
NTSTTTN Jump to Label_EXIT if 0 [2,2]
NSTTTTTN Call Label_PRINT_INT [2,2]
NSSTTTTN Create Label_PRINT_INT [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
SNS Duplicate (2) [2,2,2]
SSSTSTN Push 5 [2,2,2,5]
TSTT Modulo (2%5) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
TNST Print as integer [2] 2
NTN Return [2]
SSSTSTSN Push 10 [2,10]
TNSS Print as character [2] \n
NSNN Jump to Label_LOOP [2]
SSSTN Push 1 [2,1]
TSSS Add (3+1) [3]
SNS Duplicate (3) [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSTN Jump to Label_FIZZ if 0 [3,3]
NSST Create Label_FIZZ [3,3]
SNS Duplicate (3) [3,3,3]
SNS Duplicate (3) [3,3,3,3]
SSSTSSSTTSN Push 70 [3,3,3,3,70]
TNSS Print as character [3,3,3,3] F
SSSTTSTSSTN Push 105 [3,3,3,3,122]
TNSS Print as character [3,3,3,3] i
SSSTTTTSTSN Push 122 [3,3,3,3,122]
SNS Duplicate (122) [3,3,3,3,122,122]
TNSS Print as character [3,3,3,3,122] z
TNSS Print as character [3,3,3,3] z
NSNS Jump to Label_RETURN_FIZZ [3,3,3,3]
NSSSSN Create Label_RETURN_FIZZ [3,3,3,3]
SSSTSTN Push 5 [3,3,3,3,5]
TSTT Modulo (3%5) [3,3,3,3]
NTSTTN Jump to Label_BUZZ if 0 [3,3,3]
NSSSSN Create Label_RETURN_BUZZ [3,3,3]
SSSTTSSTSSN Push 100 [3,3,3,100]
TSST Subtract (3-100) [3,3,-97]
NTSTTTN Jump to Label_EXIT if 0 [3,3]
NSTTTTTN Call Label_PRINT_INT [3,3]
NSSTTTTN Create Label_PRINT_INT [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSSTN Jump to Label_RETURN if 0 [3,3]
Stack contains additional leading [3, but we'll ignore it in this explanation
SSSTN Push 1 [3,1]
TSSS Add (3+1) [4]
SNS Duplicate (4) [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSTN Jump to Label_FIZZ if 0 [4,4]
NSSSSN Create Label_RETURN_FIZZ [4,4]
SNS Duplicate (4) [4,4,4]
SNS Duplicate (4) [4,4,4,4]
SSSTSTN Push 5 [4,4,4,4,5]
TSTT Modulo (4%5) [4,4,4,4]
NTSTTN Jump to Label_BUZZ if 0 [4,4,4]
NSSSSN Create Label_RETURN_BUZZ [4,4,4]
SSSTTSSTSSN Push 100 [4,4,4,100]
TSST Subtract (4-100) [4,4,-96]
NTSTTTN Jump to Label_EXIT if 0 [4,4]
NSTTTTTN Call Label_PRINT_INT [4,4]
NSSTTTTN Create Label_PRINT_INT [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSSTN Jump to Label_RETURN if 0 [4,4]
SNS Duplicate (4) [4,4,4]
SSSTSTN Push 5 [4,4,4,5]
TSTT Modulo (4%5) [4,4,4]
NTSSTN Jump to Label_RETURN if 0 [4,4]
TNST Print as integer [4] 4
NTN Return [4]
SSSTSTSN Push 10 [4,10]
TNSS Print as character [4] \n
NSNN Jump to Label_LOOP [4]
SSSTN Push 1 [4,1]
TSSS Add (4+1) [5]
SNS Duplicate (5) [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSTN Jump to Label_FIZZ if 0 [5,5]
NSSSSN Create Label_RETURN_FIZZ [5,5]
SNS Duplicate (5) [5,5,5]
SNS Duplicate (5) [5,5,5,5]
SSSTSTN Push 5 [5,5,5,5,5]
TSTT Modulo (5%5) [5,5,5,0]
NTSTTN Jump to Label_BUZZ if 0 [5,5,5]
NSSTTN Create Label_BUZZ [5,5,5]
SSSTSSSSTSN Push 66 [5,5,5,66]
TNSS Print as character [5,5,5] B
SSSTTTSTSTN Push 117 [5,5,5,117]
TNSS Print as character [5,5,5] u
SSSTTTTSTSN Push 122 [5,5,5,122]
SNS Duplicate (122) [5,5,5,122,122]
TNSS Print as character [5,5,5,122] z
TNSS Print as character [5,5,5] z
NSNS Jump to Label_RETURN_FIZZ [5,5,5]
NSSSSN Create Label_RETURN_BUZZ [5,5,5]
SSSTTSSTSSN Push 100 [5,5,5,100]
TSST Subtract (5-100) [5,5,-95]
NTSTTTN Jump to Label_EXIT if 0 [5,5]
NSTTTTTN Call Label_PRINT_INT [5,5]
NSSTTTTN Create Label_PRINT_INT [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSSTN Jump to Label_RETURN if 0 [5,5]
SNS Duplicate (5) [5,5,5]
SSSTSTN Push 5 [5,5,5,5]
TSTT Modulo (4%5) [5,5,0]
NTSSTN Jump to Label_RETURN if 0 [5,5]
... etc. etc.
SSSTN Push 1 [99,1]
TSSS Add (99+1) [100]
SNS Duplicate (100) [100,100]
SNS Duplicate (100) [100,100,100]
SSSTTN Push 3 [100,100,100,3]
TSTT Modulo (100%3) [100,100,1]
NTSTN Jump to Label_FIZZ if 0 [100,100]
NSSSSN Create Label_RETURN_FIZZ [100,100]
SNS Duplicate (100) [100,100,100]
SNS Duplicate (100) [100,100,100,100]
SSSTSTN Push 5 [100,100,100,100,5]
TSTT Modulo (100%5) [100,100,100,0]
NTSTTN Jump to Label_BUZZ if 0 [100,100,100]
NSSTTN Create Label_BUZZ [100,100,100]
SSSTSSSSTSN Push 66 [100,100,100,66]
TNSS Print as character [100,100,100] B
SSSTTTSTSTN Push 117 [100,100,100,117]
TNSS Print as character [100,100,100] u
SSSTTTTSTSN Push 122 [100,100,100,122]
SNS Duplicate (122) [100,100,100,122,122]
TNSS Print as character [100,100,100,122] z
TNSS Print as character [100,100,100] z
NSNS Jump to Label_RETURN_FIZZ [100,100,100]
NSSSSN Create Label_RETURN_BUZZ [100,100,100]
SSSTTSSTSSN Push 100 [100,100,100,100]
TSST Subtract (100-100) [100,100,0]
NTSTTTN Jump to Label_EXIT if 0 [100,100] error
#Whitespace, 306 bytes
[S S N
_Push_0][N
S S N
_Create_Label_LOOP][S S S T N
_Push_1][T S S S _Add][S N
S _Duplicate][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S T N
_Jump_to_Label_FIZZ_if_0][N
S S S N
_Create_Label_RETURN_FIZZ][S N
S _Duplicate][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S T T N
_Jump_to_Label_BUZZ_if_0][N
S S S S N
_Create_Label_RETURN_BUZZ][S S S T T S S T S S N
_Push_100][T S S T _Subtract][N
T S T T T N
_Jump_to_Label_EXIT_WITH_ERROR_if_0][N
S T T T T T N
_Call_Label_PRINT_INT][S S S T S T S N
_Push_10][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP][N
S S T
_Create_Label_FIZZ][S S S T S S S T T S N
_Push_70][T N
S S _Print_as_character][S S S T T S T S S T N
_Push_105][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S
_Return_to_Label_FIZZ_RETURN][N
S S T T N
_Create_Label_BUZZ][S S S T S S S S T S N
_Push_66][T N
S S _Print_as_character][S S S T T T S T S T N
_Push_117][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S S N
_Return_to_Label_BUZZ_RETURN][N
S S T T T T N
_Create_Label_PRINT_INT][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][T N
S T _Print_as_integer][N
T N
_Return][N
S S S T N
_Create_Label_RETURN][N
T N
_Return]
Try it online by copying the raw code from the TIO link. (Doesn't work on TIO again for some reason.. I really need to learn how to Label and Jump to Labels better, because I have the feeling I and this compiler I'm using are both doing something wrong, which is why it isn't working on TIO..)
Command Explanation Stack STDOUT STDERR
SSN Push 0 [0]
NSSN Create Label_LOOP [0]
SSSTN Push 1 [0,1]
TSSS Add (0+1) [1]
SNS Duplicate (1) [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSTN Jump to Label_FIZZ if 0 [1,1]
NSSSSN Create Label_RETURN_FIZZ [1,1]
SNS Duplicate (1) [1,1,1]
SNS Duplicate (1) [1,1,1,1]
SSSTSTn Push 5 [1,1,1,1,5]
TSTT Modulo (1%5) [1,1,1,1]
NTSTTN Jump to Label_BUZZ if 0 [1,1,1]
NSSSSN Create Label_RETURN_BUZZ [1,1,1]
SSSTTSSTSSN Push 100 [1,1,1,100]
TSST Subtract (1-100) [1,1,-99]
NTSTTTN Jump to Label_EXIT if 0 [1,1]
NSTTTTTN Call Label_PRINT_INT [1,1]
NSSTTTTN Create Label_PRINT_INT [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
SNS Duplicate (1) [1,1,1]
SSSTSTN Push 5 [1,1,1,5]
TSTT Modulo (1%5) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
TNST Print as integer [1] 1
NTN Return [1]
SSSTSTSN Push 10 [1,10]
TNSS Print as character [1] \n
NSNN Jump to Label_LOOP [1]
SSSTN Push 1 [1,1]
TSSS Add (1+1) [2]
SNS Duplicate (2) [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSTN Jump to Label_FIZZ if 0 [2,2]
NSSSSN Create Label_RETURN_FIZZ [2,2]
SNS Duplicate (2) [2,2,2]
SNS Duplicate (2) [2,2,2,2]
SSSTSTn Push 5 [2,2,2,2,5]
TSTT Modulo (2%5) [2,2,2,2]
NTSTTN Jump to Label_BUZZ if 0 [2,2,2]
NSSSSN Create Label_RETURN_BUZZ [2,2,2]
SSSTTSSTSSN Push 100 [2,2,2,100]
TSST Subtract (2-100) [2,2,-98]
NTSTTTN Jump to Label_EXIT if 0 [2,2]
NSTTTTTN Call Label_PRINT_INT [2,2]
NSSTTTTN Create Label_PRINT_INT [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
SNS Duplicate (2) [2,2,2]
SSSTSTN Push 5 [2,2,2,5]
TSTT Modulo (2%5) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
TNST Print as integer [2] 2
NTN Return [2]
SSSTSTSN Push 10 [2,10]
TNSS Print as character [2] \n
NSNN Jump to Label_LOOP [2]
SSSTN Push 1 [2,1]
TSSS Add (3+1) [3]
SNS Duplicate (3) [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSTN Jump to Label_FIZZ if 0 [3,3]
NSST Create Label_FIZZ [3,3]
SNS Duplicate (3) [3,3,3]
SNS Duplicate (3) [3,3,3,3]
SSSTSSSTTSN Push 70 [3,3,3,3,70]
TNSS Print as character [3,3,3,3] F
SSSTTSTSSTN Push 105 [3,3,3,3,122]
TNSS Print as character [3,3,3,3] i
SSSTTTTSTSN Push 122 [3,3,3,3,122]
SNS Duplicate (122) [3,3,3,3,122,122]
TNSS Print as character [3,3,3,3,122] z
TNSS Print as character [3,3,3,3] z
NSNS Jump to Label_RETURN_FIZZ [3,3,3,3]
NSSSSN Create Label_RETURN_FIZZ [3,3,3,3]
SSSTSTN Push 5 [3,3,3,3,5]
TSTT Modulo (3%5) [3,3,3,3]
NTSTTN Jump to Label_BUZZ if 0 [3,3,3]
NSSSSN Create Label_RETURN_BUZZ [3,3,3]
SSSTTSSTSSN Push 100 [3,3,3,100]
TSST Subtract (3-100) [3,3,-97]
NTSTTTN Jump to Label_EXIT if 0 [3,3]
NSTTTTTN Call Label_PRINT_INT [3,3]
NSSTTTTN Create Label_PRINT_INT [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSSTN Jump to Label_RETURN if 0 [3,3]
Stack contains additional leading [3, but we'll ignore it in this explanation
SSSTN Push 1 [3,1]
TSSS Add (3+1) [4]
SNS Duplicate (4) [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSTN Jump to Label_FIZZ if 0 [4,4]
NSSSSN Create Label_RETURN_FIZZ [4,4]
SNS Duplicate (4) [4,4,4]
SNS Duplicate (4) [4,4,4,4]
SSSTSTN Push 5 [4,4,4,4,5]
TSTT Modulo (4%5) [4,4,4,4]
NTSTTN Jump to Label_BUZZ if 0 [4,4,4]
NSSSSN Create Label_RETURN_BUZZ [4,4,4]
SSSTTSSTSSN Push 100 [4,4,4,100]
TSST Subtract (4-100) [4,4,-96]
NTSTTTN Jump to Label_EXIT if 0 [4,4]
NSTTTTTN Call Label_PRINT_INT [4,4]
NSSTTTTN Create Label_PRINT_INT [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSSTN Jump to Label_RETURN if 0 [4,4]
SNS Duplicate (4) [4,4,4]
SSSTSTN Push 5 [4,4,4,5]
TSTT Modulo (4%5) [4,4,4]
NTSSTN Jump to Label_RETURN if 0 [4,4]
TNST Print as integer [4] 4
NTN Return [4]
SSSTSTSN Push 10 [4,10]
TNSS Print as character [4] \n
NSNN Jump to Label_LOOP [4]
SSSTN Push 1 [4,1]
TSSS Add (4+1) [5]
SNS Duplicate (5) [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSTN Jump to Label_FIZZ if 0 [5,5]
NSSSSN Create Label_RETURN_FIZZ [5,5]
SNS Duplicate (5) [5,5,5]
SNS Duplicate (5) [5,5,5,5]
SSSTSTN Push 5 [5,5,5,5,5]
TSTT Modulo (5%5) [5,5,5,0]
NTSTTN Jump to Label_BUZZ if 0 [5,5,5]
NSSTTN Create Label_BUZZ [5,5,5]
SSSTSSSSTSN Push 66 [5,5,5,66]
TNSS Print as character [5,5,5] B
SSSTTTSTSTN Push 117 [5,5,5,117]
TNSS Print as character [5,5,5] u
SSSTTTTSTSN Push 122 [5,5,5,122]
SNS Duplicate (122) [5,5,5,122,122]
TNSS Print as character [5,5,5,122] z
TNSS Print as character [5,5,5] z
NSNS Jump to Label_RETURN_FIZZ [5,5,5]
NSSSSN Create Label_RETURN_BUZZ [5,5,5]
SSSTTSSTSSN Push 100 [5,5,5,100]
TSST Subtract (5-100) [5,5,-95]
NTSTTTN Jump to Label_EXIT if 0 [5,5]
NSTTTTTN Call Label_PRINT_INT [5,5]
NSSTTTTN Create Label_PRINT_INT [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSSTN Jump to Label_RETURN if 0 [5,5]
SNS Duplicate (5) [5,5,5]
SSSTSTN Push 5 [5,5,5,5]
TSTT Modulo (4%5) [5,5,0]
NTSSTN Jump to Label_RETURN if 0 [5,5]
... etc. etc.
SSSTN Push 1 [99,1]
TSSS Add (99+1) [100]
SNS Duplicate (100) [100,100]
SNS Duplicate (100) [100,100,100]
SSSTTN Push 3 [100,100,100,3]
TSTT Modulo (100%3) [100,100,1]
NTSTN Jump to Label_FIZZ if 0 [100,100]
NSSSSN Create Label_RETURN_FIZZ [100,100]
SNS Duplicate (100) [100,100,100]
SNS Duplicate (100) [100,100,100,100]
SSSTSTN Push 5 [100,100,100,100,5]
TSTT Modulo (100%5) [100,100,100,0]
NTSTTN Jump to Label_BUZZ if 0 [100,100,100]
NSSTTN Create Label_BUZZ [100,100,100]
SSSTSSSSTSN Push 66 [100,100,100,66]
TNSS Print as character [100,100,100] B
SSSTTTSTSTN Push 117 [100,100,100,117]
TNSS Print as character [100,100,100] u
SSSTTTTSTSN Push 122 [100,100,100,122]
SNS Duplicate (122) [100,100,100,122,122]
TNSS Print as character [100,100,100,122] z
TNSS Print as character [100,100,100] z
NSNS Jump to Label_RETURN_FIZZ [100,100,100]
NSSSSN Create Label_RETURN_BUZZ [100,100,100]
SSSTTSSTSSN Push 100 [100,100,100,100]
TSST Subtract (100-100) [100,100,0]
NTSTTTN Jump to Label_EXIT if 0 [100,100] error
#Whitespace, 307 bytes
[S S S N
_Push_0][N
S S N
_Create_Label_LOOP][S S S T N
_Push_1][T S S S _Add][S N
S _Duplicate][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S T N
_Jump_to_Label_FIZZ_if_0][N
S S S N
_Create_Label_RETURN_FIZZ][S N
S _Duplicate][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S T T N
_Jump_to_Label_BUZZ_if_0][N
S S S S N
_Create_Label_RETURN_BUZZ][S S S T T S S T S S N
_Push_100][T S S T _Subtract][N
T S T T T N
_Jump_to_Label_EXIT_WITH_ERROR_if_0][N
S T T T T T N
_Call_Label_PRINT_INT][S S S T S T S N
_Push_10][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP][N
S S T
_Create_Label_FIZZ][S S S T S S S T T S N
_Push_70][T N
S S _Print_as_character][S S S T T S T S S T N
_Push_105][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S
_Return_to_Label_FIZZ_RETURN][N
S S T T N
_Create_Label_BUZZ][S S S T S S S S T S N
_Push_66][T N
S S _Print_as_character][S S S T T T S T S T N
_Push_117][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S S N
_Return_to_Label_BUZZ_RETURN][N
S S T T T T N
_Create_Label_PRINT_INT][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][T N
S T _Print_as_integer][N
T N
_Return][N
S S S T N
_Create_Label_RETURN][N
T N
_Return]
Try it online (with raw spaces, tabs and new-lines only).
EDIT: Fixed TIO version. Will try to golf it some more later.
Command Explanation Stack STDOUT STDERR
SSSN Push 0 [0]
NSSN Create Label_LOOP [0]
SSSTN Push 1 [0,1]
TSSS Add (0+1) [1]
SNS Duplicate (1) [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSTN Jump to Label_FIZZ if 0 [1,1]
NSSSSN Create Label_RETURN_FIZZ [1,1]
SNS Duplicate (1) [1,1,1]
SNS Duplicate (1) [1,1,1,1]
SSSTSTn Push 5 [1,1,1,1,5]
TSTT Modulo (1%5) [1,1,1,1]
NTSTTN Jump to Label_BUZZ if 0 [1,1,1]
NSSSSN Create Label_RETURN_BUZZ [1,1,1]
SSSTTSSTSSN Push 100 [1,1,1,100]
TSST Subtract (1-100) [1,1,-99]
NTSTTTN Jump to Label_EXIT if 0 [1,1]
NSTTTTTN Call Label_PRINT_INT [1,1]
NSSTTTTN Create Label_PRINT_INT [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
SNS Duplicate (1) [1,1,1]
SSSTSTN Push 5 [1,1,1,5]
TSTT Modulo (1%5) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
TNST Print as integer [1] 1
NTN Return [1]
SSSTSTSN Push 10 [1,10]
TNSS Print as character [1] \n
NSNN Jump to Label_LOOP [1]
SSSTN Push 1 [1,1]
TSSS Add (1+1) [2]
SNS Duplicate (2) [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSTN Jump to Label_FIZZ if 0 [2,2]
NSSSSN Create Label_RETURN_FIZZ [2,2]
SNS Duplicate (2) [2,2,2]
SNS Duplicate (2) [2,2,2,2]
SSSTSTn Push 5 [2,2,2,2,5]
TSTT Modulo (2%5) [2,2,2,2]
NTSTTN Jump to Label_BUZZ if 0 [2,2,2]
NSSSSN Create Label_RETURN_BUZZ [2,2,2]
SSSTTSSTSSN Push 100 [2,2,2,100]
TSST Subtract (2-100) [2,2,-98]
NTSTTTN Jump to Label_EXIT if 0 [2,2]
NSTTTTTN Call Label_PRINT_INT [2,2]
NSSTTTTN Create Label_PRINT_INT [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
SNS Duplicate (2) [2,2,2]
SSSTSTN Push 5 [2,2,2,5]
TSTT Modulo (2%5) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
TNST Print as integer [2] 2
NTN Return [2]
SSSTSTSN Push 10 [2,10]
TNSS Print as character [2] \n
NSNN Jump to Label_LOOP [2]
SSSTN Push 1 [2,1]
TSSS Add (3+1) [3]
SNS Duplicate (3) [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSTN Jump to Label_FIZZ if 0 [3,3]
NSST Create Label_FIZZ [3,3]
SNS Duplicate (3) [3,3,3]
SNS Duplicate (3) [3,3,3,3]
SSSTSSSTTSN Push 70 [3,3,3,3,70]
TNSS Print as character [3,3,3,3] F
SSSTTSTSSTN Push 105 [3,3,3,3,122]
TNSS Print as character [3,3,3,3] i
SSSTTTTSTSN Push 122 [3,3,3,3,122]
SNS Duplicate (122) [3,3,3,3,122,122]
TNSS Print as character [3,3,3,3,122] z
TNSS Print as character [3,3,3,3] z
NSNS Jump to Label_RETURN_FIZZ [3,3,3,3]
NSSSSN Create Label_RETURN_FIZZ [3,3,3,3]
SSSTSTN Push 5 [3,3,3,3,5]
TSTT Modulo (3%5) [3,3,3,3]
NTSTTN Jump to Label_BUZZ if 0 [3,3,3]
NSSSSN Create Label_RETURN_BUZZ [3,3,3]
SSSTTSSTSSN Push 100 [3,3,3,100]
TSST Subtract (3-100) [3,3,-97]
NTSTTTN Jump to Label_EXIT if 0 [3,3]
NSTTTTTN Call Label_PRINT_INT [3,3]
NSSTTTTN Create Label_PRINT_INT [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSSTN Jump to Label_RETURN if 0 [3,3]
Stack contains additional leading [3, but we'll ignore it in this explanation
SSSTN Push 1 [3,1]
TSSS Add (3+1) [4]
SNS Duplicate (4) [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSTN Jump to Label_FIZZ if 0 [4,4]
NSSSSN Create Label_RETURN_FIZZ [4,4]
SNS Duplicate (4) [4,4,4]
SNS Duplicate (4) [4,4,4,4]
SSSTSTN Push 5 [4,4,4,4,5]
TSTT Modulo (4%5) [4,4,4,4]
NTSTTN Jump to Label_BUZZ if 0 [4,4,4]
NSSSSN Create Label_RETURN_BUZZ [4,4,4]
SSSTTSSTSSN Push 100 [4,4,4,100]
TSST Subtract (4-100) [4,4,-96]
NTSTTTN Jump to Label_EXIT if 0 [4,4]
NSTTTTTN Call Label_PRINT_INT [4,4]
NSSTTTTN Create Label_PRINT_INT [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSSTN Jump to Label_RETURN if 0 [4,4]
SNS Duplicate (4) [4,4,4]
SSSTSTN Push 5 [4,4,4,5]
TSTT Modulo (4%5) [4,4,4]
NTSSTN Jump to Label_RETURN if 0 [4,4]
TNST Print as integer [4] 4
NTN Return [4]
SSSTSTSN Push 10 [4,10]
TNSS Print as character [4] \n
NSNN Jump to Label_LOOP [4]
SSSTN Push 1 [4,1]
TSSS Add (4+1) [5]
SNS Duplicate (5) [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSTN Jump to Label_FIZZ if 0 [5,5]
NSSSSN Create Label_RETURN_FIZZ [5,5]
SNS Duplicate (5) [5,5,5]
SNS Duplicate (5) [5,5,5,5]
SSSTSTN Push 5 [5,5,5,5,5]
TSTT Modulo (5%5) [5,5,5,0]
NTSTTN Jump to Label_BUZZ if 0 [5,5,5]
NSSTTN Create Label_BUZZ [5,5,5]
SSSTSSSSTSN Push 66 [5,5,5,66]
TNSS Print as character [5,5,5] B
SSSTTTSTSTN Push 117 [5,5,5,117]
TNSS Print as character [5,5,5] u
SSSTTTTSTSN Push 122 [5,5,5,122]
SNS Duplicate (122) [5,5,5,122,122]
TNSS Print as character [5,5,5,122] z
TNSS Print as character [5,5,5] z
NSNS Jump to Label_RETURN_FIZZ [5,5,5]
NSSSSN Create Label_RETURN_BUZZ [5,5,5]
SSSTTSSTSSN Push 100 [5,5,5,100]
TSST Subtract (5-100) [5,5,-95]
NTSTTTN Jump to Label_EXIT if 0 [5,5]
NSTTTTTN Call Label_PRINT_INT [5,5]
NSSTTTTN Create Label_PRINT_INT [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSSTN Jump to Label_RETURN if 0 [5,5]
SNS Duplicate (5) [5,5,5]
SSSTSTN Push 5 [5,5,5,5]
TSTT Modulo (4%5) [5,5,0]
NTSSTN Jump to Label_RETURN if 0 [5,5]
... etc. etc.
SSSTN Push 1 [99,1]
TSSS Add (99+1) [100]
SNS Duplicate (100) [100,100]
SNS Duplicate (100) [100,100,100]
SSSTTN Push 3 [100,100,100,3]
TSTT Modulo (100%3) [100,100,1]
NTSTN Jump to Label_FIZZ if 0 [100,100]
NSSSSN Create Label_RETURN_FIZZ [100,100]
SNS Duplicate (100) [100,100,100]
SNS Duplicate (100) [100,100,100,100]
SSSTSTN Push 5 [100,100,100,100,5]
TSTT Modulo (100%5) [100,100,100,0]
NTSTTN Jump to Label_BUZZ if 0 [100,100,100]
NSSTTN Create Label_BUZZ [100,100,100]
SSSTSSSSTSN Push 66 [100,100,100,66]
TNSS Print as character [100,100,100] B
SSSTTTSTSTN Push 117 [100,100,100,117]
TNSS Print as character [100,100,100] u
SSSTTTTSTSN Push 122 [100,100,100,122]
SNS Duplicate (122) [100,100,100,122,122]
TNSS Print as character [100,100,100,122] z
TNSS Print as character [100,100,100] z
NSNS Jump to Label_RETURN_FIZZ [100,100,100]
NSSSSN Create Label_RETURN_BUZZ [100,100,100]
SSSTTSSTSSN Push 100 [100,100,100,100]
TSST Subtract (100-100) [100,100,0]
NTSTTTN Jump to Label_EXIT if 0 [100,100] error
#Whitespace, 306 bytes
[S S N
_Push_0][N
S S N
_Create_Label_LOOP][S S S T N
_Push_1][T S S S _Add][S N
S _Duplicate][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S T N
_Jump_to_Label_FIZZ_if_0][N
S S S N
_Create_Label_RETURN_FIZZ][S N
S _Duplicate][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S T T N
_Jump_to_Label_BUZZ_if_0][N
S S S S N
_Create_Label_RETURN_BUZZ][S S S T T S S T S S N
_Push_100][T S S T _Subtract][N
T S T T T N
_Jump_to_Label_EXIT_WITH_ERROR_if_0][N
S T T T T T N
_Call_Label_PRINT_INT][S S S T S T S N
_Push_10][T N
S S _Print_as_character][N
S N
N
_Jump_to_Label_LOOP][N
S S T
_Create_Label_FIZZ][S S S T S S S T T S N
_Push_70][T N
S S _Print_as_character][S S S T T S T S S T N
_Push_105][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S
_Return_to_Label_FIZZ_RETURN][N
S S T T N
_Create_Label_BUZZ][S S S T S S S S T S N
_Push_66][T N
S S _Print_as_character][S S S T T T S T S T N
_Push_117][T N
S S _Print_as_character][S S S T T T T S T S N
_Push_122][S N
S _Duplicate][T N
S S _Print_as_character][T N
S S _Print_as_character][N
S N
S S N
_Return_to_Label_BUZZ_RETURN][N
S S T T T T N
_Create_Label_PRINT_INT][S N
S _Duplicate][S S S T T N
_Push_3][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][S N
S _Duplicate][S S S T S T N
_Push_5][T S T T _Modulo][N
T S S T N
_Jump_to_Label_LOOP_if_0][T N
S T _Print_as_integer][N
T N
_Return][N
S S S T N
_Create_Label_RETURN][N
T N
_Return]
Letters S (space), T (tab), and N (new-line) added as highlighting only.
[..._some_action] added as explanation only.
Try it online by copying the raw code from the TIO link. (Doesn't work on TIO again for some reason.. I really need to learn how to Label and Jump to Labels better, because I have the feeling I and this compiler I'm using are both doing something wrong, which is why it isn't working on TIO..)
Can definitely be golfed. If-checks are rather annoying in Whitespace, and I still have to get used to them some more.
General explanation in Pseudo-code:
Integer i = 0
Start LOOP
Increase i by 1
If i modulo 3 is 0: Call function FIZZ()
If i modulo 5 is 0: Call function BUZZ()
If i is 100: Stop program
Call function PRINT_INT(i)
Print new-line
Go to next iteration of the LOOP
function FIZZ():
Print "Fizz"
Return
function BUZZ():
Print "Buzz"
Return
function PRINT_INT(integer i):
If i modulo 3 is 0: Return
If i modulo 5 is 0: Return
Print i
Return
Example run:
Command Explanation Stack STDOUT STDERR
SSN Push 0 [0]
NSSN Create Label_LOOP [0]
SSSTN Push 1 [0,1]
TSSS Add (0+1) [1]
SNS Duplicate (1) [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSTN Jump to Label_FIZZ if 0 [1,1]
NSSSSN Create Label_RETURN_FIZZ [1,1]
SNS Duplicate (1) [1,1,1]
SNS Duplicate (1) [1,1,1,1]
SSSTSTn Push 5 [1,1,1,1,5]
TSTT Modulo (1%5) [1,1,1,1]
NTSTTN Jump to Label_BUZZ if 0 [1,1,1]
NSSSSN Create Label_RETURN_BUZZ [1,1,1]
SSSTTSSTSSN Push 100 [1,1,1,100]
TSST Subtract (1-100) [1,1,-99]
NTSTTTN Jump to Label_EXIT if 0 [1,1]
NSTTTTTN Call Label_PRINT_INT [1,1]
NSSTTTTN Create Label_PRINT_INT [1,1]
SNS Duplicate (1) [1,1,1]
SSSTTN Push 3 [1,1,1,3]
TSTT Modulo (1%3) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
SNS Duplicate (1) [1,1,1]
SSSTSTN Push 5 [1,1,1,5]
TSTT Modulo (1%5) [1,1,1]
NTSSTN Jump to Label_RETURN if 0 [1,1]
TNST Print as integer [1] 1
NTN Return [1]
SSSTSTSN Push 10 [1,10]
TNSS Print as character [1] \n
NSNN Jump to Label_LOOP [1]
SSSTN Push 1 [1,1]
TSSS Add (1+1) [2]
SNS Duplicate (2) [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSTN Jump to Label_FIZZ if 0 [2,2]
NSSSSN Create Label_RETURN_FIZZ [2,2]
SNS Duplicate (2) [2,2,2]
SNS Duplicate (2) [2,2,2,2]
SSSTSTn Push 5 [2,2,2,2,5]
TSTT Modulo (2%5) [2,2,2,2]
NTSTTN Jump to Label_BUZZ if 0 [2,2,2]
NSSSSN Create Label_RETURN_BUZZ [2,2,2]
SSSTTSSTSSN Push 100 [2,2,2,100]
TSST Subtract (2-100) [2,2,-98]
NTSTTTN Jump to Label_EXIT if 0 [2,2]
NSTTTTTN Call Label_PRINT_INT [2,2]
NSSTTTTN Create Label_PRINT_INT [2,2]
SNS Duplicate (2) [2,2,2]
SSSTTN Push 3 [2,2,2,3]
TSTT Modulo (2%3) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
SNS Duplicate (2) [2,2,2]
SSSTSTN Push 5 [2,2,2,5]
TSTT Modulo (2%5) [2,2,2]
NTSSTN Jump to Label_RETURN if 0 [2,2]
TNST Print as integer [2] 2
NTN Return [2]
SSSTSTSN Push 10 [2,10]
TNSS Print as character [2] \n
NSNN Jump to Label_LOOP [2]
SSSTN Push 1 [2,1]
TSSS Add (3+1) [3]
SNS Duplicate (3) [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSTN Jump to Label_FIZZ if 0 [3,3]
NSST Create Label_FIZZ [3,3]
SNS Duplicate (3) [3,3,3]
SNS Duplicate (3) [3,3,3,3]
SSSTSSSTTSN Push 70 [3,3,3,3,70]
TNSS Print as character [3,3,3,3] F
SSSTTSTSSTN Push 105 [3,3,3,3,122]
TNSS Print as character [3,3,3,3] i
SSSTTTTSTSN Push 122 [3,3,3,3,122]
SNS Duplicate (122) [3,3,3,3,122,122]
TNSS Print as character [3,3,3,3,122] z
TNSS Print as character [3,3,3,3] z
NSNS Jump to Label_RETURN_FIZZ [3,3,3,3]
NSSSSN Create Label_RETURN_FIZZ [3,3,3,3]
SSSTSTN Push 5 [3,3,3,3,5]
TSTT Modulo (3%5) [3,3,3,3]
NTSTTN Jump to Label_BUZZ if 0 [3,3,3]
NSSSSN Create Label_RETURN_BUZZ [3,3,3]
SSSTTSSTSSN Push 100 [3,3,3,100]
TSST Subtract (3-100) [3,3,-97]
NTSTTTN Jump to Label_EXIT if 0 [3,3]
NSTTTTTN Call Label_PRINT_INT [3,3]
NSSTTTTN Create Label_PRINT_INT [3,3]
SNS Duplicate (3) [3,3,3]
SSSTTN Push 3 [3,3,3,3]
TSTT Modulo (3%3) [3,3,0]
NTSSTN Jump to Label_RETURN if 0 [3,3]
Stack contains additional leading [3, but we'll ignore it in this explanation
SSSTN Push 1 [3,1]
TSSS Add (3+1) [4]
SNS Duplicate (4) [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSTN Jump to Label_FIZZ if 0 [4,4]
NSSSSN Create Label_RETURN_FIZZ [4,4]
SNS Duplicate (4) [4,4,4]
SNS Duplicate (4) [4,4,4,4]
SSSTSTN Push 5 [4,4,4,4,5]
TSTT Modulo (4%5) [4,4,4,4]
NTSTTN Jump to Label_BUZZ if 0 [4,4,4]
NSSSSN Create Label_RETURN_BUZZ [4,4,4]
SSSTTSSTSSN Push 100 [4,4,4,100]
TSST Subtract (4-100) [4,4,-96]
NTSTTTN Jump to Label_EXIT if 0 [4,4]
NSTTTTTN Call Label_PRINT_INT [4,4]
NSSTTTTN Create Label_PRINT_INT [4,4]
SNS Duplicate (4) [4,4,4]
SSSTTN Push 3 [4,4,4,3]
TSTT Modulo (4%3) [4,4,1]
NTSSTN Jump to Label_RETURN if 0 [4,4]
SNS Duplicate (4) [4,4,4]
SSSTSTN Push 5 [4,4,4,5]
TSTT Modulo (4%5) [4,4,4]
NTSSTN Jump to Label_RETURN if 0 [4,4]
TNST Print as integer [4] 4
NTN Return [4]
SSSTSTSN Push 10 [4,10]
TNSS Print as character [4] \n
NSNN Jump to Label_LOOP [4]
SSSTN Push 1 [4,1]
TSSS Add (4+1) [5]
SNS Duplicate (5) [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSTN Jump to Label_FIZZ if 0 [5,5]
NSSSSN Create Label_RETURN_FIZZ [5,5]
SNS Duplicate (5) [5,5,5]
SNS Duplicate (5) [5,5,5,5]
SSSTSTN Push 5 [5,5,5,5,5]
TSTT Modulo (5%5) [5,5,5,0]
NTSTTN Jump to Label_BUZZ if 0 [5,5,5]
NSSTTN Create Label_BUZZ [5,5,5]
SSSTSSSSTSN Push 66 [5,5,5,66]
TNSS Print as character [5,5,5] B
SSSTTTSTSTN Push 117 [5,5,5,117]
TNSS Print as character [5,5,5] u
SSSTTTTSTSN Push 122 [5,5,5,122]
SNS Duplicate (122) [5,5,5,122,122]
TNSS Print as character [5,5,5,122] z
TNSS Print as character [5,5,5] z
NSNS Jump to Label_RETURN_FIZZ [5,5,5]
NSSSSN Create Label_RETURN_BUZZ [5,5,5]
SSSTTSSTSSN Push 100 [5,5,5,100]
TSST Subtract (5-100) [5,5,-95]
NTSTTTN Jump to Label_EXIT if 0 [5,5]
NSTTTTTN Call Label_PRINT_INT [5,5]
NSSTTTTN Create Label_PRINT_INT [5,5]
SNS Duplicate (5) [5,5,5]
SSSTTN Push 3 [5,5,5,3]
TSTT Modulo (5%3) [5,5,2]
NTSSTN Jump to Label_RETURN if 0 [5,5]
SNS Duplicate (5) [5,5,5]
SSSTSTN Push 5 [5,5,5,5]
TSTT Modulo (4%5) [5,5,0]
NTSSTN Jump to Label_RETURN if 0 [5,5]
... etc. etc.
SSSTN Push 1 [99,1]
TSSS Add (99+1) [100]
SNS Duplicate (100) [100,100]
SNS Duplicate (100) [100,100,100]
SSSTTN Push 3 [100,100,100,3]
TSTT Modulo (100%3) [100,100,1]
NTSTN Jump to Label_FIZZ if 0 [100,100]
NSSSSN Create Label_RETURN_FIZZ [100,100]
SNS Duplicate (100) [100,100,100]
SNS Duplicate (100) [100,100,100,100]
SSSTSTN Push 5 [100,100,100,100,5]
TSTT Modulo (100%5) [100,100,100,0]
NTSTTN Jump to Label_BUZZ if 0 [100,100,100]
NSSTTN Create Label_BUZZ [100,100,100]
SSSTSSSSTSN Push 66 [100,100,100,66]
TNSS Print as character [100,100,100] B
SSSTTTSTSTN Push 117 [100,100,100,117]
TNSS Print as character [100,100,100] u
SSSTTTTSTSN Push 122 [100,100,100,122]
SNS Duplicate (122) [100,100,100,122,122]
TNSS Print as character [100,100,100,122] z
TNSS Print as character [100,100,100] z
NSNS Jump to Label_RETURN_FIZZ [100,100,100]
NSSSSN Create Label_RETURN_BUZZ [100,100,100]
SSSTTSSTSSN Push 100 [100,100,100,100]
TSST Subtract (100-100) [100,100,0]
NTSTTTN Jump to Label_EXIT if 0 [100,100] error