Page 1 of 1

Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Jul 04, 2020 11:39 am
by Spogg
A long time ago KG_is_back created a great resource for learning assembler in FlowStone. It was put on the Guru website which now doesn’t work.
I found this information really useful and learnt some basics at least.
There are two texts, one was about assembler and the other was about optimisation in assembler. There was also a pdf listing the available opcodes and a schematic he made with some useful tools.

I took it upon myself to proofread the documents, which involved correcting and improving the English. Then I combined the two texts into one document. I didn’t change any of the technical stuff.
Then I sent it to KG and he was appreciative, but wanted to improve on the technical stuff, after which he would post it. That never happened and he hasn’t visited the forum since January 2020.
So I decided to share it anyway, because it’s really good as it is.

Keep in mind that it’s not my work, and that it’s valid for FS3. I gather the FS4 alpha has extended the possibilities considerably.

I hope you find it useful.

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Jul 04, 2020 12:47 pm
by adamszabo
Nice one, thanks!

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Jul 04, 2020 1:45 pm
by tektoog
Yep, thanks for sharing ;)

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Mon Jul 13, 2020 7:51 pm
by HughBanton
Nice job, Spogg.

I've learned a ton of stuff from the Guru site, an absolute goldmine.

H

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Mon Aug 03, 2020 9:11 pm
by josevo
Thank you so much!

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Fri Aug 21, 2020 11:53 pm
by DSP-Robotron
Since the other Arp made in Ruby has performance issues and bugs and who knows what else, can that Arp be recreated in assembler ?

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Aug 22, 2020 8:14 am
by Spogg
DSP-Robotron wrote:...can that Arp be recreated in assembler ?

It’s an interesting question but I don’t think ASM can deal with MIDI. Maybe someone who knows ASM/Ruby better than me can respond.

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Aug 22, 2020 3:22 pm
by tulamide
Spogg wrote:
DSP-Robotron wrote:...can that Arp be recreated in assembler ?

It’s an interesting question but I don’t think ASM can deal with MIDI. Maybe someone who knows ASM/Ruby better than me can respond.

Assembler is a low level language, invented to directly communicate with the heart of a PC, which is the processor (nowadays, with combined functionality on one chip called CPU). The physical structure of a CPU (with cache, registors, memory lanes, etc.) is key to understanding Assembler. You can access registers, and do mathematical operations with the bits stored there, using memory to buffer results, by invoking instructions from a defined set that a processor understands (keywords are CISC, RISC, etc). Nothing more.

It's the genius of people like Martin that give this "simple" mechanism a meaning in the DSP world. But MIDI should be close to impossible to control by ASM, unless an access other than the red MIDI inputs/outputs is granted.

Re: Assembler (ASM) and optimisation tutorial by KG_is_back

PostPosted: Sat Aug 22, 2020 3:30 pm
by Spogg
tulamide wrote:... It's the genius of people like Martin that give this "simple" mechanism a meaning in the DSP world. But MIDI should be close to impossible to control by ASM, unless an access other than the red MIDI inputs/outputs is granted.


Thank you tulamide! :D

It's what I suspected simply because I'd never seen any midi stuff done in ASM and KG never mentioned it in his tutorial. But I wasn't completely sure.
Another point is that midi is very slow in comparison with ASM which is lightning fast, so there would probably be little to gain anyway.

Cheers!