(* ********************************************************************** *)
(* Progetto FreeScale *)
(* *)
-(* Sviluppato da: Cosimo Oliboni, oliboni@cs.unibo.it *)
-(* Cosimo Oliboni, oliboni@cs.unibo.it *)
+(* Sviluppato da: Ing. Cosimo Oliboni, oliboni@cs.unibo.it *)
+(* Ultima modifica: 05/08/2009 *)
(* *)
(* ********************************************************************** *)
include "freescale/table_RS08.ma".
+include "freescale/opcode.ma".
(* ***************** *)
(* TABELLA DELL'RS08 *)
;〈xB,x3〉;〈xB,x5〉
].
-nlemma ok_byte_table_RS08 : forall_byte8 (λb.
- (test_not_impl_byte b RS08_not_impl_byte ⊙ eq_nat (get_byte_count RS08 b 0 opcode_table_RS08) 1) ⊗
- (⊖ (test_not_impl_byte b RS08_not_impl_byte) ⊙ eq_nat (get_byte_count RS08 b 0 opcode_table_RS08) 0))
+nlemma ok_byte_table_RS08 : forall_b8 (λb.
+ (test_not_impl_byte b RS08_not_impl_byte ⊙ eq_w16 (get_byte_count RS08 b 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08) 〈〈x0,x0〉:〈x0,x1〉〉) ⊗
+ (⊖ (test_not_impl_byte b RS08_not_impl_byte) ⊙ eq_w16 (get_byte_count RS08 b 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08) 〈〈x0,x0〉:〈x0,x0〉〉))
= true.
napply refl_eq.
nqed.
; LDHX ; LDX ; MUL ; NEG ; NSA ; PSHA ; PSHH ; PSHX ; PULA ; PULH ; PULX ; RSP
; RTI ; SEI ; STHX ; STX ; SWI ; TAP ; TAX ; TPA ; TST ; TSX ; TXA ; TXS ].
-nlemma ok_pseudo_table_RS08 : forall_opcode (λo.
- (test_not_impl_pseudo o RS08_not_impl_pseudo ⊙ le_nat 1 (get_pseudo_count RS08 o 0 opcode_table_RS08)) ⊗
- (⊖ (test_not_impl_pseudo o RS08_not_impl_pseudo) ⊙ eq_nat (get_pseudo_count RS08 o 0 opcode_table_RS08) 0))
+nlemma ok_pseudo_table_RS08 : forall_op (λo.
+ (test_not_impl_pseudo o RS08_not_impl_pseudo ⊙ le_w16 〈〈x0,x0〉:〈x0,x1〉〉 (get_pseudo_count RS08 o 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08)) ⊗
+ (⊖ (test_not_impl_pseudo o RS08_not_impl_pseudo) ⊙ eq_w16 (get_pseudo_count RS08 o 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08) 〈〈x0,x0〉:〈x0,x0〉〉))
= true.
napply refl_eq.
nqed.
; MODE_IX0p_to_DIR1 ; MODE_DIR1_to_IX0p ; MODE_INHX_and_IMM1 ; MODE_IX0_and_IMM1
; MODE_IX0p_and_IMM1 ; MODE_IX1_and_IMM1 ; MODE_IX1p_and_IMM1 ; MODE_SP1_and_IMM1 ].
-nlemma ok_mode_table_RS08 : forall_instr_mode (λi.
- (test_not_impl_mode i RS08_not_impl_mode ⊙ le_nat 1 (get_mode_count RS08 i 0 opcode_table_RS08)) ⊗
- (⊖ (test_not_impl_mode i RS08_not_impl_mode) ⊙ eq_nat (get_mode_count RS08 i 0 opcode_table_RS08) 0))
+nlemma ok_mode_table_RS08 : forall_im (λi.
+ (test_not_impl_mode i RS08_not_impl_mode ⊙ le_w16 〈〈x0,x0〉:〈x0,x1〉〉 (get_mode_count RS08 i 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08)) ⊗
+ (⊖ (test_not_impl_mode i RS08_not_impl_mode) ⊙ eq_w16 (get_mode_count RS08 i 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08) 〈〈x0,x0〉:〈x0,x0〉〉))
= true.
napply refl_eq.
nqed.
nlemma ok_OpIm_table_RS08 :
- forall_instr_mode (λi:instr_mode.
- forall_opcode (λop:opcode.
- le_nat (get_OpIm_count RS08 (anyOP RS08 op) i 0 opcode_table_RS08) 1)) = true.
+ forall_im (λi:instr_mode.
+ forall_op (λop:opcode.
+ le_w16 (get_OpIm_count RS08 (anyOP RS08 op) i 〈〈x0,x0〉:〈x0,x0〉〉 opcode_table_RS08) 〈〈x0,x0〉:〈x0,x1〉〉)) = true.
napply refl_eq.
nqed.