82 Commits (0ea57bf7bfbb841025673398501bb5201c6f9c07)

Author SHA1 Message Date
Peter Johnson 015f373d32 x86_bc_resolve_insn(): If x86_expr_checkea fails, return not only 22 years ago
Peter Johnson b3e9ae6254 Don't fully simplify effective addresses before trying to determine their 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 c5ef1bf2dc Eliminate duplicate code for callbacks from expr_expand_labelequ() by moving 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 ef8f221f24 Added shift instructions, as well as new "postponed" actions for things such 23 years ago
Peter Johnson 3320945f95 Massive restructuring of lexing and parsing (NASM-compatible parser). 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 d85e7014a8 Binary object format output! Lots of structural changes needed, particularly 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 2727869bd8 Start work on optimizer module. Moved all "post-parser-finalization" code 23 years ago
Peter Johnson 2aec833b07 Don't free EA when simplifying shift_op case. Not only is this code completely 23 years ago
Peter Johnson 825eaa5823 Massive cleanup of debugging output (via _print() functions). All now take 23 years ago
Peter Johnson 9f63877c07 In bytecode_print(), fix checks for short/near opcode printouts. 23 years ago
Peter Johnson 8178f883a5 Modify so that almost everything passes LCLint with the options in lclint.sh. 23 years ago
Peter Johnson d7fe402fb9 Split away x86-specific parts of expression handling (eg, effective address -> 23 years ago
Peter Johnson a2bc46cb54 Fix file comment. 23 years ago
Peter Johnson f58d7cb093 Split x86-specific stuff away from bytecode. 23 years ago