diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-10-29 20:20:12 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-10-29 20:20:12 -0700 |
commit | 2ce0274303000c95f5f503f1fb0db86fd108b06e (patch) | |
tree | ac275b173a622172cac59dec5c1c374463cb9d2b /parser.c | |
parent | 052c0bd4843e9222711bec40093ce294d0e32540 (diff) | |
download | nasm-2ce0274303000c95f5f503f1fb0db86fd108b06e.tar.gz nasm-2ce0274303000c95f5f503f1fb0db86fd108b06e.tar.bz2 nasm-2ce0274303000c95f5f503f1fb0db86fd108b06e.zip |
Use a 32-bit floating-point limb size; support 8-bit float
Use a 32-bit limb size ("like a digit, but bigger") for floating-point
conversion. This cuts the number of multiplications per constant by a
factor of four.
This means supporting fractional-limb-sized numbers, so while we're at
it, add support for 8-bit floating point numbers (apparently used in
graphics and in audio compression applications.)
Diffstat (limited to 'parser.c')
-rw-r--r-- | parser.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -369,6 +369,9 @@ insn *parse_line(int pass, char *buffer, insn * result, eop->type = EOT_DB_STRING; result->eops_float = true; switch (result->opcode) { + case I_DB: + eop->stringlen = 1; + break; case I_DW: eop->stringlen = 2; break; @@ -386,7 +389,7 @@ insn *parse_line(int pass, char *buffer, insn * result, break; default: error(ERR_NONFATAL, "floating-point constant" - " encountered in `db' instruction"); + " encountered in unknown instruction"); /* * fix suggested by Pedro Gimeno... original line * was: |