rl ·
sorry for asking this again: What subset of the IA32/SSE instruction set is supported by the assembler module? Do I have more possibilities using the ASM module compared to the code module?
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
rl ·
sorry for asking this again: What subset of the IA32/SSE instruction set is supported by the assembler module? Do I have more possibilities using the ASM module compared to the code module?
malc ·
Hi rl,
Apologies - we must have missed this one (happens from time to time so feel free to bump).
The code component was designed to replace the Assembler component. The idea was to replace all the register handling with simple commands that were easier to use and produce code that was easier to follow.
The trade-off is that you do lose some flexibility with the Code component and so the answer to your question is yes, you do have more possibilities with the Assembler component. However, it's not as safe by a long way and it's fairly easy to make the software blow up if you do the wrong (it is low-level assembler after all).
With the assembler component you'll have:
1. Access to 32 bit x86 registers, 2. FPU instructions (although not all of them) 3. Access to memory
As far as commands are concerned, many of the standard ones are there as well as a few of our own (eg polyin, polyout ). Forgive the long list:
add addps and andnps andps call cmd cmp cmpps divps fadd fcos fild fist fistp fld float fmul fprem fptan frndint fsin fsincos fst fstp fsub fxch inc jnz jz maxps minps mov movaps mulps polyin polyout pop push rcpps shl stage subps
We haven't been supporting the Assembler component and that is most likely to continue. It does work though and many of the commands you'll need are there.
I hope this helps.
Tom7777 ·
wow thanks malc, this will help a lot 🙂
unkargherth ·
Do I missed something, malc, or no integer aritmethic nor support for integers vars included?
malc ·
Hi unkargherth,
(nice avatar by the way 🙂)
No, you haven't missed anything. Currently there is no support for integer arithmetic or variables in the code component. This will be coming though. I hope this doesn't restrict you too much in the meantime.
unkargherth ·
well. it's neraly imposible that anything restrict me more than my own lack of assembler knowledge. The comment was related to a very small thing that it have in mind. It's imposible to create a reasonably random number generator without integer aritmethic ( you know it needs interger overflow and so on...)
Anyway, not so important t all...
Wrote something here? To have a post removed or your name hidden, write to [email protected].