Merge pull request #173 from bobbyjudd/issue-172

Fixes issue 172
This commit is contained in:
Simon Fortier 2018-09-06 15:56:07 -04:00 committed by GitHub
commit becf6e5feb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View File

@ -216,7 +216,7 @@ public class Operand {
Character address = labels.get(expr.replaceAll("[^A-Za-z0-9_]", ""));
if (address != null) {
data = address;
data = (expr.startsWith("-")) ? -address : address;
value += registerSet.size() * 2;//refers to memory with disp
return true;

View File

@ -116,6 +116,11 @@ public class OperandTest {
assertEquals(8 + 2 * registerSet.size(), mem9.getValue());
assertEquals(1, mem9.getData());
Operand mem10 = new Operand("[ B - label1 ]", labels, registerSet, 0);
assertEquals(OperandType.MEMORY_REG_DISP16, mem10.getType());
assertEquals(2 + 2 * registerSet.size(), mem10.getValue());
assertEquals(-10, mem10.getData());
} catch (InvalidOperandException e) {
fail("Failed trying to parse a valid operand");
@ -148,4 +153,4 @@ public class OperandTest {
}
}
}