65816 now generate EXPR_NEARADDR instead of EXPR_WORD0 for default assumed address mode, which will be validated by the linker's range check rather than blindly truncated. Assuming the assembler correctly validated this, the linker is allowed to truncate.
This commit is contained in:
committed by
Oliver Schmidt
parent
a01c4231f2
commit
ac2ecb0b2c
@@ -210,6 +210,10 @@ static void InternalDumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym
|
||||
printf (" WORD1");
|
||||
break;
|
||||
|
||||
case EXPR_NEARADDR:
|
||||
printf (" NEARADDR");
|
||||
break;
|
||||
|
||||
case EXPR_FARADDR:
|
||||
printf (" FARADDR");
|
||||
break;
|
||||
|
||||
@@ -97,8 +97,9 @@
|
||||
#define EXPR_BYTE3 (EXPR_UNARYNODE | 0x0B)
|
||||
#define EXPR_WORD0 (EXPR_UNARYNODE | 0x0C)
|
||||
#define EXPR_WORD1 (EXPR_UNARYNODE | 0x0D)
|
||||
#define EXPR_FARADDR (EXPR_UNARYNODE | 0x0E)
|
||||
#define EXPR_DWORD (EXPR_UNARYNODE | 0x0F)
|
||||
#define EXPR_NEARADDR (EXPR_UNARYNODE | 0x0E)
|
||||
#define EXPR_FARADDR (EXPR_UNARYNODE | 0x0F)
|
||||
#define EXPR_DWORD (EXPR_UNARYNODE | 0x10)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user