]>
granicus.if.org Git - yasm/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
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
Michael Urman [Thu, 5 Jul 2001 03:56:14 +0000 (03:56 -0000)]
Handle grouped instructions format.
svn path=/trunk/yasm/; revision=96
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
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
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
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
Peter Johnson [Thu, 5 Jul 2001 02:51:01 +0000 (02:51 -0000)]
Add memref to declared types.
svn path=/trunk/yasm/; revision=91
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
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
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
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
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
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
Peter Johnson [Wed, 4 Jul 2001 20:09:44 +0000 (20:09 -0000)]
Implement sfence.
svn path=/trunk/yasm/; revision=84
Peter Johnson [Wed, 4 Jul 2001 08:14:46 +0000 (08:14 -0000)]
Add !onebytemem and !twobytemem.
svn path=/trunk/yasm/; revision=83
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
Peter Johnson [Wed, 4 Jul 2001 07:05:13 +0000 (07:05 -0000)]
xadd reg,mem is invalid.
svn path=/trunk/yasm/; revision=81
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
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
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
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
Peter Johnson [Fri, 29 Jun 2001 05:15:52 +0000 (05:15 -0000)]
Force standard C compilation.
svn path=/trunk/yasm/; revision=76
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
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
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
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
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
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
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
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
Peter Johnson [Fri, 29 Jun 2001 02:11:36 +0000 (02:11 -0000)]
Add toascii() implementation.
svn path=/trunk/yasm/; revision=67
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Peter Johnson [Wed, 13 Jun 2001 05:25:21 +0000 (05:25 -0000)]
Added util.o to dependencies.
svn path=/trunk/yasm/; revision=50
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
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
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
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
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
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
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
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
Michael Urman [Wed, 30 May 2001 07:26:28 +0000 (07:26 -0000)]
Added third opcode byte
svn path=/trunk/yasm/; revision=41
Michael Urman [Wed, 30 May 2001 07:25:13 +0000 (07:25 -0000)]
more modular retrofitting
svn path=/trunk/yasm/; revision=40
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
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
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
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
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
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
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
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
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
Peter Johnson [Mon, 21 May 2001 22:10:27 +0000 (22:10 -0000)]
Added TO and segreg.
svn path=/trunk/yasm/; revision=30
Peter Johnson [Mon, 21 May 2001 22:10:02 +0000 (22:10 -0000)]
Added "TO".
svn path=/trunk/yasm/; revision=29
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Peter Johnson [Fri, 18 May 2001 21:42:32 +0000 (21:42 -0000)]
Merge immediate and relative structures.
svn path=/trunk/yasm/; revision=11
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
Peter Johnson [Fri, 18 May 2001 21:40:54 +0000 (21:40 -0000)]
Fix prototype warning.
svn path=/trunk/yasm/; revision=9
Peter Johnson [Fri, 18 May 2001 21:40:02 +0000 (21:40 -0000)]
Add -Wstrict-prototypes.
svn path=/trunk/yasm/; revision=8
Peter Johnson [Tue, 15 May 2001 05:28:44 +0000 (05:28 -0000)]
Initial check-in.
svn path=/trunk/yasm/; revision=7
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
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
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
Peter Johnson [Tue, 8 May 2001 05:40:54 +0000 (05:40 -0000)]
Current license (GPL).
svn path=/trunk/yasm/; revision=3