Ignore:
Timestamp:
Apr 4, 2011, 5:18:15 PM (9 years ago)
Author:
ayache
Message:

New memory model and bug fixes in 8051 branch. Added primitive operations in interpreters from Clight to LIN.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D2.2/8051/src/RTL/RTL.mli

    r486 r740  
    1818
    1919  (* Assign the address of a symbol to registers. Parameters are the destination
    20      registers, the symbol and the label of the next statement. *)
     20     registers (low bytes first), the symbol and the label of the next
     21     statement. *)
    2122  | St_addr of Register.t * Register.t * AST.ident * Label.t
    2223
    2324  (* Assign the stack pointer to registers. Parameters are the destination
    24      registers, and the label of the next statement. *)
     25     registers (low bytes first), and the label of the next statement. *)
    2526  | St_stackaddr of Register.t * Register.t * Label.t
    2627
     
    5152
    5253  (* Load from external memory. Parameters are the destination register, the
    53      address registers, and the label of the next statement. *)
     54     address registers (low bytes first), and the label of the next
     55     statement. *)
    5456  | St_load of Register.t * Register.t * Register.t * Label.t
    5557
    56   (* Store to external memory. Parameters are the address registers, the source
    57      register, and the label of the next statement. *)
     58  (* Store to external memory. Parameters are the address registers (low bytes
     59     first), the source register, and the label of the next statement. *)
    5860  | St_store of Register.t * Register.t * Register.t * Label.t
    5961
     
    6466
    6567  (* Call to a function given its address. Parameters are the registers holding
    66      the address of the function, the arguments of the function, the destination
    67      registers, and the label of the next statement. *)
     68     the address of the function (low bytes first), the arguments of the
     69     function, the destination registers, and the label of the next
     70     statement. *)
    6871  | St_call_ptr of Register.t * Register.t * Register.t list * registers *
    69                    Label.t
     72      Label.t
    7073
    7174  (* Tail call to a function given its name. Parameters are the name of the
     
    7477
    7578  (* Tail call to a function given its address. Parameters are the registers
    76      holding the address of the function, and the arguments of the function. *)
     79     holding the address of the function (low bytes first), and the arguments of
     80     the function. *)
    7781  | St_tailcall_ptr of Register.t * Register.t * Register.t list
    7882
     
    8488  (* Return the value of some registers. Their may be no register in case of
    8589     procedures, one register when returning an integer, or two registers when
    86      returning an address. *)
     90     returning an address (low bytes first). *)
    8791  | St_return of registers
    8892
     
    9498      f_runiverse : Register.universe ;
    9599      f_sig       : AST.signature ;
    96       f_result    : Register.t list ;
     100      f_result    : Register.t list (* low byte first *) ;
    97101      f_params    : Register.t list ;
    98102      f_locals    : Register.Set.t ;
Note: See TracChangeset for help on using the changeset viewer.