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

Subversion Repositories ao486

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
 
2
3
`define CMD_LEAVE       #AUTOGEN_NEXT_CMD
4
5
 
6
7
dec_ready_one && decoder[7:0] == 8'hC9
8
`CMD_LEAVE
9
SET(consume_one);
10
11
 
12
13
IF(rd_cmd == `CMD_LEAVE);
14
    SET(address_leave);
15
 
16
    //waiting for ebp in 'address_waiting'
17
 
18
    IF(rd_mutex_busy_memory); SET(rd_waiting);
19
    ELSE();
20
        SET(rd_src_is_memory);
21
 
22
        SET(rd_req_esp);
23
        SET(rd_req_ebp);
24
 
25
        SET(read_virtual);
26
 
27
        IF(~(read_for_rd_ready)); SET(rd_waiting); ENDIF();
28
    ENDIF();
29
ENDIF();
30
31
 
32
33
IF(exe_cmd == `CMD_LEAVE);
34
    SET(offset_leave);
35
 
36
    SET(exe_result_push, src);
37
ENDIF();
38
39
 
40
41
IF(wr_cmd == `CMD_LEAVE);
42
 
43
    SAVE(ebp, { wr_operand_16bit? ebp[31:16] : result_push[31:16], result_push[15:0] });
44
    SAVE(esp, wr_stack_esp);
45
ENDIF();
46

powered by: WebSVN 2.1.0

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