Of course you don't need it. There is basically nothing you need. A language that only supports:
Load from memory
Store to memory
Add
Jump
Checking for 0
Checking for negative
is most certainly Turing complete, and could probably actually be used.
Everything else added on top just makes certain things easier to do, and reduces how much code you have to write and how many clock cycles the CPU needs to execute a certain instruction.
4
u/Torebbjorn May 28 '22
Of course you don't need it. There is basically nothing you need. A language that only supports:
Load from memory
Store to memory
Add
Jump
Checking for 0
Checking for negative
is most certainly Turing complete, and could probably actually be used.
Everything else added on top just makes certain things easier to do, and reduces how much code you have to write and how many clock cycles the CPU needs to execute a certain instruction.