# HG changeset patch # User Michael Pavone # Date 1473180151 25200 # Node ID bed2d84eeabe5aa0b1b7420aac134670d9d20626 # Parent c44170825b163ebb92503cb37652742531880bf6 Fix ldimh special casing of loading labels for the case when the label is not a forward reference diff -r c44170825b16 -r bed2d84eeabe src/asm.c --- a/src/asm.c Thu Sep 01 21:52:48 2016 -0700 +++ b/src/asm.c Tue Sep 06 09:42:31 2016 -0700 @@ -354,7 +354,11 @@ l = add_label(meta, arg, 0, 0); } if (l->valid) { - value = l->address; + if (*inst == LDIMH) { + value = l->address >> 8; + } else { + value = l->address; + } } else { value = 0; add_reference(l, pc, (*inst & 0xF) == LDIMH ? IMMEDHI : (*inst & 0xF) == LDIM ? IMMED8 : IMMED4);