diff options
author | H. Peter Anvin (Intel) <hpa@zytor.com> | 2020-06-27 23:30:33 -0700 |
---|---|---|
committer | H. Peter Anvin (Intel) <hpa@zytor.com> | 2020-06-27 23:30:33 -0700 |
commit | 43a72dd6386864b64c0d6f77b10cab007c024285 (patch) | |
tree | 44ca55bb25218015813a39cb546f9d4c6e090e4e | |
parent | 296685b5e3779b0f44adb2cb142d7128adf5a538 (diff) | |
download | nasm-43a72dd6386864b64c0d6f77b10cab007c024285.tar.gz |
listing: list short reserved blocks as ?? instead of <res ...>
<res ...> 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) <hpa@zytor.com>
-rw-r--r-- | asm/listing.c | 9 | ||||
-rw-r--r-- | 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 |