Peter Johnson
a2a986add9
Add segreg moves.
...
svn path=/trunk/yasm/; revision=692
23 years ago
Peter Johnson
efafc7c6fb
Fix some bugs.
...
- Typos in imul reg, imm (# of operands)
- Fixes to push/pop. word/dword override opersize now.
svn path=/trunk/yasm/; revision=691
23 years ago
Peter Johnson
19569a8d6a
Allow one-digit hex-constants of the form "0h".
...
svn path=/trunk/yasm/; revision=690
23 years ago
Peter Johnson
ca721cf125
Implement relative jumps and calls.
...
svn path=/trunk/yasm/; revision=689
23 years ago
Peter Johnson
e75b947a09
Fix writing of PC-relative values (broken in rev. 1.9).
...
svn path=/trunk/yasm/; revision=688
23 years ago
Peter Johnson
8495e174cc
x86_parse_targetmod enum should start with value 1, not 0.
...
svn path=/trunk/yasm/; revision=687
23 years ago
Peter Johnson
c2e982f901
Take opersize as an input for x86_bc_new_jmprel().
...
svn path=/trunk/yasm/; revision=686
23 years ago
Peter Johnson
2c090517fc
Flatten x86_targetval into x86_new_jmprel_data, as the former is no longer used
...
in the parser.
svn path=/trunk/yasm/; revision=685
23 years ago
Peter Johnson
cd573321b3
Finish all instructions except for relative jumps, mov segreg, MMX, SSE, and
...
SSE2.
svn path=/trunk/yasm/; revision=684
23 years ago
Peter Johnson
eb067621cf
Added rest of floating point instructions. Needed to add new action to
...
add to opcode byte 1.
svn path=/trunk/yasm/; revision=683
23 years ago
Peter Johnson
b630a6768b
Add checking of target modifier.
...
Change operand typing mask constants to be more uniform.
Increase operand type size to long from int, as it now can go over 16 bits.
svn path=/trunk/yasm/; revision=682
23 years ago
Peter Johnson
70442d8b7f
Make "TO" a x86 targetmod.
...
svn path=/trunk/yasm/; revision=681
23 years ago
Peter Johnson
e320005990
Don't include malloc.h. It's deprecated on most systems.
...
svn path=/trunk/yasm/; revision=680
23 years ago
Peter Johnson
aacbbef7f9
Fix pointer comparison. Should be checking for == NULL, not <0.
...
svn path=/trunk/yasm/; revision=679
23 years ago
Peter Johnson
d6cee4db08
Add a few control transfer instructions, plus set byte on flag, bit manip,
...
int, bound, and 286 protection control.
svn path=/trunk/yasm/; revision=678
23 years ago
Peter Johnson
ef8f221f24
Added shift instructions, as well as new "postponed" actions for things such
...
as shift ,1 operands and imm operands that have sign-extended imm8 forms that
can't be decided at parse-time. The x86 bc format already had support for
these. Also fixed a bug in the lfs family (incorrect inst len).
svn path=/trunk/yasm/; revision=677
23 years ago
Peter Johnson
0af7326e75
Add lea, l?s, and arithmetic instructions. Arithmetic instructions needed
...
two additional actions: signed immediate and spare+ea.
svn path=/trunk/yasm/; revision=676
23 years ago
Peter Johnson
e1eae9bae5
Add xchg, in, out. in and out required operand type Dreg (DL/DX/EDX) to be
...
added.
svn path=/trunk/yasm/; revision=675
23 years ago
Peter Johnson
ce0d675524
Add push and pop. This required adding some new specific operand types, which
...
required adding to the number of bits allocated for the operand type.
svn path=/trunk/yasm/; revision=674
23 years ago
Peter Johnson
4c6d5575dc
Run through cleanup.pl to get rid of unused labels.
...
svn path=/trunk/yasm/; revision=673
23 years ago
Peter Johnson
035fea119a
Add explicit $(top_builddir) when running re2c.
...
svn path=/trunk/yasm/; revision=672
23 years ago
Peter Johnson
6c930d8d0b
Add re2c files, libtool, and x86id.c.
...
svn path=/trunk/yasm/; revision=671
23 years ago
Peter Johnson
3320945f95
Massive restructuring of lexing and parsing (NASM-compatible parser).
...
Bugzilla Bug#3. Not all instructions are parsed yet, so this is actually a
minor feature regression from the user side, but this commit lays the framework
for much easier additions of new assembler syntaxes and architectures. The
re2c tool is now used to generate the lexers, as it's much more flexibly
function-oriented than lex.
- nasm-bison.y is a repocopy+modify of nasm/bison.y.in.
- x86arch.h now includes all of x86-int.h
svn path=/trunk/yasm/; revision=670
23 years ago
Peter Johnson
00497afd8f
Neaten the line-continuation a bit.
...
svn path=/trunk/yasm/; revision=669
23 years ago
Peter Johnson
6c7bb59857
Flatten the tools/re2c build.
...
- Moved (by repocopy) main.c to re2c.c
- Moved (by repocopy) parser.y to re2c-parser.y
- Changed to Makefile.inc's rather than Makefile.am's
- Modified all the source file local includes to point to tools/re2c/*.h
svn path=/trunk/yasm/; revision=668
23 years ago
Peter Johnson
d719ad2d47
Accidently included a second change in the previous commit.
...
svn path=/trunk/yasm/; revision=666
23 years ago
Peter Johnson
82b3a80591
Disable loading preloaded symbols until there's actually loadable modules being
...
compiled.
svn path=/trunk/yasm/; revision=665
23 years ago
Peter Johnson
8bfdd08db3
Initialize and shut down libltdl.
...
svn path=/trunk/yasm/; revision=664
23 years ago
Peter Johnson
45333b0225
Allow objfmt initialize and cleanup function pointers to be NULL when not needed.
...
svn path=/trunk/yasm/; revision=663
23 years ago
Peter Johnson
1f71e995ca
Fix a few cases of freeing NULL pointers.
...
svn path=/trunk/yasm/; revision=662
23 years ago
Peter Johnson
da070d5964
Move strndup() declaration outside !DMALLOC #ifdef, as it's not defined by
...
the dmalloc library.
svn path=/trunk/yasm/; revision=661
23 years ago
Peter Johnson
6727a189ab
fucom* are FPU instructions.
...
svn path=/trunk/yasm/; revision=660
23 years ago
Peter Johnson
77be8f8662
vps_print() should take a const valparamhead *.
...
svn path=/trunk/yasm/; revision=659
23 years ago
Peter Johnson
2098bc229c
Remove .re.c suffix rule. In GNU make, this doesn't work as intended (instead
...
of making all .re -> .c builds require re2c (as a suffix rule), it instead sees
it as a rule to build ".re.c"). Oddly enough, in BSD make this works perfectly.
svn path=/trunk/yasm/; revision=658
23 years ago
Peter Johnson
3af9a80722
This file is going away soon, but it's still good to fix errors: CLTS was
...
passing too many values to the twobyte group.
svn path=/trunk/yasm/; revision=657
23 years ago
Peter Johnson
0c49ed0c7b
Bring in AC_PROVIDE_IFELSE changes necessary for AC_LIBTOOL_DLOPEN and like
...
under autoconf 2.53+.
svn path=/trunk/yasm/; revision=656
23 years ago
Peter Johnson
58a539fe06
- Disable libtool win32 DLL support.
...
- Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.
- Move AC_LIB_LTDL down to libraries section.
svn path=/trunk/yasm/; revision=655
23 years ago
Peter Johnson
ebd3ddc13f
Ignore libtool-generated objects and directories.
...
svn path=/trunk/yasm/; revision=653
23 years ago
Peter Johnson
ac8d8e085a
Declare errwarn_new(), error_common(), and warning_common() as static.
...
svn path=/trunk/yasm/; revision=652
23 years ago
Peter Johnson
71fdfbdb7a
Add configure.lineno to CLEANFILES. It doesn't delete itself or have something
...
else delete it, making distcheck impossible (the build directory isn't empty
after a distclean).
svn path=/trunk/yasm/; revision=651
23 years ago
Peter Johnson
017c378bce
Define lib_LTLIBRARIES to avoid automake warning.
...
svn path=/trunk/yasm/; revision=650
23 years ago
Peter Johnson
f78505a6a5
Add xstrndup() to easily create a 0-terminated duplicate of a
...
non-zero-terminated source string.
svn path=/trunk/yasm/; revision=649
23 years ago
Peter Johnson
13c443b70c
Re-enable building of re2c (not lemon yet), including a generic Makefile rule.
...
A rewrite of the nasm-compat lexer in re2c is close to completion.
svn path=/trunk/yasm/; revision=648
23 years ago
Peter Johnson
9eedce2b89
Cleanup script for re2c output that removes unreferenced labels (significantly
...
reducing C compiler warnings).
svn path=/trunk/yasm/; revision=647
23 years ago
Peter Johnson
5ba3fb01bf
Fix 2 major bugs: -b switch caused crash, and all actions got corrupted.
...
svn path=/trunk/yasm/; revision=646
23 years ago
Peter Johnson
f4fec24014
We don't use the tools right now, so don't bother building them/including them
...
in the distribution.
svn path=/trunk/yasm/; revision=645
23 years ago
Peter Johnson
087d82762e
Initial revision
...
svn path=/trunk/yasm/; revision=641
23 years ago
Peter Johnson
91b09aa668
Integrate gettext, libtool, and libltdl into CVS and more tightly into
...
configuration process.
svn path=/trunk/yasm/; revision=640
23 years ago
Peter Johnson
9453c2b02c
Include all the m4 files in EXTRA_DIST.
...
svn path=/trunk/yasm/; revision=639
23 years ago
Peter Johnson
873a785904
Initial revision
...
svn path=/trunk/yasm/; revision=635
23 years ago