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

Subversion Repositories ao486

[/] [ao486/] [trunk/] [rtl/] [ao486/] [commands/] [CMD_SETcc.txt] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
 
2
3
`define CMD_SETcc       #AUTOGEN_NEXT_CMD
4
5
 
6
7
dec_ready_2byte_modregrm && decoder[7:4] == 4'h9
8
`CMD_SETcc
9
SET(dec_is_8bit);
10
SET(consume_modregrm_one);
11
12
 
13
14
IF(rd_cmd == `CMD_SETcc);
15
 
16
    // dst: reg, src: -
17
    IF(rd_modregrm_mod == 2'b11);
18
 
19
        SET(rd_dst_is_rm);
20
 
21
        SET(rd_req_rm);
22
    ENDIF();
23
 
24
    // dst: memory, src: reg
25
    IF(rd_modregrm_mod != 2'b11);
26
 
27
        SET(rd_dst_is_memory);
28
 
29
        SET(rd_req_memory);
30
 
31
        SET(write_virtual_check);
32
 
33
        IF(~(write_virtual_check_ready)); SET(rd_waiting); ENDIF();
34
    ENDIF();
35
ENDIF();
36
37
 
38
39
IF(exe_cmd == `CMD_SETcc);
40
 
41
    IF(exe_condition);
42
        SET(exe_result, 32'd1);
43
    ENDIF();
44
 
45
    IF(exe_mutex_current[`MUTEX_EFLAGS_BIT]); SET(exe_waiting); ENDIF();
46
ENDIF();
47
48
 
49
50
IF(wr_cmd == `CMD_SETcc);
51
    IF(wr_dst_is_memory && ~(write_for_wr_ready)); SET(wr_waiting); ENDIF();
52
 
53
    SET(write_regrm,     wr_dst_is_rm);
54
    SET(write_virtual,   wr_dst_is_memory);
55
ENDIF();
56
57
 

powered by: WebSVN 2.1.0

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