summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/listing.c9
-rw-r--r--test/dup.asm15
2 files changed, 22 insertions, 2 deletions
diff --git a/asm/listing.c b/asm/listing.c
index 9b101ff4..6d6f3606 100644
--- a/asm/listing.c
+++ b/asm/listing.c
@@ -1,6 +1,6 @@
/* ----------------------------------------------------------------------- *
*
- * Copyright 1996-2019 The NASM Authors - All Rights Reserved
+ * Copyright 1996-2020 The NASM Authors - All Rights Reserved
* See the file AUTHORS included with the NASM distribution for
* the specific copyright holders.
*
@@ -276,8 +276,13 @@ static void list_output(const struct out_data *data)
break;
case OUT_RESERVE:
{
- if (size)
+ if (size > 8) {
list_size(offset, "res", size);
+ } else {
+ memset(q, '?', size << 1);
+ q[size << 1] = '\0';
+ list_out(offset, q);
+ }
break;
}
default:
diff --git a/test/dup.asm b/test/dup.asm
index 723da48b..62785628 100644
--- a/test/dup.asm
+++ b/test/dup.asm
@@ -19,3 +19,18 @@
dd 16 dup (0xaaaa, ?, 0xbbbbbb)
dd 64 dup (?)
+
+ resb 1
+ resb 2
+ resb 4
+ resb 8
+
+ resw 1
+ resw 2
+ resw 4
+ resw 8
+
+ resq 1
+ resq 2
+ resq 4
+ resq 8