Hacker News new | ask | show | jobs
by stettberger 587 days ago
I had quite some fun implementing this at a very lovely lake in Sweden, while my colleagues were attending GPCE.
2 comments

That's absolutely hilarious, and a pretty fun hack.

By the way, if I understood you correctly, this sentence

> I'm still missing 5 opcodes (MULS, MULSU, FMUL, FMULS, FMULSU), but until now I did not encounter a C file, the AVR-GCC emits these opcodes.

could be rewritten as

> There are 5 opcodes that are not implemented (MULS, MULSU, FMUL, FMULS, FMULSU), as I have not yet encountered a C file for which AVR-GCC emits these opcodes.

The classic AVR instruction set does not include multiplication, you have to be targeting a device that supports AVRe+, such as an ATmega rather than an ATtiny. Try adding -mmcu=avr5 and it will show up pretty quick. Example: https://godbolt.org/z/x951M8fn8

Edit: nice work author, I love it!

> rather than an ATtiny

The new ATtiny 0/1/2-series parts are full AVRxt cores with a few instructions removed due to lack of need for large memory access. The classic terminology differentiating product lines isn't particularly useful anymore. ATtiny can multiply now.

> I had quite some fun implementing this at a very lovely lake in Sweden

Was there a wonderful telephone system and many interesting furry animals?