]> granicus.if.org Git - yasm/log
yasm
23 years agoBetter and more generalized kludge for sliding $0.\d down.
Michael Urman [Mon, 9 Jul 2001 05:30:55 +0000 (05:30 -0000)]
Better and more generalized kludge for sliding $0.\d down.

svn path=/trunk/yasm/; revision=118

23 years agoIntegrate expression handling into memory address expressions.
Michael Urman [Fri, 6 Jul 2001 06:25:53 +0000 (06:25 -0000)]
Integrate expression handling into memory address expressions.
Consequently change Imm->EA, and update DebugPrintBC (fix segvs too)

svn path=/trunk/yasm/; revision=117

23 years agoFix and tighten down on validation regexps. Add support for 4th group
Peter Johnson [Fri, 6 Jul 2001 04:42:59 +0000 (04:42 -0000)]
Fix and tighten down on validation regexps.  Add support for 4th group
parameter.

svn path=/trunk/yasm/; revision=116

23 years agoEliminate conflicts by setting associativity (and precedence too).
Peter Johnson [Thu, 5 Jul 2001 09:50:51 +0000 (09:50 -0000)]
Eliminate conflicts by setting associativity (and precedence too).

svn path=/trunk/yasm/; revision=115

23 years agoAlign inst the same as !grp to improve readability.
Peter Johnson [Thu, 5 Jul 2001 09:39:30 +0000 (09:39 -0000)]
Align inst the same as !grp to improve readability.

svn path=/trunk/yasm/; revision=114

23 years agoFixed the non-ansi attempts to pass a union member casted as the union
Michael Urman [Thu, 5 Jul 2001 09:32:58 +0000 (09:32 -0000)]
Fixed the non-ansi attempts to pass a union member casted as the union
type.

svn path=/trunk/yasm/; revision=113

23 years agoEnable and add support for (in gen_instr.pl) short xchg AX and EAX forms.
Peter Johnson [Thu, 5 Jul 2001 09:30:04 +0000 (09:30 -0000)]
Enable and add support for (in gen_instr.pl) short xchg AX and EAX forms.

svn path=/trunk/yasm/; revision=112

23 years agoOops. Used the write struct this time.
Michael Urman [Thu, 5 Jul 2001 08:59:29 +0000 (08:59 -0000)]
Oops.  Used the write struct this time.

svn path=/trunk/yasm/; revision=111

23 years agoAdded prototype for ConvertExprToImm()
Michael Urman [Thu, 5 Jul 2001 08:58:31 +0000 (08:58 -0000)]
Added prototype for ConvertExprToImm()

svn path=/trunk/yasm/; revision=110

23 years agoLong hairy integration of expression handling into the grammar.
Michael Urman [Thu, 5 Jul 2001 08:37:59 +0000 (08:37 -0000)]
Long hairy integration of expression handling into the grammar.
Added printing, getvalue functionality to expr.[ch]
Changed immval to house an expr* instead of an unsigned long.

gen_instr.pl needs to be updated for ONE cases to fix pointer compares.
bison s/r conflicts still need to be handled.

svn path=/trunk/yasm/; revision=109

23 years agoChange groupdate into an array, and make everything 0-based in the output
Peter Johnson [Thu, 5 Jul 2001 07:21:35 +0000 (07:21 -0000)]
Change groupdate into an array, and make everything 0-based in the output
code.  Bit of a kludge required in gen_instr.pl to slide the $0.\d down by
one (is there a better way to do it?).

svn path=/trunk/yasm/; revision=108

23 years agoAllow opsize parameters, to eliminate !onebyte16 and !onebyte32.
Peter Johnson [Thu, 5 Jul 2001 07:00:01 +0000 (07:00 -0000)]
Allow opsize parameters, to eliminate !onebyte16 and !onebyte32.

svn path=/trunk/yasm/; revision=107

23 years agoInitial checkin of expression handling.
Michael Urman [Thu, 5 Jul 2001 06:28:54 +0000 (06:28 -0000)]
Initial checkin of expression handling.

