Peter Johnson
e34f1a366c
Combine a couple instances of imm & imm8x into imm8 (and 16 and 32).
...
svn path=/trunk/yasm/; revision=89
24 years ago
Peter Johnson
91bc4ab5dc
Use %1 and %2 instead of %s and %d for "duplicate definition" error message
...
(allows message to be arbitarily changed, including reversing order of %1 and
%2 without having to change every location it's called from).
svn path=/trunk/yasm/; revision=88
24 years ago
Peter Johnson
619381bdb9
Change mem (other sized memory reference) to cause operand size mismatch error
...
if a size is specified.
svn path=/trunk/yasm/; revision=87
24 years ago
Peter Johnson
9028fd3820
Add CPU field to fence instructions.
...
svn path=/trunk/yasm/; revision=86
24 years ago
Peter Johnson
d4a97a9e7f
Implement lfence and missing mfence, minpd/ps/sd/ss.
...
svn path=/trunk/yasm/; revision=85
24 years ago
Peter Johnson
69ad452b43
Implement sfence.
...
svn path=/trunk/yasm/; revision=84
24 years ago
Peter Johnson
59aaf6cc88
Add !onebytemem and !twobytemem.
...
svn path=/trunk/yasm/; revision=83
24 years ago
Peter Johnson
4cfa5d046e
Combine cmpxchg and xadd into !cmpxchgxadd.
...
Combine !sseps and !sse2ps.
Change !sse2mmx to !mmxsse and make more flexible (handle both SSE and SSE2).
svn path=/trunk/yasm/; revision=82
24 years ago
Peter Johnson
8c0ec93234
xadd reg,mem is invalid.
...
svn path=/trunk/yasm/; revision=81
24 years ago
Peter Johnson
9e265ed5c7
Delete a couple blank lines accidently left in last commit.
...
svn path=/trunk/yasm/; revision=80
24 years ago
Peter Johnson
e796094e1c
Add instruction grouping to decrease size of generated yacc code.
...
gen_instr.pl still needs to actually implement this, so this currently breaks
the build.
svn path=/trunk/yasm/; revision=79
24 years ago
Peter Johnson
0804065bd4
Add --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".
...
svn path=/trunk/yasm/; revision=78
24 years ago
Peter Johnson
d6c52c0c74
Move extra autoconf/automake files to config/ directory.
...
svn path=/trunk/yasm/; revision=77
24 years ago
Peter Johnson
010ef7fe6e
Force standard C compilation.
...
svn path=/trunk/yasm/; revision=76
24 years ago
Peter Johnson
64dce149b1
Don't distribute config.h, and bison.tab.h is gone due to changes in
...
src/Makefile.am.
svn path=/trunk/yasm/; revision=75
24 years ago
Peter Johnson
a4c2cb29ad
Reverse include and src directories to make sure config.h is built first.
...
svn path=/trunk/yasm/; revision=74
24 years ago
Peter Johnson
104ea94e7e
Remove bison.tab.h due to changes in src/Makefile.am.
...
svn path=/trunk/yasm/; revision=73
24 years ago
Peter Johnson
0664f90a20
Change lex and yacc filenames to match changes in Makefile.am.
...
svn path=/trunk/yasm/; revision=72
24 years ago
Peter Johnson
1a88edb466
Use bison.h instead of bison.tab.h to match changes to Makefile.am.
...
svn path=/trunk/yasm/; revision=71
24 years ago
Peter Johnson
e0f38d8cb7
Fix how lex and yacc are handled.
...
svn path=/trunk/yasm/; revision=70
24 years ago
Peter Johnson
93c75c63a5
Add additional checks: const, size_t, vprintf() family, strtoul, and toascii.
...
svn path=/trunk/yasm/; revision=69
24 years ago
Peter Johnson
82fba53e7f
Use toascii() again (now implemented in util.h if not present on system).
...
svn path=/trunk/yasm/; revision=68
24 years ago
Peter Johnson
bfd5122925
Add toascii() implementation.
...
svn path=/trunk/yasm/; revision=67
24 years ago
Peter Johnson
8a6e7a9d48
strtoul() implementation for systems that lack it (from BSD).
...
svn path=/trunk/yasm/; revision=66
24 years ago
Peter Johnson
5faba8f40f
Change copyright and code to match original UCB source.
...
svn path=/trunk/yasm/; revision=65
24 years ago
Peter Johnson
616bd61994
Use ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).
...
svn path=/trunk/yasm/; revision=64
24 years ago
Peter Johnson
8073375839
Ignore aclocal/autoheader/autoconf/automake files.
...
svn path=/trunk/yasm/; revision=63
24 years ago
Peter Johnson
80c2b676be
Use autoconf to determine when to include our implementation of strdup, so
...
remove util.c and create strdup.c. Make util.h, strdup.c, and several source
files use config.h defines.
svn path=/trunk/yasm/; revision=62
24 years ago
Peter Johnson
6b93227482
Use autoconf to determine when to include our implementation of strdup, so
...
remove util.c and create strdup.c. Make util.h, strdup.c, and several source
files use config.h defines.
svn path=/trunk/yasm/; revision=61
24 years ago
Peter Johnson
96f144ba06
Remove unfinished expr.h from listed sources so that dist target works.
...
svn path=/trunk/yasm/; revision=60
24 years ago
Michael Urman
b2a40ce107
Removed unfinished expr.c from listed sources.
...
svn path=/trunk/yasm/; revision=59
24 years ago
Michael Urman
24e8365454
Initial checkin of automake/autoconf files.
...
Proper split directory builds may fail on the lex/yacc generated files.
svn path=/trunk/yasm/; revision=58
24 years ago
Michael Urman
d4405d9f9d
Removed to leave space for automake/autoconf generated one.
...
svn path=/trunk/yasm/; revision=57
24 years ago
Michael Urman
3a6d83db51
Initial checkin of automake/autoconf files.
...
Proper split directory builds may fail on the lex/yacc generated files.
svn path=/trunk/yasm/; revision=56
24 years ago
Peter Johnson
aee5071769
isascii -> implementation. This is ANSI C, but some headers don't believe it.
...
svn path=/trunk/yasm/; revision=55
24 years ago
Michael Urman
88bb350e0c
Added appropriate header for y_strdup. (oops)
...
svn path=/trunk/yasm/; revision=54
24 years ago
Michael Urman
18e368c82e
Added error for duplicate definitions of labels.
...
Changed strdup to y_strdup (ANSI compatibility).
svn path=/trunk/yasm/; revision=53
24 years ago
Peter Johnson
26e001cc18
toascii -> &= 0x7F for ANSI C compatibility.
...
svn path=/trunk/yasm/; revision=52
24 years ago
Michael Urman
a6ef33c04c
Added handling of labels including:
...
better symbol table functions
calling them from yacc rather than lex
a new warning for .label before normal_label
locallabel_base now a symrec* instead of a strdup'd string.
Still needs some more error checking (to not allow multiple copies of
the same label, etc.)
Also includes move to y_strdup for bison.y.in (ANSI compatibility)
svn path=/trunk/yasm/; revision=51
24 years ago
Peter Johnson
377786e785
Added util.o to dependencies.
...
svn path=/trunk/yasm/; revision=50
24 years ago
Peter Johnson
2141d4f43d
Initial check-in of utility functions.
...
svn path=/trunk/yasm/; revision=49
24 years ago
Peter Johnson
395bf7b97e
Changed bison.y and token.l build rule.
...
Added bison.y and token.l to "clean" target.
svn path=/trunk/yasm/; revision=48
24 years ago
Michael Urman
792bb9a471
Add error rule for all instructions.
...
svn path=/trunk/yasm/; revision=47
24 years ago
Peter Johnson
48587e3642
Implemented rcpss and fixed opcode encoding for rcpps.
...
svn path=/trunk/yasm/; revision=46
24 years ago
Peter Johnson
2489dedd3e
Realign table columns to allow enough space for the opcode.
...
Caveat: does make some lines >80 columns.
svn path=/trunk/yasm/; revision=45
24 years ago
Peter Johnson
8e49bef542
Use new interface functions in bytecode.c instead of writing values directly.
...
svn path=/trunk/yasm/; revision=44
24 years ago
Peter Johnson
4807c5b69b
Reorganize (yet again) effective address, immediate value, and instruction
...
structures.
Add more interface functions to isolate structure internals and make it
easier to add warnings (such as for multiple overrides/prefixes).
svn path=/trunk/yasm/; revision=43
24 years ago
Peter Johnson
c3137f3db3
Add multiple segment override/prefix warnings.
...
svn path=/trunk/yasm/; revision=42
24 years ago
Michael Urman
a100f712c7
Added third opcode byte
...
svn path=/trunk/yasm/; revision=41
24 years ago
Michael Urman
0fa549ffd6
more modular retrofitting
...
svn path=/trunk/yasm/; revision=40
24 years ago