Ignore:
Timestamp:
Oct 19, 2010, 10:40:47 AM (9 years ago)
Author:
mulligan
Message:

Added printout of processor status when we enter the infinite SJMP loop
at the end. Need to add printout of register status, though. Every
other important SFR, etc. is already implemented.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D4.1/ASMInterpret.ml

    r194 r195  
    233233  let (_,_,_,_),(_,_,_,p) = bits_of_byte status.psw in p
    234234
     235let string_of_status status =   
     236  let acc_str = string_of_vect status.acc in
     237  let b_str   = string_of_vect status.b in
     238  let psw_str = string_of_vect status.psw in
     239  let sp_str  = string_of_vect status.sp in
     240  let ip_str  = string_of_vect status.ip in
     241  let pc_str  = string_of_vect status.pc in
     242  let dpl_str = string_of_vect status.dpl in
     243  let dph_str = string_of_vect status.dph in
     244  let scn_str = string_of_vect status.scon in
     245  let sbf_str = string_of_vect status.sbuf in
     246    "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" ^
     247    " Processor status:                               \n" ^
     248    "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n" ^
     249    "   ACC : " ^ acc_str ^ "\n"                          ^
     250    "   B   : " ^ b_str   ^ "\n"                          ^
     251    "   PSW : " ^ psw_str ^ "\n"                          ^
     252    "    where                                        \n" ^
     253    "     CY  : " ^ (string_of_bool <*> get_cy_flag $ status) ^ "\n" ^
     254    "     AC  : " ^ (string_of_bool <*> get_ac_flag $ status) ^ "\n" ^
     255    "     FO  : " ^ (string_of_bool <*> get_fo_flag $ status) ^ "\n" ^
     256    "     RS1 : " ^ (string_of_bool <*> get_rs1_flag $ status) ^ "\n" ^
     257    "     RS0 : " ^ (string_of_bool <*> get_rs0_flag $ status) ^ "\n" ^
     258    "     OV  : " ^ (string_of_bool <*> get_ov_flag $ status) ^ "\n" ^
     259    "     UD  : " ^ (string_of_bool <*> get_ud_flag $ status) ^ "\n" ^
     260    "     P   : " ^ (string_of_bool <*> get_p_flag $ status) ^ "\n" ^
     261    "   SP  : " ^ sp_str  ^ "\n"                          ^
     262    "   IP  : " ^ ip_str  ^ "\n"                          ^
     263    "   PC  : " ^ pc_str  ^ "\n"                          ^
     264    "   DPL : " ^ dpl_str ^ "\n"                          ^
     265    "   DPH : " ^ dph_str ^ "\n"                          ^
     266    "   SCON: " ^ scn_str ^ "\n"                          ^
     267    "   SBUF: " ^ sbf_str ^ "\n"                          ^
     268    "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"
    235269(* timings taken from SIEMENS *)
    236270
Note: See TracChangeset for help on using the changeset viewer.