public void CurrentAddressEvaluatesProperly() { // --- Arrange var assembler = new Z80Assembler(); assembler.Compile(""); assembler.EmitByte(0x00); assembler.EmitByte(0x00); // --- Act var exprNode = ParseExpr("$"); var result = assembler.Eval(exprNode); // --- Assert result.ShouldBe((ushort)0x8002); }
public void CurrentAddressEvaluatesProperlyWithStartAddress() { // --- Arrange var assembler = new Z80Assembler(); assembler.Compile("nop \n nop \n nop"); assembler.GetCurrentAssemblyAddress(); assembler.CurrentSegment.StartAddress = 0x6800; assembler.EmitByte(0x00); assembler.EmitByte(0x00); // --- Act var exprNode = ParseExpr("$"); var result = assembler.Eval(null, exprNode); // --- Assert result.Value.ShouldBe((ushort)0x6802); }