Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-10-12 | X86: Create a SeqOp class of microops and make Br one of them. | Gabe Black | |
2008-10-12 | X86: Implement CPUID with a magical function instead of microcode. | Gabe Black | |
2008-10-09 | X86: Make far ret modify CS instead of some random selector. | Gabe Black | |
2008-09-10 | style: Remove non-leading tabs everywhere they shouldn't be. Developers ↵ | Ali Saidi | |
should configure their editors to not insert tabs | |||
2008-09-03 | X86: Fix the microcode for sign/zero extending moves that use high byte ↵ | Gabe Black | |
registers. | |||
2008-06-12 | X86: Make the cpuid processor identifier return a real string. | Gabe Black | |
2008-06-12 | X86: Implement and hook up STI and CLI instructions. | Gabe Black | |
2008-06-12 | X86: Implement a partial, sort of correct version of the protected mode ↵ | Gabe Black | |
variant of iret. | |||
2008-06-12 | X86: Change how segment loading is performed. | Gabe Black | |
2008-06-12 | X86: Make pushes and pops use the stack size instead of the data size. | Gabe Black | |
2008-06-12 | X86: Add microops and supporting code to manipulate the whole rflags register. | Gabe Black | |
2008-06-12 | X86: Redo BSF. | Gabe Black | |
2008-06-12 | X86: Make string instructions work when rcx=0. | Gabe Black | |
2008-06-12 | X86: Bypass unaligned access support for register addressed MSRs. | Gabe Black | |
2008-06-12 | X86: Fix the implementation of BSF. | Gabe Black | |
2008-06-12 | X86: Bit scan forward/reverse were accidentally transposed. | Gabe Black | |
2008-06-12 | X86: Fix a byte register indexing issue in the sign extending move from ↵ | Gabe Black | |
memory microcode. | |||
2008-01-23 | X86: Optomize the bit scanning instruction microassembly a little. More can ↵ | Gabe Black | |
be done. --HG-- extra : convert_revision : 3cf6e972f0e41e3529a633ecbb31289e1bd17f0f | |||
2008-01-22 | X86: Implement and attach the BSR and BSF instructions. | Gabe Black | |
--HG-- extra : convert_revision : be7e11980092e5d1baff0e05d4ec910305966908 | |||
2008-01-21 | X86: Fill out group17 in the decoder. | Gabe Black | |
--HG-- extra : convert_revision : 66ab9c0fc3086f66e3d6d82d47964ecf406c3a8a | |||
2008-01-12 | X86: Redo the bit test instructions. | Gabe Black | |
--HG-- extra : convert_revision : 433c2a9f3675ed02f3be5ce759a440f2686d2ccd | |||
2008-01-12 | X86: Fix the general IO instructions dataSize. | Gabe Black | |
--HG-- extra : convert_revision : 9774a52cb6a8e7632d1b1dc0706e5791cc18d238 | |||
2007-12-03 | X86: Please excuse my dear Aunt Sally. (precedence bug) | Gabe Black | |
--HG-- extra : convert_revision : 9ad4f31e7a962c3177896bcbfb93e2e54720d117 | |||
2007-12-02 | X86: Make sure the memory index is calculated using the address size for bit ↵ | Gabe Black | |
test instructions. --HG-- extra : convert_revision : 9634675857dae53b5e79e49267c864a0265afde1 | |||
2007-12-02 | X86: Fix a copy/paste mistake where the bit test instructions were using an ↵ | Gabe Black | |
immediate where they should use a register. --HG-- extra : convert_revision : b0ee80e4c7fdb58a1eb85b3bcc82a0cdaa93330a | |||
2007-12-02 | X86: Make the 0xA0-0xA3 versions of mov use the right sized immediates. | Gabe Black | |
--HG-- extra : convert_revision : a702403de29772618abb5bd5c5555279d91bdd59 | |||
2007-12-01 | X86: Fix a copy paste error in the bts microcode. | Gabe Black | |
--HG-- extra : convert_revision : c4ac007d35ac13211f9816f1104c84f2b447ddba | |||
2007-12-01 | X86: Implement mov from control register. | Gabe Black | |
--HG-- extra : convert_revision : c8280f0686a3ae6d5c405327540ad15a3a5531f9 | |||
2007-12-01 | X86: First crack at far returns. This is grossly approximate. | Gabe Black | |
--HG-- extra : convert_revision : 23da0338af1f7663ae5ddf2289fb45dd32f37c42 | |||
2007-12-01 | X86: Reorganize segmentation and implement segment selector movs. | Gabe Black | |
--HG-- extra : convert_revision : 553c3ffeda1f5312cf02493f602e7d4ba2fe66e8 | |||
2007-11-12 | X86: Implement the wrcr microop which writes a control register, and some ↵ | Gabe Black | |
control register work. --HG-- extra : convert_revision : 3e9daef9cdd0665c033420e5b4f981649e9908ab | |||
2007-11-12 | X86: Implement some bit testing instructions. | Gabe Black | |
--HG-- extra : convert_revision : 54585e276e44322be9c56af0b2eabfe8d4b3e430 | |||
2007-11-12 | X86: Change the meaning of the sext and zext width operand, and make sext ↵ | Gabe Black | |
set zext if the sign bit is 0. --HG-- extra : convert_revision : 08bd7b4ff183038c016612d04ac73b20a255d141 | |||
2007-10-22 | X86: Use the cda microop where appropriate. The ENTER instruction still ↵ | Gabe Black | |
needs these. --HG-- extra : convert_revision : c5a1a6d66c454f252d3b798c38a6798e7dd486f0 | |||
2007-10-21 | X86: Start using the stupd microop, and update statistics accordingly. | Gabe Black | |
--HG-- extra : convert_revision : 4aa9daa4e19acfb3e6840ce5d83cf199e30c2f19 | |||
2007-10-21 | X86: Implement the stupd microop ("store with update", not "stupid") and use ↵ | Gabe Black | |
it in ENTER. --HG-- extra : convert_revision : 9151f701162d31ef26298497467c42b7b0ed85d5 | |||
2007-10-19 | X86: Implement the PUSHF, POPF, SAHF, and LAHF instructions. | Gabe Black | |
--HG-- extra : convert_revision : 37c63b1133022fa3432888592f8c84785fb95091 | |||
2007-10-19 | X86: Implement the ENTER instruction. This could probably be optimized by ↵ | Gabe Black | |
cleaning up the indexing in the main loop. --HG-- extra : convert_revision : ad2d560f2a6f36176b22b8510c58cd6fe5a2c9c2 | |||
2007-10-18 | X86: Implement the string IO instructions, ins and outs. | Gabe Black | |
--HG-- extra : convert_revision : b021e70390d289b22a8e693cd8a99d6e7bd7d2b4 | |||
2007-10-18 | X86: Implement the undocumented SALC instruction which sets AL to 0xFF if ↵ | Gabe Black | |
CF=1 and 0x00 otherwise. --HG-- extra : convert_revision : 845d43c544e296d7595f54054906055a9f21ad9f | |||
2007-10-18 | X86: Implement the XLAT instruction. | Gabe Black | |
--HG-- extra : convert_revision : 22d7d9e79e722293b4dc1e66d8610301dc04c5fa | |||
2007-10-18 | X86: Implement the BOUND instruction. | Gabe Black | |
--HG-- extra : convert_revision : 7bcfa5b4a47d342bee267cc593a1bd4b4f31abe0 | |||
2007-10-18 | X86: Implement the in/out instructions. These will still need support from ↵ | Gabe Black | |
the TLB and memory system. --HG-- extra : convert_revision : a9503248ea9efca7e5247e4f2830967f428b8215 | |||
2007-10-18 | X86: Implement the LOOP instructions. | Gabe Black | |
--HG-- extra : convert_revision : 3ccd0565c83b6d9c9b63f9f7ac2b67839a2c714f | |||
2007-10-18 | X86: Implemented the jrcx instruction. | Gabe Black | |
--HG-- extra : convert_revision : d738015ff33449e55d8f1624c8467c1bba193e16 | |||
2007-10-12 | X86: Added some new versions of MOV and a new argument type tag. | Gabe Black | |
--HG-- extra : convert_revision : e21b2062d68baa983c7c631b3e1fe3149de56427 | |||
2007-10-12 | X86: Implemented LODS. | Gabe Black | |
--HG-- extra : convert_revision : 4bd8f15bbc25f5dce16ea0504ad6dd21805fa56a | |||
2007-10-02 | X86: Distinguish between the rep and repe prefixes. | Gabe Black | |
STOS and MOVS only accept the rep prefix which always loops until rcx becomes 0. The other string instructions accept repe (same encoding as rep) and repne which also check the condition code flags each iteration. --HG-- extra : convert_revision : 544149f640302070810fb53e53bfeb0e87160ffc | |||
2007-10-02 | X86: Put ldst into the microcode (the earlier changeset didn't really). | Gabe Black | |
Also clean things up as much as possible so that faulting won't break an instruction. More microops which verify addresses are needed. --HG-- extra : convert_revision : 7c6050cb4798d287fe7d3cc4bb8c20dfa40ad2be | |||
2007-10-02 | X86: Implement MOVS | Gabe Black | |
--HG-- extra : convert_revision : 29147e1b86f7c54ce9b5ff68001725802c665fc0 |