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/ASM/ASMInterpret.ml

    r1542 r1568  
    10071007            memory, we must increment by 5, as we added two new instructions. *)
    10081008        let to_ljmp = `REL (vect_of_int 2 `Eight) in
    1009         let offset = 5 in
     1009        (* let offset = 5 in *)
    10101010         let jmp_address, translated_jump =
    10111011           match i with
     
    14521452;;
    14531453
     1454let unopt = function Some x -> x | None -> invalid_arg "None"
     1455
    14541456let serial_port_input status in_cont =
    14551457      (* Serial port input *)
     
    14951497                           serial_v_in       = Some (`Eight b) }
    14961498                     else
    1497                            (* Warning about incomplete case analysis here, but safe as we've already tested for
    1498                               None. *)
    1499                        let Some e = status.serial_epsilon_in in
    1500                        let Some v = status.serial_v_in in
     1499                       (* safe as we've already tested for None. *)
     1500                       let e = unopt status.serial_epsilon_in in
     1501                       let v = unopt status.serial_v_in in
    15011502                       if status.clock >= e then
    15021503                         match v with
     
    15341535                           serial_v_in       = Some (`Nine (b, b')) }
    15351536                     else
    1536                            (* Warning about incomplete case analysis here, but safe as we've already tested for
    1537                               None. *)
    1538                        let Some e = status.serial_epsilon_in in
    1539                        let Some v = status.serial_v_in in
     1537                       (* safe as we've already tested for None. *)
     1538                       let e = unopt status.serial_epsilon_in in
     1539                       let v = unopt status.serial_v_in in
    15401540                       if status.clock >= e then
    15411541                         match v with
Note: See TracChangeset for help on using the changeset viewer.