Unbreak relative references to immediate addresses

Remove bogus "treat labels different from immediates" code, which
would result in generating of a relative mod/rm but without adjusting
the address accordingly.

Update addressing mode test.
diff --git a/assemble.c b/assemble.c
index 4d56a65..6adaec6 100644
--- a/assemble.c
+++ b/assemble.c
@@ -1601,10 +1601,9 @@
                 case 2:
                 case 4:
                     data = ins->oprs[(c >> 3) & 7].offset;
-                    if (ea_data.rip && (ins->oprs[(c >> 3) & 7].segment == 0xFFFFFFFF))
-                            ea_data.rip = 0;    /* Make distinction between Symbols and Immediates */
-                    out(offset, segment, &data,   /* RIP = Relative, not Absolute */
-                        (ea_data.rip ?  OUT_REL4ADR : OUT_ADDRESS) + ea_data.bytes,
+                    out(offset, segment, &data,
+                        (ea_data.rip ?  OUT_REL4ADR : OUT_ADDRESS)
+			+ ea_data.bytes,
                         ins->oprs[(c >> 3) & 7].segment,
                         ins->oprs[(c >> 3) & 7].wrt);
                     s += ea_data.bytes;