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
5a640e1161
Clean up the existing operand flag definitions, and document
2007-05-29 23:57:12 +00:00
H. Peter Anvin
0db11e236b
Handle "LOCK as REX.R" for MOV CRx; fix warning for invalid 64-bit regs
...
- MOV gpr,CRx or MOV CRx,gpr can access high control registers with a LOCK
prefix; handle that in both the assembler and disassembler.
- Get a saner error message when trying to access high resources in
non-64-bit mode.
2007-04-17 20:23:11 +00:00
H. Peter Anvin
7cf03aff4f
More 64-bit ndisasm fixes.
...
In particular, now we should handle A0-A3 instructions.
2007-04-16 02:39:56 +00:00
H. Peter Anvin
b061d595fb
Fixes for 64-bit ndisasm.
...
This fixes some of the most glaring bugs in ndisasm 64-bit mode. We're
still getting redundant prefixes for unknown reason, however.
2007-04-16 02:02:06 +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
Keith Kanios
93f2e9a5a1
c99 printf/fprintf compliance.
2007-04-14 00:10:59 +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
64ab51965a
Added todo item to point out the somewhat tricky fact about snprintf's
...
return value.
2004-12-15 23:32:57 +00:00
Ed Beroset
258fcafe88
Corrected typo in variable name.
2004-12-15 23:00:13 +00:00
Ed Beroset
9234817aa4
changed sprintf to more secure snprintf to prevent vulnerability to buffer
...
overflow exploits.
2004-12-15 18:27:50 +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
c9f57c24d0
Fixes from Bart Oldeman
2002-09-19 04:27:01 +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
d308de119c
Make the disassembler correctly handle the new \34-\36 and \44-\46 codes.
2002-06-02 05:35:05 +00:00
H. Peter Anvin
17799b40c0
JMP instructions use the operand size prefix, not the address size
...
prefix, to determine the size of the jump target.
2002-05-21 03:31:21 +00:00
H. Peter Anvin
4cf1748e68
NASM 0.98.11
2002-04-30 21:01:38 +00:00
H. Peter Anvin
ef7468f4ec
NASM 0.98p7
2002-04-30 20:57:59 +00:00
H. Peter Anvin
4836e3374e
NASM 0.98p3.5
2002-04-30 20:56:43 +00:00
H. Peter Anvin
eba20a73f2
NASM 0.98p3
2002-04-30 20:53:55 +00:00
H. Peter Anvin
76690a12ad
NASM 0.96
2002-04-30 20:52:49 +00:00
H. Peter Anvin
6768eb71d8
NASM 0.95
2002-04-30 20:52:26 +00:00
H. Peter Anvin
d7ed89eac9
NASM 0.94
2002-04-30 20:52:08 +00:00
H. Peter Anvin
ea6e34db64
NASM 0.91
2002-04-30 20:51:32 +00:00