fix for se_bmaski, parameter first use with subtractWrap

This commit is contained in:
caheckman 2019-10-09 13:20:00 -04:00
parent 05f1d707f5
commit 5e41bf2df4
2 changed files with 5 additions and 10 deletions

View File

@ -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) {

View File

@ -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 {