Much-Assembly-Required icon indicating copy to clipboard operation
Much-Assembly-Required copied to clipboard

Missing aliases for Jcc instruction family

Open kevinramharak opened this issue 6 years ago • 1 comments
trafficstars

Most instructions at http://www.ousob.com/ng/iapx86/ng10482.php are implemented. (as far as i can see only parity is missing which is fine). The listed aliases how ever are still missing. With #189 these instructions can be implemented without much effort.

All that needs to be done is to check which of the instructions are implemented and what aliases should be added to the MAR instruction set.

Bonus points for updating the wiki Instruction Set

kevinramharak avatar Jan 22 '19 18:01 kevinramharak

@simon987 Im looking at the code and notice that some instructions rely on the IP in the CPU. Are you planning on abstracting that out of the CPU? Since some instructions now rely on a CPU parameter.

Keeping this list for bookkeeping

JnzInstruction.java:   public static final int OPCODE = 13;
Jne

JzInstruction.java:    public static final int OPCODE = 14;
Je

JgInstruction.java:    public static final int OPCODE = 15;
Jnle

JgeInstruction.java:   public static final int OPCODE = 16;
Jnl

JlInstruction.java:    public static final int OPCODE = 17;
Jnge

JleInstruction.java:   public static final int OPCODE = 18;
Jng

JsInstruction.java:    public static final int OPCODE = 26;

JnsInstruction.java:   public static final int OPCODE = 27;

JncInstruction.java:   private static final int OPCODE = 34;
Jae
Jnb

JcInstruction.java:    private static final int OPCODE = 33;
Jb
Jnae

JoInstruction.java:    private static final int OPCODE = 36;

JnoInstruction.java:   private static final int OPCODE = 37;

JaInstruction.java:    public static final int OPCODE = 46;
Jnbe

JnaInstruction.java:   public static final int OPCODE = 47;
Jbe

kevinramharak avatar Jan 28 '19 20:01 kevinramharak