mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-05-24 13:21:22 +08:00
Merge remote-tracking branch 'origin/patch'
This commit is contained in:
@@ -541,7 +541,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
|
||||
}
|
||||
|
||||
:se_btsti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
|
||||
tmp:$(REGISTER_SIZE) = (RX_VLE >> OIM5_VLE) & 0x1;
|
||||
tmp:$(REGISTER_SIZE) = (RX_VLE >> (0x1F - OIM5_VLE)) & 0x1;
|
||||
cr0flags(tmp);
|
||||
}
|
||||
|
||||
@@ -709,13 +709,13 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
|
||||
}
|
||||
|
||||
:se_bclri RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
|
||||
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
|
||||
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
|
||||
tmp = ~tmp;
|
||||
RX_VLE = RX_VLE & tmp;
|
||||
}
|
||||
|
||||
:se_bgeni RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=24 & BIT9_VLE=1 & RX_VLE & OIM5_VLE {
|
||||
RX_VLE = 1 << OIM5_VLE;
|
||||
RX_VLE = 0x80000000 >> OIM5_VLE;
|
||||
}
|
||||
|
||||
:se_bmaski RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=11 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
|
||||
@@ -725,7 +725,7 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
|
||||
}
|
||||
|
||||
:se_bseti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
|
||||
tmp:$(REGISTER_SIZE) = 1 << OIM5_VLE;
|
||||
tmp:$(REGISTER_SIZE) = 0x80000000 >> OIM5_VLE;
|
||||
RX_VLE = RX_VLE | tmp;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
define pcodeop rdrand;
|
||||
define pcodeop rdrandIsValid;
|
||||
:RDRAND r16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; r16 & reg_opcode=6 { r16 = rdrand(); CF=rdrandIsValid(); }
|
||||
:RDRAND r32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; r32 & reg_opcode=6 { r32 = rdrand(); CF=rdrandIsValid(); }
|
||||
:RDRAND r64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; r64 & reg_opcode=6 { r64 = rdrand(); CF=rdrandIsValid(); }
|
||||
:RDRAND rm16 is vexMode=0 & opsize=0 & byte=0x0f; byte=0xC7; (rm16 & reg_opcode=6 ...) { rm16 = rdrand(); CF=rdrandIsValid(); }
|
||||
:RDRAND rm32 is vexMode=0 & opsize=1 & byte=0x0f; byte=0xC7; (rm32 & reg_opcode=6 ...) { rm32 = rdrand(); CF=rdrandIsValid(); }
|
||||
:RDRAND rm64 is vexMode=0 & opsize=2 & $(REX_W) & byte=0x0f; byte=0xC7; (rm64 & reg_opcode=6 ...) { rm64 = rdrand(); CF=rdrandIsValid(); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user