OpenCores
URL https://opencores.org/ocsvn/rtf8088/rtf8088/trunk

Subversion Repositories rtf8088

[/] [rtf8088/] [trunk/] [rtl/] [verilog/] [DECODE.v] - Diff between revs 4 and 6

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 4 Rev 6
Line 93... Line 93...
                        rrr <= 3'd0;
                        rrr <= 3'd0;
                        res <= alu_o;
                        res <= alu_o;
                        af <= (al[3:0]>4'h9 || af);
                        af <= (al[3:0]>4'h9 || af);
                        cf <= (al[3:0]>4'h9 || af);
                        cf <= (al[3:0]>4'h9 || af);
                end
                end
        `ADD_ALI8,`ADC_ALI8,`SUB_ALI8,`SBB_ALI8,`AND_ALI8,`OR_ALI8,`XOR_ALI8,`CMP_ALI8:
        `ADD_ALI8,`ADC_ALI8,`SUB_ALI8,`SBB_ALI8,`AND_ALI8,`OR_ALI8,`XOR_ALI8,`CMP_ALI8,`TEST_ALI8:
                begin
                begin
                        w <= 1'b0;
                        w <= 1'b0;
                        a <= {{8{al[7]}},al};
                        a <= {{8{al[7]}},al};
                        rrr <= 3'd0;
                        rrr <= 3'd0;
                        state <= FETCH_IMM8;
                        state <= FETCH_IMM8;
                end
                end
        `ADD_AXI16,`ADC_AXI16,`SUB_AXI16,`SBB_AXI16,`AND_AXI16,`OR_AXI16,`XOR_AXI16,`CMP_AXI16:
        `ADD_AXI16,`ADC_AXI16,`SUB_AXI16,`SBB_AXI16,`AND_AXI16,`OR_AXI16,`XOR_AXI16,`CMP_AXI16,`TEST_AXI16:
                begin
                begin
                        w <= 1'b1;
                        w <= 1'b1;
                        a <= ax;
                        a <= ax;
                        rrr <= 3'd0;
                        rrr <= 3'd0;
                        if (ip==16'hFFFF) begin
                        if (ip==16'hFFFF) begin
Line 276... Line 276...
                if (v) shftamt <= cl[3:0];
                if (v) shftamt <= cl[3:0];
                else shftamt <= 4'd1;
                else shftamt <= 4'd1;
                //-----------------------------------------------------------------
                //-----------------------------------------------------------------
                // MOD/RM instructions
                // MOD/RM instructions
                //-----------------------------------------------------------------
                //-----------------------------------------------------------------
                $display("Fetching mod/rm");
                $display("Fetching mod/rm, w=",w);
                if (ir==`MOV_R2S || ir==`MOV_S2R)
                if (ir==`MOV_R2S || ir==`MOV_S2R)
                        w <= 1'b1;
                        w <= 1'b1;
                if (ir==`LDS || ir==`LES)
                if (ir==`LDS || ir==`LES)
                        w <= 1'b1;
                        w <= 1'b1;
                if (fetch_modrm) begin
                if (fetch_modrm) begin

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.