81 Commits (9390dd2bbb5bfc76ff8302ae41da5b3492e29e1a)

Author SHA1 Message Date
Peter Johnson 9390dd2bbb Add MMX/SSE2 instructions. 23 years ago
Peter Johnson a2a986add9 Add segreg moves. 23 years ago
Peter Johnson efafc7c6fb Fix some bugs. 23 years ago
Peter Johnson ca721cf125 Implement relative jumps and calls. 23 years ago
Peter Johnson 8495e174cc x86_parse_targetmod enum should start with value 1, not 0. 23 years ago
Peter Johnson c2e982f901 Take opersize as an input for x86_bc_new_jmprel(). 23 years ago
Peter Johnson 2c090517fc Flatten x86_targetval into x86_new_jmprel_data, as the former is no longer used 23 years ago
Peter Johnson cd573321b3 Finish all instructions except for relative jumps, mov segreg, MMX, SSE, and 23 years ago
Peter Johnson eb067621cf Added rest of floating point instructions. Needed to add new action to 23 years ago
Peter Johnson b630a6768b Add checking of target modifier. 23 years ago
Peter Johnson 70442d8b7f Make "TO" a x86 targetmod. 23 years ago
Peter Johnson d6cee4db08 Add a few control transfer instructions, plus set byte on flag, bit manip, 23 years ago
Peter Johnson ef8f221f24 Added shift instructions, as well as new "postponed" actions for things such 23 years ago
Peter Johnson 0af7326e75 Add lea, l?s, and arithmetic instructions. Arithmetic instructions needed 23 years ago
Peter Johnson e1eae9bae5 Add xchg, in, out. in and out required operand type Dreg (DL/DX/EDX) to be 23 years ago
Peter Johnson ce0d675524 Add push and pop. This required adding some new specific operand types, which 23 years ago
Peter Johnson 035fea119a Add explicit $(top_builddir) when running re2c. 23 years ago
Peter Johnson 3320945f95 Massive restructuring of lexing and parsing (NASM-compatible parser). 23 years ago
Peter Johnson 6727a189ab fucom* are FPU instructions. 23 years ago
Peter Johnson 3af9a80722 This file is going away soon, but it's still good to fix errors: CLTS was 23 years ago
Peter Johnson ac2743de63 Prevent spurious "Circular reference detected" errors by refining the return 23 years ago
Peter Johnson a76d8561f7 Fix a couple bugs found by Splint (and do some other Splint cleanups). 23 years ago
Peter Johnson fe8c2a009f Restructure bc_calc_len() family into bc_resolve() family. Many many many 23 years ago
Peter Johnson 53002496e4 Fix a number of bugs in x86_checkea_calc_displen(). 23 years ago
Peter Johnson d85e7014a8 Binary object format output! Lots of structural changes needed, particularly 23 years ago
Peter Johnson e56de0d158 Make call instruction work correctly. The old code generated a legal short 23 years ago
Peter Johnson 4dd0912998 Fix bug in 32-bit displacement with no registers. 23 years ago
Peter Johnson f61b5746f1 Don't compact into a short form if one's not available. 23 years ago
Peter Johnson 044cc90233 Make jcc's default to JR_SHORT in NASM syntax, and test for this possibility 23 years ago
Peter Johnson 056b3fc52c Finish bc_calc_len(), with fixes to x86_bc_calc_len_insn()'s EA sizing calcs, 23 years ago
Peter Johnson 5b2166d50a Don't store "determined" immediate len and neg. Both will be determined from 23 years ago
Peter Johnson 4949569151 Fix memory leak. 23 years ago
Peter Johnson ee74365f05 Add new bc_resolve() family, and rewrite calc_len to /just/ calculate the 23 years ago
Peter Johnson cc635cc237 Change return type of calc_len() family back to int from unsigned long. 23 years ago
Peter Johnson 985d4e9b59 LCLint cleanups. 23 years ago
Peter Johnson f243b4d652 Be nice for debugging purposes and set effaddr sib=0 even when it's not valid. 23 years ago
Peter Johnson e23d88b957 Make resolve_label() take a symrec * instead of a section * and bytecode *. 23 years ago
Peter Johnson e2f2ede90c bc_calc_len() family should return unsigned long, not int. 23 years ago
Peter Johnson 3f2186c1bf Change from current file/line dual storage to a monotonically-increasing line 23 years ago
Peter Johnson ca6a1c8167 Massive build system change: single Makefile instead of recursive. 24 years ago
Peter Johnson 0caf84d85f Massive build system change: single Makefile instead of recursive. 24 years ago
Peter Johnson 2727869bd8 Start work on optimizer module. Moved all "post-parser-finalization" code 24 years ago
Peter Johnson b3cb8c0292 Move assert.h include to util.h 24 years ago
Peter Johnson cf84bbf503 Change REG_SOMEREG -> reg_somereg and add rules that allow BYTE/WORD/DWORD 24 years ago
Peter Johnson 2aec833b07 Don't free EA when simplifying shift_op case. Not only is this code completely 24 years ago
Peter Johnson 825eaa5823 Massive cleanup of debugging output (via _print() functions). All now take 24 years ago
Peter Johnson 9f63877c07 In bytecode_print(), fix checks for short/near opcode printouts. 24 years ago
Peter Johnson ac65ee8770 Better LCLint settings for x86_bc_insn_get_ea(). 24 years ago
Peter Johnson 8178f883a5 Modify so that almost everything passes LCLint with the options in lclint.sh. 24 years ago
Peter Johnson d7fe402fb9 Split away x86-specific parts of expression handling (eg, effective address -> 24 years ago