log gen_x86.c @ 989:d70000fdff0b

age author description
Fri, 27 Nov 2015 10:48:13 -0800 Michael Pavone Adjust stack before pushing arguments. Fixes new stack alignment code on 32-bit targets
Thu, 26 Nov 2015 22:30:41 -0800 Michael Pavone Fix for Z80 retranslation post alignment rework
Wed, 25 Nov 2015 08:40:45 -0800 Michael Pavone Partially working change to do proper stack alignment rather than doing a lame alignment check when calling a C compile dfunction. 68K core seems okay, but Z80 is busted.
Sat, 25 Jul 2015 18:22:07 -0700 Michael Pavone Use a new fatal_error function instead of calling fprintf and exit for fatal errors. This new function more gracefully handles the case in which BlastEm was not started from a terminal or disconnected from ther terminal (Windows).
Sat, 27 Jun 2015 12:17:18 -0700 Michael Pavone Cleanup some warnings under clang through a combination of code fixes and supressing specific warnings
Sat, 27 Jun 2015 11:39:55 -0700 Michael Pavone Handle far calls in call_args and call_args_abi
Sat, 23 May 2015 20:25:16 -0700 Michael Pavone Generate an error in x86-32 builds for most cases when a REX prefix would be generated
Tue, 28 Apr 2015 19:04:36 -0700 Michael Pavone Fix bug in map_native_address that was breaking some self-modifying code in Gunstar Heroes
Sat, 14 Mar 2015 12:05:03 -0700 Michael Pavone WIP of functions to determine size of x86 instruction to allow patching of arbitrary pieces of code
Sun, 04 Jan 2015 23:35:55 -0800 Michael Pavone Merge
Fri, 02 Jan 2015 13:14:09 -0800 Michael Pavone Added functions to gen_x86 for saving and restoring callee save registers to better abstract over ABI differences between x86 and x86-64
Thu, 01 Jan 2015 19:15:05 -0800 Michael Pavone Added 2 new functions to gen_x86.c for handling passing args according to the C abi of the host system and adapted the code in m68k_core_x86.c to use that instead of doing everything by hand
Fri, 26 Dec 2014 19:36:41 -0800 Michael Pavone Fix reg-indirect mode for RBP/R13
Mon, 22 Dec 2014 20:55:10 -0800 Michael Pavone Z80 core is sort of working again
Sun, 02 Mar 2014 14:45:36 -0800 Michael Pavone Refactor gen_x86 to use an interface more like gen_arm and to remove the need for the caller to decide whether an 8-bit or 32-bit displacement is needed in the rdisp functions. Update m68k_to_x86 to use the new version of the gen_x86 functions and do some minor refactoring there in the process
Mon, 23 Jun 2014 11:05:55 -0400 Mike Pavone Fix x86_rrindex_sizedir. Pass the correct scale to mov_rindexr in gen_mem_fun. BlastEm now sort of works on OS X. Runs reliably from lldb, but only intermittently from the shell
Wed, 19 Feb 2014 00:22:27 -0800 Michael Pavone Apart from the Z80 core, BlastEm now supports 32-bit x86
Thu, 03 Oct 2013 21:20:29 -0700 Mike Pavone Add support for test instruction to x86 generator library
Tue, 10 Sep 2013 23:31:08 -0700 Mike Pavone Added copyright notice to source files and added GPL license text in COPYING
Mon, 24 Jun 2013 21:32:25 -0700 Mike Pavone Fix access to int_enable_cycle in EI
Tue, 21 May 2013 01:14:59 -0700 Mike Pavone Fix some minor copy pasta bugs that resulted in an unnecessary REX prefix being generated for some instructions
Sat, 18 May 2013 11:44:42 -0700 Mike Pavone Mostly working runtime generation of memory map read/write functions
Thu, 02 May 2013 00:10:24 -0700 Mike Pavone Don't mix *H regs with the REX prefix
Sun, 28 Apr 2013 13:45:17 -0700 Mike Pavone Implement EX, EXX and RST in Z80 core
Thu, 25 Apr 2013 21:01:11 -0700 Mike Pavone Get Z80 core working for simple programs
Fri, 25 Jan 2013 18:39:22 -0800 Mike Pavone Fix overflow flag on ASL
Wed, 16 Jan 2013 22:40:56 -0800 Mike Pavone Implement ABCD an SBCD. Fix BTEST with register source.
Thu, 03 Jan 2013 22:07:40 -0800 Mike Pavone Implement MULU/MULS and DIVU/DIVS
Mon, 31 Dec 2012 20:09:09 -0800 Mike Pavone Implement most of the "X" instructions
Sat, 29 Dec 2012 22:11:28 -0800 Mike Pavone Fix encoding of movsx instruction when used with new (i.e. r9-r15) registers. This fixes the indexed addressing modes when used with a word-wide index register
Sat, 29 Dec 2012 21:10:07 -0800 Mike Pavone Implement the rest of the bit instructions
Fri, 28 Dec 2012 21:25:00 -0800 Mike Pavone Fix call_r in gen_x86 so that it properly returns a pointer to the location after the generated instruction
Fri, 28 Dec 2012 17:57:43 -0800 Mike Pavone Implement scc (untested)
Wed, 26 Dec 2012 11:09:04 -0800 Mike Pavone Initial stab at interrupt support. Make native code offsets bigger so I don't have to worry about overflowing the offset. Implement neg and not (untested).
Sat, 22 Dec 2012 21:37:25 -0800 Mike Pavone Add support for indexed modes as a source, some work on jmp and jsr with areg indirect mode
Fri, 21 Dec 2012 01:00:52 -0800 Mike Pavone Implement more instructions and address modes
Wed, 19 Dec 2012 20:23:59 -0800 Mike Pavone Add support for BTST instruction (untested), absolute addressing mode for instructions other than move (untested) and fix decoding of MOVEM.
Sat, 15 Dec 2012 23:01:32 -0800 Mike Pavone Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding.
Wed, 12 Dec 2012 23:21:11 -0800 Mike Pavone Add untested support for and, eor, or, swap, tst and nop instructions. Add call to m68k_save_result for add and sub so that they will properly save results for memory destinations
Tue, 04 Dec 2012 19:13:12 -0800 Mike Pavone M68K to x86 translation works for a limited subset of instructions and addressing modes
Tue, 27 Nov 2012 22:43:32 -0800 Mike Pavone Make x86 generator generic with respect to operand size for immediate parameters.
Tue, 27 Nov 2012 09:28:13 -0800 Mike Pavone x86 code gen, initial work on translator