summaryrefslogtreecommitdiff
path: root/ndisasm.c
AgeCommit message (Collapse)AuthorFilesLines
2013-11-24iflag: Start using new instruction flags engineCyrill Gorcunov1-8/+15
Here we start using instruction flags generator. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2013-08-28AVX-512: Change the data type for instruction flagsJin Kyu Song1-1/+1
Increased the size of data type for instruction flags from 32bits to 64bits. And a new type (iflags_t) is defined for better maintainability. Bigger data type is needed because more instruction set types are coming but there were not enough space for them. Since they are not bit masks, only one instruction set is allowed for each instruction. Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2009-08-13Use fputs instead of fprintf for plain stringsVictor van den Elzen1-1/+1
LLVM's Clang warns about this. outieee.c had a real problem.
2009-07-18Remove function pointers in output, simplify error handlingH. Peter Anvin1-5/+3
Remove a bunch of function pointers in the output stage; they are never changed and don't add any value. Also make "ofile" a global variable and let the backend use it directly. All we ever did with these variables were stashing it in locals and using them as-is anyway for no benefit. Also change the global error function, nasm_error() into a true function which invokes a function pointer internally. That lets us use direct calls to it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-07-06NASM: relicense under the 2-clause BSD licenseH. Peter Anvin1-12/+0
*To the best of my knowledge*, we now have authorization from everyone who has significantly contributed to NASM in the past. As such, change the license to the 2-clause BSD license. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-28Add copyright headers to the *.c/*.h files in the main directoryH. Peter Anvin1-5/+46
Add copyright headers to the *.c/*.h files in the main directory. For files where I'm sure enough that we have all the approvals, I have given them the 2-BSD license, the others have been given the "LGPL for now" license header. Most of them can probably be changed after auditing. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-03-18disasm: when no instruction is found, consider a naked prefixH. Peter Anvin1-4/+5
If we can't find a matching instruction, rather than printing it as a "db" literal, consider first if we can disassemble it as a naked prefix.
2008-10-31Move all version strings to a single compilation unit (ver.c)H. Peter Anvin1-2/+2
Move all the version strings to a single compilation unit, ver.c; this does not include the version macros, which are fed into macros.c. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-06-11Use an explicit table for tolower() to avoid a function callH. Peter Anvin1-1/+2
On some platforms, tolower() is implemented as a function call, in order to handle locale support. We never change locales, so can the result of tolower() into a table, so we don't have to sit through the function call every time. ~1.3% overall performance improvement on a macro-heavy benchmark under Linux x86-64.
2007-12-29regularized spelling of license to match name of LICENSE fileBeroset1-1/+1
2007-12-20ndisasm: handle instructions at offset zeroH. Peter Anvin1-3/+6
Correctly handle instructions at offset zero
2007-11-20ndisasm: handle the case of "no more sync points"H. Peter Anvin1-2/+2
Handle the case of "no more sync points" explicitly, instead of saying the next sync point is at UINT32_MAX.
2007-10-18Suppress signedness warnings in disassemblerCharles Crayne1-4/+4
2007-10-11Additional uses of bool and enumH. Peter Anvin1-1/+1
Proper use of bool and enum makes code easier to debug. Do more of it. In particular, we really should stomp out any residual uses of magic constants that aren't enums or, in some cases, even #defines.
2007-10-10Use the compiler-provided booleans if available, otherwise emulateH. Peter Anvin1-4/+4
Both C and C++ have "bool", "true" and "false" in lower case; C requires <stdbool.h> for this, in C++ it is an inherent type built into the compiler. Use those instead of the old macros; emulate with a simple typedef enum if unavailable.
2007-10-02Portability fixesH. Peter Anvin1-0/+2
Concentrate compiler dependencies to compiler.h; make sure compiler.h is included first in every .c file (since some prototypes may depend on the presence of feature request macros.) Actually use the conditional inclusion of various functions (totally broken in previous releases.)
2007-09-19Make nasm_malloc() et al available from inside ndisasmH. Peter Anvin1-0/+14
Clean up nasmlib to remove functions irrelevant for ndisasm; make nasm_malloc() etc usable inside ndisasm.
2007-04-15Clean up the 64-bitification of regs.dat for 64-bit ndisasm supportH. Peter Anvin1-13/+13
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-14c99 printf/fprintf compliance.Keith Kanios1-3/+2
2007-04-13Fixed distinction between char and int8_t data types.Keith Kanios1-8/+8
2007-04-12Remove obsolete types; add <inttypes.h> where needed; header fixesH. Peter Anvin1-1/+1
- Remove obsolete types like "uint32"; use "uint32_t" consistently. - Make sure we include <inttypes.h> where needed. - Header file guards should be FOO_H or SUBDIR_FOO_H; _FOO_H infringes on the C implementation's namespace and should only be used when writing libc! - Change a few "int8_t" back to "char" where appropriate. There are a lot more places where that should be done, though. - Clean up the check for getuid/getgid in rdoff/rdlar.h.
2007-04-12General push for x86-64 support, dubbed 0.99.00.Keith Kanios1-22/+23
2005-01-15Apply Nindent to all .c and .h filesH. Peter Anvin1-226/+247
2004-12-15added buffer length parameter to prevent vulnerability to bufferEd Beroset1-2/+2
overflow exploits.
2002-04-30NASM 0.98.17H. Peter Anvin1-7/+7
2002-04-30NASM 0.98.11H. Peter Anvin1-5/+11
2002-04-30NASM 0.98p7H. Peter Anvin1-1/+1
2002-04-30NASM 0.98p6H. Peter Anvin1-0/+3
2002-04-30NASM 0.98p3.5H. Peter Anvin1-3/+24
2002-04-30NASM 0.98p3H. Peter Anvin1-14/+27
2002-04-30NASM 0.97H. Peter Anvin1-1/+4
2002-04-30NASM 0.96H. Peter Anvin1-0/+6
2002-04-30NASM 0.94H. Peter Anvin1-2/+1
2002-04-30NASM 0.91H. Peter Anvin1-0/+270