svn path=/trunk/yasm/; revision=106

23 years agoFix movdq2q, movq2dq encodings.
Peter Johnson [Thu, 5 Jul 2001 06:24:09 +0000 (06:24 -0000)]
Fix movdq2q, movq2dq encodings.

svn path=/trunk/yasm/; revision=105

23 years agoFix typo (cmpneqps -> cmpneqsd).
Peter Johnson [Thu, 5 Jul 2001 06:18:19 +0000 (06:18 -0000)]
Fix typo (cmpneqps -> cmpneqsd).

svn path=/trunk/yasm/; revision=104

23 years agoImplement all variations of the SSE and SSE2 cmp* family.
Peter Johnson [Thu, 5 Jul 2001 06:16:56 +0000 (06:16 -0000)]
Implement all variations of the SSE and SSE2 cmp* family.

svn path=/trunk/yasm/; revision=103

23 years ago#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.
Peter Johnson [Thu, 5 Jul 2001 05:41:45 +0000 (05:41 -0000)]
#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.

svn path=/trunk/yasm/; revision=102

23 years agoMany minor relocations, fixes, particularly with the CPU field.
Peter Johnson [Thu, 5 Jul 2001 05:38:40 +0000 (05:38 -0000)]
Many minor relocations, fixes, particularly with the CPU field.

svn path=/trunk/yasm/; revision=101

23 years agoBackroll 1.12 and 1.13, they cause conflicts. We need to find a better way
Peter Johnson [Thu, 5 Jul 2001 05:04:37 +0000 (05:04 -0000)]
Backroll 1.12 and 1.13, they cause conflicts.  We need to find a better way
to do this.

svn path=/trunk/yasm/; revision=100

23 years agoAdded support for spitting out multiple warnings and errors.
Michael Urman [Thu, 5 Jul 2001 04:53:13 +0000 (04:53 -0000)]
Added support for spitting out multiple warnings and errors.
And consequently decided that i'm probably not validating half the
  fields correctly.  Maybe peter will fix that.  Hint hint.

svn path=/trunk/yasm/; revision=99

23 years agoUpdated validation regexps for $0.\d fields.
Michael Urman [Thu, 5 Jul 2001 04:32:13 +0000 (04:32 -0000)]
Updated validation regexps for $0.\d fields.
Removed obosolete commented "next unless ref $instr{$inst};"s

svn path=/trunk/yasm/; revision=98

23 years agoRemoved use of "our," so as not to require perl 5.6
Michael Urman [Thu, 5 Jul 2001 04:17:52 +0000 (04:17 -0000)]
Removed use of "our," so as not to require perl 5.6

svn path=/trunk/yasm/; revision=97

23 years agoHandle grouped instructions format.
Michael Urman [Thu, 5 Jul 2001 03:56:14 +0000 (03:56 -0000)]
Handle grouped instructions format.

svn path=/trunk/yasm/; revision=96

23 years agoIndent sections under "groupings used throughout".
Peter Johnson [Thu, 5 Jul 2001 03:43:13 +0000 (03:43 -0000)]
Indent sections under "groupings used throughout".

svn path=/trunk/yasm/; revision=95

23 years agoMove !ssepsimm up to before it's used.
Peter Johnson [Thu, 5 Jul 2001 03:00:26 +0000 (03:00 -0000)]
Move !ssepsimm up to before it's used.

svn path=/trunk/yasm/; revision=94

23 years agoMove cmpps/cmppd to the right location in the file.
Peter Johnson [Thu, 5 Jul 2001 02:57:56 +0000 (02:57 -0000)]
Move cmpps/cmppd to the right location in the file.

svn path=/trunk/yasm/; revision=93

23 years agoCompletely reorder instructions to match that in GNU binutils
Peter Johnson [Thu, 5 Jul 2001 02:53:35 +0000 (02:53 -0000)]
Completely reorder instructions to match that in GNU binutils
/include/opcode/i386.h, used for the GAS assembler.
This also helped find some missing instructions and CPU field errors, not
all of which have been added/corrected yet.

