diff --git a/osaca/data/isa/x86.yml b/osaca/data/isa/x86.yml index f995102..bc1533b 100644 --- a/osaca/data/isa/x86.yml +++ b/osaca/data/isa/x86.yml @@ -530,6 +530,190 @@ instruction_forms: name: "rax" source: false destination: true + - name: [ja, jbe, jna, jnbe] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "CF" + source: true + destination: false + - class: "flag" + name: "ZF" + source: true + destination: false + - name: [jae, jb, jc, jnae, jnb, jnc] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "CF" + source: true + destination: false + - name: [je, jne, jnz, jz] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "ZF" + source: true + destination: false + - name: [jg, jle, jng, jnle] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "ZF" + source: true + destination: false + - class: "flag" + name: "SF" + source: true + destination: false + - class: "flag" + name: "OF" + source: true + destination: false + - name: [jge, jl, jnge, jnl] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "SF" + source: true + destination: false + - class: "flag" + name: "OF" + source: true + destination: false + - name: [jno, jo] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "OF" + source: true + destination: false + - name: [jnp, jp, jpe, jpo] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "PF" + source: true + destination: false + - name: [jns, js] + operands: + - class: identifier + hidden_operands: + - class: "flag" + name: "SF" + source: true + destination: false + - name: [seta, setbe, setna, setnbe] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "CF" + source: true + destination: false + - class: "flag" + name: "ZF" + source: true + destination: false + - name: [setae, setb, setc, setnae, setnb, setnc] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "CF" + source: true + destination: false + - name: [sete, setne, setnz, setz] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "ZF" + source: true + destination: false + - name: [setg, setle, setng, setnle] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "ZF" + source: true + destination: false + - class: "flag" + name: "SF" + source: true + destination: false + - class: "flag" + name: "OF" + source: true + destination: false + - name: [setge, setl, setnge, setnl] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "SF" + source: true + destination: false + - class: "flag" + name: "OF" + source: true + destination: false + - name: [setno, seto] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "OF" + source: true + destination: false + - name: [setnp, setp, setpe, setpo] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "PF" + source: true + destination: false + - name: [setns, sets] + operands: + - class: "register" + name: "gpr" + source: false + destination: true + hidden_operands: + - class: "flag" + name: "SF" + source: true + destination: false - name: cmova operands: - class: "register"