list of x86 instructions usable in assembler primitive?

DSP related issues, mathematics, processing and techniques
Post Reply
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

list of x86 instructions usable in assembler primitive?

Post by KG_is_back »

Is there a list of x86 instructions that work in assembler primitive? the list within component reference is clearly incomplete. Why do some instructions work and others don't?

for example PADDD (add packed 32bit integers) work, but PSUBD (subtract packed 32bit integer) does not work. Why? Is it because of compiler simply doesn't support it?
stw
Posts: 111
Joined: Tue Jul 13, 2010 11:09 am
Contact:

Re: list of x86 instructions usable in assembler primitive?

Post by stw »

There's a list of opcodes in the SynthMaker Wiki. Unfortunately the link on the homepage is redirected.
Anyway... here's the direct link to the article:

http://www.synthmaker.co.uk/dokuwiki/do ... of_opcodes

I don't know if there was anything added for FS.
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: list of x86 instructions usable in assembler primitive?

Post by KG_is_back »

and why only eax (and ebx if you push it on the stack before use and pop after it) is usable as reg and other registers (like ecx,edx) are not?
KimSteff
Posts: 31
Joined: Tue Dec 20, 2011 9:50 pm

Re: list of x86 instructions usable in assembler primitive?

Post by KimSteff »

Also. How do you declair procedure. you can call it and return from it but i just cant figur out to make one !
KG_is_back
Posts: 1196
Joined: Tue Oct 22, 2013 5:43 pm
Location: Slovakia

Re: list of x86 instructions usable in assembler primitive?

Post by KG_is_back »

KimSteff wrote:Also. How do you declair procedure. you can call it and return from it but i just cant figur out to make one !


If I get it right procedure is declared by a label (for example "procedure1), anywhere in the code and it should be jumped. When you enter instruction Call procedure1; code should jump to the procedure1 label and execute code followed by it until it finds ret; and returns to the position of call porcedure1;
However in this assembler instead of label Call finction is followed by a reg, which contains the position of the start of the procedure. But how the fck should I find that out?! :?
It should look like this, from what I know:

Code: Select all

jmp proceduredeclaration;  //the uncodnitional jump would also be very welcome to find in assembler
procedure1:
//code of the procedure
ret;
procedure declaration:
//codecodecodecode
call procedure1;
//codecodecodecode
KimSteff
Posts: 31
Joined: Tue Dec 20, 2011 9:50 pm

Re: list of x86 instructions usable in assembler primitive?

Post by KimSteff »

Well. I was acturly thinking about Assembler coding. And your 100% right about the jmp!
Post Reply