From 43a72dd6386864b64c0d6f77b10cab007c024285 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin (Intel)" Date: Sat, 27 Jun 2020 23:30:33 -0700 Subject: listing: list short reserved blocks as ?? instead of can get rather annoying when mixed in with data, as can happen with the MASM-like db syntax. List shorter blocks (8 bytes or less) as ?? instead; 8 bytes avoids line breaks for a single statement. This is probably more readable anyway... Signed-off-by: H. Peter Anvin (Intel) --- asm/listing.c | 9 +++++++-- test/dup.asm | 15 +++++++++++++++ 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 -- cgit v1.2.1