From 7181c391bd50cbe91b0a8ba8783efa716354c77d Mon Sep 17 00:00:00 2001 From: Michael Munday Date: Fri, 2 Dec 2016 14:20:59 -0500 Subject: [PATCH] Add C code to handle IMM16. --- dynasm/dasm_s390x.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dynasm/dasm_s390x.h b/dynasm/dasm_s390x.h index d8566034..12b8b2bd 100644 --- a/dynasm/dasm_s390x.h +++ b/dynasm/dasm_s390x.h @@ -264,12 +264,12 @@ void dasm_put(Dst_DECL, int start, ...) b[pos++] = ofs; /* Store pass1 offset estimate. */ break; case DASM_IMM16: + CK(((short)n) == n, RANGE_I); /* TODO: unsigned immediates? */ ofs += 2; - fprintf(stderr, "DASM_IMM16 not implemented\n"); + b[pos++] = n; break; case DASM_IMM32: ofs += 4; - CK((n >> 32) == 0, RANGE_I); b[pos++] = n; break; case DASM_DISP20: @@ -433,7 +433,7 @@ int dasm_encode(Dst_DECL, void *buffer) case DASM_LABEL_PC: break; case DASM_IMM16: - fprintf(stderr, "DASM_IMM16 not implemented\n"); + *cp++ = n; break; case DASM_IMM32: *cp++ = n >> 16;