Michael Urman
0cb10aa577
Fixed the non-ansi attempts to pass a union member casted as the union
...
type.
svn path=/trunk/yasm/; revision=113
24 years ago
Michael Urman
29c9a4f5f2
Oops. Used the write struct this time.
...
svn path=/trunk/yasm/; revision=111
24 years ago
Michael Urman
49f781300e
Added prototype for ConvertExprToImm()
...
svn path=/trunk/yasm/; revision=110
24 years ago
Michael Urman
84bae30656
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
24 years ago
Michael Urman
fb3e968a29
Initial checkin of expression handling.
...
svn path=/trunk/yasm/; revision=106
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
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
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
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
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
2141d4f43d
Initial check-in of utility functions.
...
svn path=/trunk/yasm/; revision=49
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
Peter Johnson
e75125dae3
Moved from 2-byte to 3-byte opcodes.
...
svn path=/trunk/yasm/; revision=39
24 years ago
Peter Johnson
8d656576e2
Added SetEASegment and SetEAAddressSize (not yet implemented).
...
svn path=/trunk/yasm/; revision=36
24 years ago
Peter Johnson
7f9f858b98
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
24 years ago
Peter Johnson
8b5a407ef2
Need to zero need_modrm in BuildBC_Insn() if no EA.
...
svn path=/trunk/yasm/; revision=24
24 years ago
Peter Johnson
e9bd95fd96
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
24 years ago
Peter Johnson
a750e39454
Added warning for "value exceeds bounds".
...
svn path=/trunk/yasm/; revision=21
24 years ago
Michael Urman
3e9f321b66
Reformatted BuildBC_Insn's argument list to aligned one arg per line.
...
svn path=/trunk/yasm/; revision=20
24 years ago
Peter Johnson
7ae09b88b7
Implemented dynamic argument types for error and warning messages.
...
svn path=/trunk/yasm/; revision=19
24 years ago
Peter Johnson
19688f76f7
Initial check-in. Still need to implement dynamic argument typing.
...
svn path=/trunk/yasm/; revision=13
24 years ago
Peter Johnson
2ddc3208dc
Merge immediate and relative structures.
...
svn path=/trunk/yasm/; revision=11
24 years ago
Peter Johnson
03ba6ad091
Fix prototype warning.
...
svn path=/trunk/yasm/; revision=9
24 years ago
Peter Johnson
d3a51f5835
Initial check-in.
...
svn path=/trunk/yasm/; revision=7
24 years ago