svn path=/trunk/yasm/; revision=92

23 years agoAdd memref to declared types.
Peter Johnson [Thu, 5 Jul 2001 02:51:01 +0000 (02:51 -0000)]
Add memref to declared types.

svn path=/trunk/yasm/; revision=91

23 years agoFixed comment in test opcode encodings.
Peter Johnson [Wed, 4 Jul 2001 21:28:22 +0000 (21:28 -0000)]
Fixed comment in test opcode encodings.

svn path=/trunk/yasm/; revision=90

23 years agoCombine a couple instances of imm & imm8x into imm8 (and 16 and 32).
Peter Johnson [Wed, 4 Jul 2001 21:22:23 +0000 (21:22 -0000)]
Combine a couple instances of imm & imm8x into imm8 (and 16 and 32).

svn path=/trunk/yasm/; revision=89

23 years agoUse %1 and %2 instead of %s and %d for "duplicate definition" error message
Peter Johnson [Wed, 4 Jul 2001 20:57:53 +0000 (20:57 -0000)]
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

23 years agoChange mem (other sized memory reference) to cause operand size mismatch error
Peter Johnson [Wed, 4 Jul 2001 20:53:21 +0000 (20:53 -0000)]
Change mem (other sized memory reference) to cause operand size mismatch error
if a size is specified.

svn path=/trunk/yasm/; revision=87

23 years agoAdd CPU field to fence instructions.
Peter Johnson [Wed, 4 Jul 2001 20:22:34 +0000 (20:22 -0000)]
Add CPU field to fence instructions.

svn path=/trunk/yasm/; revision=86

23 years agoImplement lfence and missing mfence, minpd/ps/sd/ss.
Peter Johnson [Wed, 4 Jul 2001 20:16:43 +0000 (20:16 -0000)]
Implement lfence and missing mfence, minpd/ps/sd/ss.

svn path=/trunk/yasm/; revision=85

23 years agoImplement sfence.
Peter Johnson [Wed, 4 Jul 2001 20:09:44 +0000 (20:09 -0000)]
Implement sfence.

svn path=/trunk/yasm/; revision=84

23 years agoAdd !onebytemem and !twobytemem.
Peter Johnson [Wed, 4 Jul 2001 08:14:46 +0000 (08:14 -0000)]
Add !onebytemem and !twobytemem.

svn path=/trunk/yasm/; revision=83

23 years agoCombine cmpxchg and xadd into !cmpxchgxadd.
Peter Johnson [Wed, 4 Jul 2001 08:03:04 +0000 (08:03 -0000)]
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

23 years agoxadd reg,mem is invalid.
Peter Johnson [Wed, 4 Jul 2001 07:05:13 +0000 (07:05 -0000)]
xadd reg,mem is invalid.

svn path=/trunk/yasm/; revision=81

23 years agoDelete a couple blank lines accidently left in last commit.
Peter Johnson [Wed, 4 Jul 2001 04:45:51 +0000 (04:45 -0000)]
Delete a couple blank lines accidently left in last commit.

svn path=/trunk/yasm/; revision=80

23 years agoAdd instruction grouping to decrease size of generated yacc code.
Peter Johnson [Wed, 4 Jul 2001 04:24:52 +0000 (04:24 -0000)]
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

23 years agoAdd --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".
Peter Johnson [Fri, 29 Jun 2001 06:25:08 +0000 (06:25 -0000)]
Add --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".

svn path=/trunk/yasm/; revision=78

23 years agoMove extra autoconf/automake files to config/ directory.
Peter Johnson [Fri, 29 Jun 2001 05:35:11 +0000 (05:35 -0000)]
Move extra autoconf/automake files to config/ directory.

svn path=/trunk/yasm/; revision=77

23 years agoForce standard C compilation.
Peter Johnson [Fri, 29 Jun 2001 05:15:52 +0000 (05:15 -0000)]
Force standard C compilation.

