open Preamble open ExtraMonads open Deqsets_extra open State open Bind_new open BindLists open Blocks open TranslateUtils open ExtraGlobalenvs open I8051bis open String open Sets open Listb open LabelledObjects open BitVectorTrie open Graphs open I8051 open Order open Registers open BackEndOps open Joint open BEMem open CostLabel open Events open IOMonad open IO open Extra_bool open Coqlib open Values open FrontEndVal open Hide open ByteValues open Division open Z open BitVectorZ open Pointers open GenMem open FrontEndMem open Proper open PositiveMap open Deqsets open Extralib open Lists open Identifiers open Exp open Arithmetic open Vector open Div_and_mod open Util open FoldStuff open BitVector open Extranat open Integers open AST open ErrorMessages open Option open Setoids open Monad open Jmeq open Russell open Positive open PreIdentifiers open Bool open Relations open Nat open List open Hints_declaration open Core_notation open Pts open Logic open Types open Errors open Globalenvs open Joint_semantics open SemanticsUtils open ERTL type ertl_reg_env = (ByteValues.beval Registers.register_env, SemanticsUtils.hw_register_env) Types.prod val ps_reg_store : PreIdentifiers.identifier -> ByteValues.beval -> ertl_reg_env -> (ByteValues.beval Identifiers.identifier_map, SemanticsUtils.hw_register_env) Types.prod Errors.res val ps_reg_retrieve : ertl_reg_env -> Registers.register -> ByteValues.beval Errors.res val hw_reg_store : I8051.register -> ByteValues.beval -> ertl_reg_env -> (ByteValues.beval Registers.register_env, SemanticsUtils.hw_register_env) Types.prod Errors.res val hw_reg_retrieve : ertl_reg_env -> I8051.register -> ByteValues.beval Errors.res val ps_arg_retrieve : ertl_reg_env -> Registers.register Joint.argument -> ByteValues.beval Errors.res val get_hwsp : ertl_reg_env -> ByteValues.xpointer Errors.res val set_hwsp : ertl_reg_env -> ByteValues.xpointer -> ertl_reg_env val eRTL_state : Joint_semantics.sem_state_params val ertl_eval_move : ertl_reg_env -> (ERTL.move_dst, ERTL.move_dst Joint.argument) Types.prod -> __ val ertl_allocate_local : PreIdentifiers.identifier -> ertl_reg_env -> (ByteValues.beval Identifiers.identifier_map, SemanticsUtils.hw_register_env) Types.prod val ertl_save_frame : Joint_semantics.call_kind -> Types.unit0 -> Joint_semantics.state_pc -> Joint_semantics.state Errors.res val ertl_pop_frame : Joint_semantics.state -> (Joint_semantics.state, ByteValues.program_counter) Types.prod Errors.res val ertl_fetch_external_args : AST.external_function -> Joint_semantics.state -> __ -> Values.val0 List.list Errors.res val ertl_set_result : Values.val0 List.list -> Types.unit0 -> Joint_semantics.state -> Joint_semantics.state Errors.res val ps_reg_store_status : Registers.register -> ByteValues.beval -> Joint_semantics.state -> Joint_semantics.state Errors.res val eval_ertl_seq : AST.ident List.list -> 'a1 Joint_semantics.genv_gen -> ERTL.ertl_seq -> AST.ident -> Joint_semantics.state -> Joint_semantics.state Errors.res val eRTL_sem_uns : __ Joint_semantics.sem_unserialized_params val eRTL_semantics : SemanticsUtils.sem_graph_params