Ignore:
Timestamp:
Nov 25, 2011, 7:43:39 PM (8 years ago)
Author:
tranquil
Message:
  • Immediates introduced (but not fully used yet in RTLabs to RTL pass)
  • translation streamlined
  • BUGGY: interpretation fails in LTL, trying to fetch a function with incorrect address
File:
1 edited

Legend:

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

    r1542 r1568  
    99type registers = Register.t list
    1010
     11(* arguments to certain operations: either registers or immediate args *)
     12type argument =
     13  | Reg of Register.t
     14  | Imm of int
     15
    1116type statement =
    1217
     
    1722  | St_cost of CostLabel.t * Label.t
    1823
    19   (* Reset to 0 a loop index *) 
     24  (* Reset to 0 a loop index *)
    2025  | St_ind_0 of CostLabel.index * Label.t
    2126
     
    3237  | St_stackaddr of Register.t * Register.t * Label.t
    3338
    34   (* Assign an integer constant to a register. Parameters are the destination
    35      register, the integer and the label of the next statement. *)
    36   | St_int of Register.t * int * Label.t
     39  (* (\* Assign an integer constant to a register. Parameters are the destination *)
     40  (*    register, the integer and the label of the next statement. *\) *)
     41  (* | St_int of Register.t * int * Label.t *)
    3742
    3843  (* Move the content of a register to another. Parameters are the destination
    39      register, the source register, and the label of the next statement. *)
    40   | St_move of Register.t * Register.t * Label.t
     44     register, the source argument, and the label of the next statement. *)
     45  | St_move of Register.t * argument * Label.t
    4146
    4247  (* Apply a binary operation that will later be translated in an operation on
     
    5257
    5358  (* Apply a binary operation. Parameters are the operation, the destination
    54      register, the source registers, and the label of the next statement. *)
    55   | St_op2 of I8051.op2 * Register.t * Register.t * Register.t * Label.t
     59     register, the source arguments, and the label of the next statement. *)
     60  | St_op2 of I8051.op2 * Register.t * Register.t * argument * Label.t
    5661
    5762  (* Set the carry flag to zero. Parameter is the label of the next
Note: See TracChangeset for help on using the changeset viewer.