(uxnasm) Add error for relative references that are too far.

This commit is contained in:
Andrew Alderwick 2021-12-01 11:42:44 +00:00
parent da797b33c6
commit 60f04ca053
1 changed files with 2 additions and 0 deletions

View File

@ -351,6 +351,8 @@ resolve(void)
if(!(l = findlabel(r->name))) if(!(l = findlabel(r->name)))
return error("Unknown relative reference", r->name); return error("Unknown relative reference", r->name);
p.data[r->addr + 1] = (Sint8)(l->addr - r->addr - 3); p.data[r->addr + 1] = (Sint8)(l->addr - r->addr - 3);
if((Sint8)p.data[r->addr + 1] != (l->addr - r->addr - 3))
return error("Relative reference is too far", r->name);
l->refs++; l->refs++;
break; break;
case ';': case ';':