58 Commits

Author SHA1 Message Date
H. Peter Anvin
a1abb32004 Avoid magic values; we have more than 124 registers now
There was a magic hard-coded constant that register numbers were between
1 and 124.  Well, we have about 150 registers now, and that broke.
2007-05-30 04:28:50 +00:00
H. Peter Anvin
3df97a7270 Get rid of magic open-coded "register numbers"
Get rid of magic open-coded register numbers.  We now keep track of
a total of three different kinds of register numbers: the register
enumeration (regs.h), the x86 register value, and the register flags.
That has all the information we need.

Additionally, do massive revamping of the EA generation code and the
REX generation logic.
2007-05-30 03:25:21 +00:00
H. Peter Anvin
dbf130e681 Rename REGNORM to REG_EA
Rename REGNORM to REG_EA to make the distinction between REG_GPR and
REG_EA clearer.
2007-05-30 00:18:26 +00:00
H. Peter Anvin
1ffbd70af0 More instruction flag surgery 2007-05-30 00:15:25 +00:00
H. Peter Anvin
edb1428239 More cleanup of operand flags/register classes 2007-05-30 00:05:00 +00:00
H. Peter Anvin
5a640e1161 Clean up the existing operand flag definitions, and document 2007-05-29 23:57:12 +00:00
H. Peter Anvin
0ee014231f Initial 64-bit support for ndisasm. Still a work in progress.
64-bit support for ndisasm.  This is very much an initial attempt, and
there are guaranteed to be bugs in the code.  However, some *very*
preliminary testing seems to indicate it's not completely off-base.
2007-04-16 01:18:30 +00:00
H. Peter Anvin
99f309cc07 Clean up the 64-bitification of regs.dat for 64-bit ndisasm support
64-bit support required some major changes to regs.dat; clean some of
it up (re-introduce patterns, where appropriate) and allow a single
register to belong to multiple disassembly classes; also keep track
of the x86 register number again.
2007-04-15 23:12:17 +00:00
Keith Kanios
567ee739f8 Fixed REGRIP -> RIPREG to match regs.dat. 2007-04-13 22:24:46 +00:00
H. Peter Anvin
c40f89e1c2 AIf we have config.h, we should actually include it!!
Apparently configure was generating config.h, and nothing ever actually
included it.  Include it in nasm.h as well as compiler.h, and in
rdoff/rdlar.h which uses these macros.

There appears to be no use of HAVE_* macros in any file that doesn't
have nasm.h included; in fact, so far the only use has been in
rdoff/rdlar.h.
2007-04-13 20:06:41 +00:00
Keith Kanios
a6dfa78b78 Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
Keith Kanios
b7a89544d0 General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
H. Peter Anvin
e2c80181b6 Apply Nindent to all .c and .h files 2005-01-15 22:15:51 +00:00
Ed Beroset
c06f6df292 fixed bug #677841 by limiting the scanner to no more than 4095 characters for a single ID token 2003-09-08 00:30:40 +00:00
H. Peter Anvin
10101f26bc Add support for the new instructions in Prescott 2003-02-24 23:22:45 +00:00
H. Peter Anvin
24cfef4f8f Clean up unnecessary dependencies. 2002-09-12 16:34:06 +00:00
H. Peter Anvin
bfebdb0a07 "const"-ipation fixes from Trevor Woerner 2002-09-12 02:23:54 +00:00
H. Peter Anvin
232badbbbc This is the "megapatch":
a) Automatically generate dependencies for all Makefiles;
b) Move register definitions to a separate .dat file;
c) Add support for "unimplemented but there in theory" registers.
2002-06-06 02:41:20 +00:00
H. Peter Anvin
01377d8d7c Implement new "strict" keyword to inhibit optimization. 2002-05-21 03:16:33 +00:00
H. Peter Anvin
310b3e165f Code cleanup fixes from Ed Beroset 2002-05-14 22:38:55 +00:00
H. Peter Anvin
e87613b14e Make all version information come from the single file "version".
Introduce new standard __NASM_SUBMINOR__ and __NASM_VER__ macros.
2002-05-04 03:57:52 +00:00
H. Peter Anvin
8ac364139a NASM 0.98.30 2002-04-30 21:09:12 +00:00
H. Peter Anvin
005b39c856 NASM 0.98.26 2002-04-30 21:08:42 +00:00
H. Peter Anvin
9a633fa3b9 NASM 0.98.25alt 2002-04-30 21:08:11 +00:00
H. Peter Anvin
9f39464e5b NASM 0.98.25 2002-04-30 21:07:51 +00:00
H. Peter Anvin
852c3eecb4 NASM 0.98.24 2002-04-30 21:06:59 +00:00
H. Peter Anvin
dce1e2f795 NASM 0.98.23 2002-04-30 21:06:37 +00:00
H. Peter Anvin
225c5926f0 NASM 0.98.22 2002-04-30 21:06:16 +00:00
H. Peter Anvin
09f6acbb75 NASM 0.98.21 2002-04-30 21:05:55 +00:00
H. Peter Anvin
b1a0143a0d NASM 0.98.20 2002-04-30 21:05:35 +00:00
H. Peter Anvin
2654e0d8ea NASM 0.98.19 2002-04-30 21:05:12 +00:00
H. Peter Anvin
785ec1d973 NASM 0.98.18 2002-04-30 21:04:43 +00:00
H. Peter Anvin
090a218573 NASM 0.98.17 2002-04-30 21:04:18 +00:00
H. Peter Anvin
caa82a1e66 NASM 0.98.16 2002-04-30 21:03:11 +00:00
H. Peter Anvin
9eb185bfdb NASM 0.98.15 2002-04-30 21:02:47 +00:00
H. Peter Anvin
ce61607e11 NASM 0.98.14 2002-04-30 21:02:23 +00:00
H. Peter Anvin
788e6c10e1 NASM 0.98.12 2002-04-30 21:02:01 +00:00
H. Peter Anvin
4cf1748e68 NASM 0.98.11 2002-04-30 21:01:38 +00:00
H. Peter Anvin
734b188090 NASM 0.98.09 2002-04-30 21:01:08 +00:00
H. Peter Anvin
1cd0e2d5bf NASM 0.98.08 2002-04-30 21:00:33 +00:00
H. Peter Anvin
af535c16cf NASM 0.98.03 2002-04-30 20:59:21 +00:00
H. Peter Anvin
41bf8002b2 NASM 0.98 2002-04-30 20:58:18 +00:00
H. Peter Anvin
ef7468f4ec NASM 0.98p7 2002-04-30 20:57:59 +00:00
H. Peter Anvin
620515ab4e NASM 0.98p6 2002-04-30 20:57:38 +00:00
H. Peter Anvin
cd08b15c28 NASM 0.98p3.7 2002-04-30 20:57:19 +00:00
H. Peter Anvin
f443eb3d0d NASM 0.98p3.6 2002-04-30 20:57:02 +00:00
H. Peter Anvin
4836e3374e NASM 0.98p3.5 2002-04-30 20:56:43 +00:00
H. Peter Anvin
4342239f77 NASM 0.98p3.4 2002-04-30 20:56:19 +00:00
H. Peter Anvin
b64535fd4e NASM 0.98p3.3 2002-04-30 20:55:37 +00:00
H. Peter Anvin
ce14ce6fc4 NASM 0.98p3.2 2002-04-30 20:54:58 +00:00