mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-28 23:21:46 +00:00
fix for se_bmaski, parameter first use with subtractWrap
This commit is contained in:
parent
05f1d707f5
commit
5e41bf2df4
@ -17,7 +17,8 @@ package ghidra.program.model.pcode;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import ghidra.program.model.address.*;
|
||||
import ghidra.program.model.address.Address;
|
||||
import ghidra.program.model.address.AddressIterator;
|
||||
import ghidra.program.model.data.DataType;
|
||||
import ghidra.program.model.data.Undefined;
|
||||
import ghidra.program.model.listing.*;
|
||||
@ -102,12 +103,7 @@ public class LocalSymbolMap {
|
||||
boolean lock = (dbFunction.getSignatureSource() != SourceType.DEFAULT);
|
||||
|
||||
Address pcaddr = dbFunction.getEntryPoint();
|
||||
try {
|
||||
pcaddr = pcaddr.subtract(1);
|
||||
}
|
||||
catch (AddressOutOfBoundsException e) {
|
||||
// Should rarely happen
|
||||
}
|
||||
pcaddr = pcaddr.subtractWrap(1);
|
||||
|
||||
List<MappedSymbol> paramList = new ArrayList<MappedSymbol>();
|
||||
for (int i = 0; i < p.length; ++i) {
|
||||
|
@ -720,9 +720,8 @@ IMM16B: val is IMM_0_10_VLE & IMM_16_20_VLE [ val = (IMM_16_20_VLE << 11) |
|
||||
|
||||
:se_bmaski RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=11 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
|
||||
RX_VLE = ~0;
|
||||
tmp:1 = OIM5_VLE;
|
||||
if (tmp == 0) goto inst_next;
|
||||
RX_VLE = RX_VLE >> ($(REGISTER_SIZE) - tmp);
|
||||
sa:4 = (8 * $(REGISTER_SIZE) - OIM5_VLE) * zext( OIM5_VLE != 0:1 );
|
||||
RX_VLE = RX_VLE >> sa;
|
||||
}
|
||||
|
||||
:se_bseti RX_VLE,OIM5_VLE is $(ISVLE) & OP6_VLE=25 & BIT9_VLE=0 & RX_VLE & OIM5_VLE {
|
||||
|
Loading…
Reference in New Issue
Block a user