svn path=/trunk/yasm/; revision=76

23 years agoDon't distribute config.h, and bison.tab.h is gone due to changes in
Peter Johnson [Fri, 29 Jun 2001 05:14:57 +0000 (05:14 -0000)]
Don't distribute config.h, and bison.tab.h is gone due to changes in
src/Makefile.am.

svn path=/trunk/yasm/; revision=75

23 years agoReverse include and src directories to make sure config.h is built first.
Peter Johnson [Fri, 29 Jun 2001 05:14:17 +0000 (05:14 -0000)]
Reverse include and src directories to make sure config.h is built first.

svn path=/trunk/yasm/; revision=74

23 years agoRemove bison.tab.h due to changes in src/Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:13:33 +0000 (05:13 -0000)]
Remove bison.tab.h due to changes in src/Makefile.am.

svn path=/trunk/yasm/; revision=73

23 years agoChange lex and yacc filenames to match changes in Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:12:44 +0000 (05:12 -0000)]
Change lex and yacc filenames to match changes in Makefile.am.

svn path=/trunk/yasm/; revision=72

23 years agoUse bison.h instead of bison.tab.h to match changes to Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:11:40 +0000 (05:11 -0000)]
Use bison.h instead of bison.tab.h to match changes to Makefile.am.

svn path=/trunk/yasm/; revision=71

23 years agoFix how lex and yacc are handled.
Peter Johnson [Fri, 29 Jun 2001 05:11:17 +0000 (05:11 -0000)]
Fix how lex and yacc are handled.

svn path=/trunk/yasm/; revision=70

23 years agoAdd additional checks: const, size_t, vprintf() family, strtoul, and toascii.
Peter Johnson [Fri, 29 Jun 2001 02:13:08 +0000 (02:13 -0000)]
Add additional checks: const, size_t, vprintf() family, strtoul, and toascii.

svn path=/trunk/yasm/; revision=69

23 years agoUse toascii() again (now implemented in util.h if not present on system).
Peter Johnson [Fri, 29 Jun 2001 02:12:15 +0000 (02:12 -0000)]
Use toascii() again (now implemented in util.h if not present on system).

svn path=/trunk/yasm/; revision=68

23 years agoAdd toascii() implementation.
Peter Johnson [Fri, 29 Jun 2001 02:11:36 +0000 (02:11 -0000)]
Add toascii() implementation.

svn path=/trunk/yasm/; revision=67

23 years agostrtoul() implementation for systems that lack it (from BSD).
Peter Johnson [Fri, 29 Jun 2001 02:06:55 +0000 (02:06 -0000)]
strtoul() implementation for systems that lack it (from BSD).

svn path=/trunk/yasm/; revision=66

23 years agoChange copyright and code to match original UCB source.
Peter Johnson [Thu, 28 Jun 2001 22:21:17 +0000 (22:21 -0000)]
Change copyright and code to match original UCB source.

svn path=/trunk/yasm/; revision=65

23 years agoUse ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).
Peter Johnson [Thu, 28 Jun 2001 21:22:01 +0000 (21:22 -0000)]
Use ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).

svn path=/trunk/yasm/; revision=64

23 years agoIgnore aclocal/autoheader/autoconf/automake files.
Peter Johnson [Thu, 28 Jun 2001 08:55:29 +0000 (08:55 -0000)]
Ignore aclocal/autoheader/autoconf/automake files.

svn path=/trunk/yasm/; revision=63

23 years agoUse autoconf to determine when to include our implementation of strdup, so
Peter Johnson [Thu, 28 Jun 2001 08:50:09 +0000 (08:50 -0000)]
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

23 years agoUse autoconf to determine when to include our implementation of strdup, so
Peter Johnson [Thu, 28 Jun 2001 08:48:32 +0000 (08:48 -0000)]
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

23 years agoRemove unfinished expr.h from listed sources so that dist target works.
Peter Johnson [Thu, 28 Jun 2001 03:20:06 +0000 (03:20 -0000)]
Remove unfinished expr.h from listed sources so that dist target works.

