Changeset 1488 for Deliverables/D2.2/8051/src/ASM
- Timestamp:
- Nov 4, 2011, 12:22:17 PM (9 years ago)
- Location:
- Deliverables/D2.2/8051/src/ASM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D2.2/8051/src/ASM/ASMInterpret.ml
r1462 r1488 1036 1036 List.flatten (List.map assembly1 translation) 1037 1037 | `Mov (`DPTR,s) -> 1038 let addrr16 = StringTools.Map.find s datalabels in 1039 assembly1 (`MOV (`U4 (`DPTR,`DATA16 addrr16))) 1038 (* let addr16 = StringTools.Map.find s datalabels in *) 1039 let addrr16 = 1040 try StringTools.Map.find s datalabels 1041 with Not_found -> StringTools.Map.find s labels in 1042 assembly1 (`MOV (`U4 (`DPTR,`DATA16 addrr16))) 1040 1043 | `Jmp s -> 1041 1044 let pc_offset = StringTools.Map.find s labels in … … 2005 2008 (res, List.rev !trace) 2006 2009 else (IntValue.Int32.zero, []) 2010 2011 2012 let size_of_instr instr = 2013 let exit_lbl = "exit" in 2014 let p = { ASM.ppreamble = [] ; ASM.pexit_label = exit_lbl ; 2015 ASM.pcode = [instr ; `Label exit_lbl] ; ASM.phas_main = false } in 2016 let p = assembly p in 2017 let status = load_program p in 2018 let addr_zero = BitVectors.vect_of_int 0 `Sixteen in 2019 let (_, size, _) = fetch status.code_memory addr_zero in 2020 BitVectors.int_of_vect size 2021 2022 let size_of_instrs instrs = 2023 let f res instr = res + (size_of_instr instr) in 2024 List.fold_left f 0 instrs -
Deliverables/D2.2/8051/src/ASM/ASMInterpret.mli
r743 r1488 129 129 val load_program : ASM.program -> status 130 130 val interpret : bool -> ASM.program -> AST.trace 131 132 val size_of_instrs : ASM.labelled_instruction list -> int -
Deliverables/D2.2/8051/src/ASM/I8051.ml
r818 r1488 170 170 let rets = [dpl ; dph ; r00 ; r01] 171 171 172 let spl_addr = spl 173 let spl_init = 255 174 let sph_addr = sph 175 let sph_init = 255 172 176 let isp_addr = 129 173 177 let isp_init = 47 -
Deliverables/D2.2/8051/src/ASM/I8051.mli
r818 r1488 55 55 val carry : register (* only used for the liveness analysis *) 56 56 57 val spl_addr : int 58 val spl_init : int 59 val sph_addr : int 60 val sph_init : int 57 61 val isp_addr : int 58 62 val isp_init : int
Note: See TracChangeset
for help on using the changeset viewer.