]> granicus.if.org Git - yasm/log
yasm
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

23 years agoFix syntax of main() definition.
Peter Johnson [Mon, 21 May 2001 02:15:53 +0000 (02:15 -0000)]
Fix syntax of main() definition.
Return EXIT_SUCCESS instead of 0 for portability.

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

23 years agoFixed regex match for DIRECTIVE_VAL.
Peter Johnson [Sun, 20 May 2001 08:39:48 +0000 (08:39 -0000)]
Fixed regex match for DIRECTIVE_VAL.

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

23 years agoChanged implementation of directives. Added some rudimentary error checking.
Peter Johnson [Sun, 20 May 2001 08:35:18 +0000 (08:35 -0000)]
Changed implementation of directives.  Added some rudimentary error checking.

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

23 years agoyyerror() moved to errwarn.c. Changed file comment to reflect that error
Peter Johnson [Sun, 20 May 2001 08:32:08 +0000 (08:32 -0000)]
yyerror() moved to errwarn.c.  Changed file comment to reflect that error
and warning code is not in this file.

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

23 years agoAdded errwarn.o to dependencies (error and warning reporting).
Peter Johnson [Sun, 20 May 2001 08:30:04 +0000 (08:30 -0000)]
Added errwarn.o to dependencies (error and warning reporting).

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

23 years agoInitial check-in. Still need to implement dynamic argument typing.
Peter Johnson [Sun, 20 May 2001 08:28:57 +0000 (08:28 -0000)]
Initial check-in.  Still need to implement dynamic argument typing.

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

23 years agoRemoved accidental garbage in last commit.
Peter Johnson [Fri, 18 May 2001 21:59:44 +0000 (21:59 -0000)]
Removed accidental garbage in last commit.

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

23 years agoMerge immediate and relative structures.
Peter Johnson [Fri, 18 May 2001 21:42:32 +0000 (21:42 -0000)]
Merge immediate and relative structures.

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

23 years agoIndicate some more immediates are signed.
Peter Johnson [Fri, 18 May 2001 21:41:48 +0000 (21:41 -0000)]
Indicate some more immediates are signed.

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

23 years agoFix prototype warning.
Peter Johnson [Fri, 18 May 2001 21:40:54 +0000 (21:40 -0000)]
Fix prototype warning.

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

23 years agoAdd -Wstrict-prototypes.
Peter Johnson [Fri, 18 May 2001 21:40:02 +0000 (21:40 -0000)]
Add -Wstrict-prototypes.

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

23 years agoInitial check-in.
Peter Johnson [Tue, 15 May 2001 05:28:44 +0000 (05:28 -0000)]
Initial check-in.

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

23 years agoInitial check-in.
Peter Johnson [Tue, 15 May 2001 05:24:42 +0000 (05:24 -0000)]
Initial check-in.
Needs doublechecking of everything, particularly CPU flags.

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

23 years agoInitial check-in.
Peter Johnson [Tue, 15 May 2001 05:20:39 +0000 (05:20 -0000)]
Initial check-in.
Contains hardcoded instructions that should be dynamically generated.

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

23 years agoInitial check-in.
Peter Johnson [Tue, 15 May 2001 05:18:00 +0000 (05:18 -0000)]
Initial check-in.
Requires GNU Make.

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

23 years agoCurrent license (GPL).
Peter Johnson [Tue, 8 May 2001 05:40:54 +0000 (05:40 -0000)]
Current license (GPL).

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