svn path=/trunk/yasm/; revision=60

23 years agoRemoved unfinished expr.c from listed sources.
Michael Urman [Wed, 27 Jun 2001 22:57:21 +0000 (22:57 -0000)]
Removed unfinished expr.c from listed sources.

svn path=/trunk/yasm/; revision=59

23 years agoInitial checkin of automake/autoconf files.
Michael Urman [Wed, 27 Jun 2001 22:45:20 +0000 (22:45 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.

svn path=/trunk/yasm/; revision=58

23 years agoRemoved to leave space for automake/autoconf generated one.
Michael Urman [Wed, 27 Jun 2001 22:43:11 +0000 (22:43 -0000)]
Removed to leave space for automake/autoconf generated one.

svn path=/trunk/yasm/; revision=57

23 years agoInitial checkin of automake/autoconf files.
Michael Urman [Wed, 27 Jun 2001 20:07:20 +0000 (20:07 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.

svn path=/trunk/yasm/; revision=56

23 years agoisascii -> implementation. This is ANSI C, but some headers don't believe it.
Peter Johnson [Wed, 13 Jun 2001 06:05:08 +0000 (06:05 -0000)]
isascii -> implementation.  This is ANSI C, but some headers don't believe it.

svn path=/trunk/yasm/; revision=55

23 years agoAdded appropriate header for y_strdup. (oops)
Michael Urman [Wed, 13 Jun 2001 05:58:21 +0000 (05:58 -0000)]
Added appropriate header for y_strdup.  (oops)

svn path=/trunk/yasm/; revision=54

23 years agoAdded error for duplicate definitions of labels.
Michael Urman [Wed, 13 Jun 2001 05:56:06 +0000 (05:56 -0000)]
Added error for duplicate definitions of labels.
Changed strdup to y_strdup (ANSI compatibility).

svn path=/trunk/yasm/; revision=53

23 years agotoascii -> &= 0x7F for ANSI C compatibility.
Peter Johnson [Wed, 13 Jun 2001 05:53:25 +0000 (05:53 -0000)]
toascii -> &= 0x7F for ANSI C compatibility.

svn path=/trunk/yasm/; revision=52

23 years agoAdded handling of labels including:
Michael Urman [Wed, 13 Jun 2001 05:43:59 +0000 (05:43 -0000)]
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

23 years agoAdded util.o to dependencies.
Peter Johnson [Wed, 13 Jun 2001 05:25:21 +0000 (05:25 -0000)]
Added util.o to dependencies.

svn path=/trunk/yasm/; revision=50

23 years agoInitial check-in of utility functions.
Peter Johnson [Wed, 13 Jun 2001 05:24:50 +0000 (05:24 -0000)]
Initial check-in of utility functions.

svn path=/trunk/yasm/; revision=49

23 years agoChanged bison.y and token.l build rule.
Peter Johnson [Wed, 30 May 2001 23:35:55 +0000 (23:35 -0000)]
Changed bison.y and token.l build rule.
Added bison.y and token.l to "clean" target.

svn path=/trunk/yasm/; revision=48

23 years agoAdd error rule for all instructions.
Michael Urman [Wed, 30 May 2001 21:39:53 +0000 (21:39 -0000)]
Add error rule for all instructions.

svn path=/trunk/yasm/; revision=47

23 years agoImplemented rcpss and fixed opcode encoding for rcpps.
Peter Johnson [Wed, 30 May 2001 08:02:47 +0000 (08:02 -0000)]
Implemented rcpss and fixed opcode encoding for rcpps.

svn path=/trunk/yasm/; revision=46

23 years agoRealign table columns to allow enough space for the opcode.
Peter Johnson [Wed, 30 May 2001 08:00:26 +0000 (08:00 -0000)]
Realign table columns to allow enough space for the opcode.
Caveat: does make some lines >80 columns.

svn path=/trunk/yasm/; revision=45

23 years agoUse new interface functions in bytecode.c instead of writing values directly.
Peter Johnson [Wed, 30 May 2001 07:41:27 +0000 (07:41 -0000)]
Use new interface functions in bytecode.c instead of writing values directly.

svn path=/trunk/yasm/; revision=44

23 years agoReorganize (yet again) effective address, immediate value, and instruction
Peter Johnson [Wed, 30 May 2001 07:41:03 +0000 (07:41 -0000)]
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

23 years agoAdd multiple segment override/prefix warnings.
Peter Johnson [Wed, 30 May 2001 07:38:42 +0000 (07:38 -0000)]
Add multiple segment override/prefix warnings.

svn path=/trunk/yasm/; revision=42

23 years agoAdded third opcode byte
Michael Urman [Wed, 30 May 2001 07:26:28 +0000 (07:26 -0000)]
Added third opcode byte

svn path=/trunk/yasm/; revision=41

23 years agomore modular retrofitting
Michael Urman [Wed, 30 May 2001 07:25:13 +0000 (07:25 -0000)]
more modular retrofitting

svn path=/trunk/yasm/; revision=40

23 years agoMoved from 2-byte to 3-byte opcodes.
Peter Johnson [Wed, 30 May 2001 07:07:16 +0000 (07:07 -0000)]
Moved from 2-byte to 3-byte opcodes.

svn path=/trunk/yasm/; revision=39

23 years agoHorrible hack to fold ONE, and REG_A* into more general versions of the
Michael Urman [Wed, 30 May 2001 06:43:02 +0000 (06:43 -0000)]
Horrible hack to fold ONE, and REG_A* into more general versions of the
grammar, but only if they actually exist in the set; generate normally
if the more general version doesn't exist.

svn path=/trunk/yasm/; revision=38

23 years agoCall new error output functions after every line.
Peter Johnson [Tue, 22 May 2001 20:48:21 +0000 (20:48 -0000)]
Call new error output functions after every line.
Moved line_number increment into single location.
Use SetEASegment() to set the segment override in memory addresses.

svn path=/trunk/yasm/; revision=37

23 years agoAdded SetEASegment and SetEAAddressSize (not yet implemented).
Peter Johnson [Tue, 22 May 2001 20:46:13 +0000 (20:46 -0000)]
Added SetEASegment and SetEAAddressSize (not yet implemented).

svn path=/trunk/yasm/; revision=36

23 years agoSplit error and warning handlers into notify and output functions.
Peter Johnson [Tue, 22 May 2001 20:44:32 +0000 (20:44 -0000)]
Split error and warning handlers into notify and output functions.
Paired with changes in bison.y.in, this will make sure only one error
and/or warning is output for each line.

svn path=/trunk/yasm/; revision=35

23 years agoBrought @valid_regs up-to-date with bison.y.in.
Peter Johnson [Tue, 22 May 2001 07:17:50 +0000 (07:17 -0000)]
Brought @valid_regs up-to-date with bison.y.in.

svn path=/trunk/yasm/; revision=34

23 years agoFix all shift/reduce and reduce/reduce conflicts except for those that
Peter Johnson [Tue, 22 May 2001 07:17:04 +0000 (07:17 -0000)]
Fix all shift/reduce and reduce/reduce conflicts except for those that
involve REG_AL, REG_AX, and REG_EAX with immediates.  Also eliminated
various unused rules.
Still need to figure out the proper thing to do with XCHG and AX/EAX as
one of the parameters.
Build still breaks because ONE is not a real token (it needs to be handled
along with the AL, AX, and EAX conflicts in gen_instr.pl).

svn path=/trunk/yasm/; revision=33

23 years agoChanged structure to one hash - now order is not preserved.
Michael Urman [Mon, 21 May 2001 22:33:23 +0000 (22:33 -0000)]
Changed structure to one hash - now order is not preserved.
On the bright side, rules use the | where appropriate.
Arguments after TO rules are shifted right by 1.
Aliased arguments are handled in the lexer.

svn path=/trunk/yasm/; revision=32

23 years agoAdded bison.y and token.l (now dynamically generated).
Peter Johnson [Mon, 21 May 2001 22:11:13 +0000 (22:11 -0000)]
Added bison.y and token.l (now dynamically generated).

svn path=/trunk/yasm/; revision=31

23 years agoAdded TO and segreg.
Peter Johnson [Mon, 21 May 2001 22:10:27 +0000 (22:10 -0000)]
Added TO and segreg.

svn path=/trunk/yasm/; revision=30

23 years agoAdded "TO".
Peter Johnson [Mon, 21 May 2001 22:10:02 +0000 (22:10 -0000)]
Added "TO".

svn path=/trunk/yasm/; revision=29

23 years agoFirst commit. Generates all needed sections of token.l, bison.y from
Michael Urman [Mon, 21 May 2001 21:46:33 +0000 (21:46 -0000)]
First commit.  Generates all needed sections of token.l, bison.y from
instrs.dat, token.l.in, bison.y.in.  Optionally can use other files, or
just verify input is valid.

svn path=/trunk/yasm/; revision=28

23 years agoInserted /* @FOO@ */ markers for dynamic generation via gen_instr.pl.
Michael Urman [Mon, 21 May 2001 21:44:47 +0000 (21:44 -0000)]
Inserted /* @FOO@ */ markers for dynamic generation via gen_instr.pl.

svn path=/trunk/yasm/; revision=27

23 years agoAdded dynamic generation of token.l, bison.y from token.l.in, bison.y.in.
Michael Urman [Mon, 21 May 2001 21:43:47 +0000 (21:43 -0000)]
Added dynamic generation of token.l, bison.y from token.l.in, bison.y.in.
It's ugly, but it only generates once until new files exist.

svn path=/trunk/yasm/; revision=26

23 years agoRepocopied to .in version in preparation for gen_instr.pl generation of
Peter Johnson [Mon, 21 May 2001 21:18:07 +0000 (21:18 -0000)]
Repocopied to .in version in preparation for gen_instr.pl generation of
instruction components.

svn path=/trunk/yasm/; revision=25

23 years agoNeed to zero need_modrm in BuildBC_Insn() if no EA.
Peter Johnson [Mon, 21 May 2001 21:04:54 +0000 (21:04 -0000)]
Need to zero need_modrm in BuildBC_Insn() if no EA.

svn path=/trunk/yasm/; revision=24

23 years agoAdded .cvsignore for src and include directories.
Peter Johnson [Mon, 21 May 2001 20:22:07 +0000 (20:22 -0000)]
Added .cvsignore for src and include directories.

svn path=/trunk/yasm/; revision=23

23 years agoAdded conversion from immediate value to effective address. Used for enter
Peter Johnson [Mon, 21 May 2001 20:17:51 +0000 (20:17 -0000)]
Added conversion from immediate value to effective address.  Used for enter
instruction (which takes two immediate values).
To facilitate this change, changed meaning of "len" in bytecode structure
to be only the length of the offset (from being 1+length, the 1 being for the
Mod/RM byte), and added a need_modrm flag similar to the need_sib flag in
functionality.

svn path=/trunk/yasm/; revision=22

23 years agoAdded warning for "value exceeds bounds".
Peter Johnson [Mon, 21 May 2001 20:14:58 +0000 (20:14 -0000)]
Added warning for "value exceeds bounds".

svn path=/trunk/yasm/; revision=21

23 years agoReformatted BuildBC_Insn's argument list to aligned one arg per line.
Michael Urman [Mon, 21 May 2001 19:32:51 +0000 (19:32 -0000)]
Reformatted BuildBC_Insn's argument list to aligned one arg per line.

svn path=/trunk/yasm/; revision=20

23 years agoImplemented dynamic argument types for error and warning messages.
Peter Johnson [Mon, 21 May 2001 18:31:43 +0000 (18:31 -0000)]
Implemented dynamic argument types for error and warning messages.

svn path=/trunk/yasm/; revision=19