diff --git a/src/link/patch.cpp b/src/link/patch.cpp index 45115b63..f3730b43 100644 --- a/src/link/patch.cpp +++ b/src/link/patch.cpp @@ -377,7 +377,11 @@ static int32_t computeRPNExpr(Patch const &patch, std::vector const &fil case RPN_HRAM: value = popRPN(patch); if (value < 0xFF00 || value > 0xFFFF) { - firstErrorAt(patch, "Address $%" PRIx32 " for LDH is not in HRAM range", value); + firstErrorAt( + patch, + "Address $%" PRIx32 " for LDH is not in HRAM range; use LD instead", + value + ); value = 0; } value &= 0xFF; @@ -387,7 +391,9 @@ static int32_t computeRPNExpr(Patch const &patch, std::vector const &fil value = popRPN(patch); // Acceptable values are 0x00, 0x08, 0x10, ..., 0x38 if (value & ~0x38) { - firstErrorAt(patch, "Value $%" PRIx32 " is not a RST vector", value); + firstErrorAt( + patch, "Value $%" PRIx32 " is not a RST vector; use CALL instead", value + ); value = 0; } value |= 0xC7; diff --git a/test/link/invalid-patches.out b/test/link/invalid-patches.out index 545d6722..d50f5f9d 100644 --- a/test/link/invalid-patches.out +++ b/test/link/invalid-patches.out @@ -1,6 +1,6 @@ error: JR target must be between -128 and 127 bytes away, not 190; use JP instead at invalid-patches.asm(10) -error: Address $0 for LDH is not in HRAM range +error: Address $0 for LDH is not in HRAM range; use LD instead at invalid-patches.asm(9) error: Requested SIZEOF() of undefined section "NonexistentSection" at invalid-patches.asm(8) diff --git a/test/link/ldh-bad.out b/test/link/ldh-bad.out index 28bd57af..5576cad9 100644 --- a/test/link/ldh-bad.out +++ b/test/link/ldh-bad.out @@ -1,3 +1,3 @@ -error: Address $1234 for LDH is not in HRAM range +error: Address $1234 for LDH is not in HRAM range; use LD instead at ldh-bad.asm(2) Linking failed with 1 error diff --git a/test/link/rst-bad.out b/test/link/rst-bad.out index 85065c5d..bc0a77cd 100644 --- a/test/link/rst-bad.out +++ b/test/link/rst-bad.out @@ -1,3 +1,3 @@ -error: Value $1 is not a RST vector +error: Value $1 is not a RST vector; use CALL instead at rst-bad.asm(2) Linking failed with 1 error