I am looking for a way to convert some code into it's y86 equivalent. The problem is I am having trouble finding a good list of y86 functions. I can find some functions but not a good list of the main functions available. Does anyone know where I could find such a list?
Asked
Active
Viewed 1.2k times
6
-
Yes, it is but I am still having trouble finding where there is a list of commands. – Eman Oct 24 '12 at 18:12
-
@pst I looked but is there a list of instructions there? – Eman Oct 24 '12 at 18:15
-
1Voting to close as resource rec. – Ciro Santilli OurBigBook.com Jul 24 '16 at 07:04
2 Answers
5
See Chapter 4: Processor Design (Preview) which is from Computer Systems: A Programmers Perspective1 which has a great reference of all of the available functions. You have to scroll down a ways to find the reference. But it is there.
The instructions listed are:
halt
nop
rrmovl
irmovl
rmmovl
mrmovl
OPl (integer operation)
addl
subl
andl
xorl
jXXX (branch condition)
jmp
jle
jl
je
jne
jge
jg
cmovXX (data transfer condition)
cmovle
cmovl
cmove
cmovne
cmovge
cmovg
call
ret
pushl
popl
1 This was authored by Randal E. Bryant and David R. O’Hallaron, who wrote an earlier paper that omitted the Data Transfer Conditional operators.
-
+1 For the nice link. I was trying to source the authors/publication and came across an older/work draft that omitted the `cmovXX` instructions, so care should be taken in *what* y86 instructions - including any extensions - are available. – Oct 24 '12 at 20:55
4
This is easily the best resource I've found.
The document includes the instructions and their corresponding hex values, as well as setup code for someone writing y86 from scratch.

Jack Guy
- 8,346
- 8
- 55
- 86
-
Can you please take a look https://stackoverflow.com/questions/70919423/y86-instructions-set-create-confusion – Encipher Feb 03 '22 at 00:06