246 Commits (0ea57bf7bfbb841025673398501bb5201c6f9c07)

Author SHA1 Message Date
Peter Johnson 46c26f12a7 Fix incorrect invalidation of [eax+ebx+ecx-eax] and others like it. 22 years ago
Peter Johnson b3e9ae6254 Don't fully simplify effective addresses before trying to determine their 22 years ago
Peter Johnson 6591a155d0 Check for circular equ references (Bug#8). 22 years ago
Peter Johnson 3420509d65 x86_bc_resolve_jmprel(): Delete unused variable 'target'. 22 years ago
Peter Johnson a3a9fd2aa0 Completely revamp how label resolution is done (part of Bug#6). Now calculates 22 years ago
Peter Johnson f5f92a9d52 PSHUFW has 3 operands, not 2 (typo in num_operands value). 22 years ago
Peter Johnson 99818a7010 RET and RETN are exactly equivalent (the previous commit was wrong, but not 22 years ago
Peter Johnson e1107f96a2 Revert previous commit until we can do this the right way (C2 iw is an 22 years ago
Peter Johnson 302c7215b5 RET is a form of RETNF. 22 years ago
Peter Johnson c1b04966ef Fix lexing bug for XMM[0-7] (wrong character used to get register index). 22 years ago
Peter Johnson ddb25b6aa7 Declare shifted constants unsigned longs (with UL) before shifting, to 22 years ago
Peter Johnson 090a25b8d4 Rename intnum_new_int to intnum_new_uint, and add new signed version of 22 years ago
Peter Johnson c5ef1bf2dc Eliminate duplicate code for callbacks from expr_expand_labelequ() by moving 22 years ago
Peter Johnson 97ad3394e2 The short forms (0x50+reg) of push/pop reg should be selected before the long 22 years ago
Peter Johnson 320a83294e Finish remaining instructions (SSE, SSE2, Cyrix MMX). Changed CPU flags for 22 years ago
Peter Johnson 9390dd2bbb Add MMX/SSE2 instructions. 22 years ago
Peter Johnson a2a986add9 Add segreg moves. 22 years ago
Peter Johnson efafc7c6fb Fix some bugs. 22 years ago
Peter Johnson ca721cf125 Implement relative jumps and calls. 22 years ago
Peter Johnson 8495e174cc x86_parse_targetmod enum should start with value 1, not 0. 22 years ago
Peter Johnson c2e982f901 Take opersize as an input for x86_bc_new_jmprel(). 22 years ago
Peter Johnson 2c090517fc Flatten x86_targetval into x86_new_jmprel_data, as the former is no longer used 22 years ago
Peter Johnson cd573321b3 Finish all instructions except for relative jumps, mov segreg, MMX, SSE, and 22 years ago
Peter Johnson eb067621cf Added rest of floating point instructions. Needed to add new action to 22 years ago
Peter Johnson b630a6768b Add checking of target modifier. 22 years ago
Peter Johnson 70442d8b7f Make "TO" a x86 targetmod. 22 years ago
Peter Johnson d6cee4db08 Add a few control transfer instructions, plus set byte on flag, bit manip, 22 years ago
Peter Johnson ef8f221f24 Added shift instructions, as well as new "postponed" actions for things such 22 years ago
Peter Johnson 0af7326e75 Add lea, l?s, and arithmetic instructions. Arithmetic instructions needed 22 years ago
Peter Johnson e1eae9bae5 Add xchg, in, out. in and out required operand type Dreg (DL/DX/EDX) to be 22 years ago
Peter Johnson ce0d675524 Add push and pop. This required adding some new specific operand types, which 22 years ago
Peter Johnson 035fea119a Add explicit $(top_builddir) when running re2c. 22 years ago
Peter Johnson 3320945f95 Massive restructuring of lexing and parsing (NASM-compatible parser). 22 years ago
Peter Johnson 6727a189ab fucom* are FPU instructions. 22 years ago
Peter Johnson 3af9a80722 This file is going away soon, but it's still good to fix errors: CLTS was 22 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