From 7d14cff6bb0499ad95ced05b6133cb3c1e896240 Mon Sep 17 00:00:00 2001 From: bbbradsmith Date: Wed, 1 May 2019 03:21:14 -0400 Subject: [PATCH] o65.c: missed a link time resolution of EXPR_NEARADDR --- src/ld65/o65.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ld65/o65.c b/src/ld65/o65.c index e36f40d36..5e10ae6f4 100644 --- a/src/ld65/o65.c +++ b/src/ld65/o65.c @@ -633,7 +633,8 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size, if (E->Op == EXPR_BYTE0 || E->Op == EXPR_BYTE1 || E->Op == EXPR_BYTE2 || E->Op == EXPR_BYTE3 || E->Op == EXPR_WORD0 || E->Op == EXPR_WORD1 || - E->Op == EXPR_FARADDR || E->Op == EXPR_DWORD) { + E->Op == EXPR_FARADDR || E->Op == EXPR_DWORD || + E->Op == EXPR_NEARADDR) { /* Use the real expression */ Expr = E->Left; } @@ -678,6 +679,7 @@ static unsigned O65WriteExpr (ExprNode* E, int Signed, unsigned Size, case EXPR_WORD1: BinVal = (BinVal >> 16) & 0xFFFF; break; case EXPR_FARADDR: BinVal &= 0xFFFFFFUL; break; case EXPR_DWORD: BinVal &= 0xFFFFFFFFUL; break; + case EXPR_NEARADDR: BinVal &= 0xFFFF; break; } WriteVal (D->F, BinVal, Size);