Home | History | Annotate | Line # | Download | only in d10v
t-mvtc.s revision 1.1
      1 # mach: all
      2 # output:
      3 # sim: --environment operating
      4 # as: -W
      5 
      6 .include "t-macros.i"
      7 
      8 	start
      9 
     10 ;;; Try out each bit in the PSW
     11 
     12 	loadpsw2 PSW_SM
     13 	checkpsw2 1 PSW_SM
     14 
     15 	loadpsw2 PSW_01
     16 	checkpsw2 2 0 ;; PSW_01
     17 
     18 	loadpsw2 PSW_EA
     19 	checkpsw2 3 PSW_EA
     20 
     21 	loadpsw2 PSW_DB
     22 	checkpsw2 4 PSW_DB
     23 
     24 	loadpsw2 PSW_DM
     25 	checkpsw2 5 0 ;; PSW_DM
     26 
     27 	loadpsw2 PSW_IE
     28 	checkpsw2 6 PSW_IE
     29 
     30 	loadpsw2 PSW_RP
     31 	checkpsw2 7 PSW_RP
     32 
     33 	loadpsw2 PSW_MD
     34 	checkpsw2 8 PSW_MD
     35 
     36 	loadpsw2 PSW_FX|PSW_ST
     37 	checkpsw2 9 PSW_FX|PSW_ST
     38 
     39 	;; loadpsw2 PSW_ST
     40 	;; checkpsw2 10
     41 
     42 	loadpsw2 PSW_10
     43 	checkpsw2 11 0 ;; PSW_10
     44 
     45 	loadpsw2 PSW_11
     46 	checkpsw2 12 0 ;; PSW_11
     47 
     48 	loadpsw2 PSW_F0
     49 	checkpsw2 13 PSW_F0
     50 
     51 	loadpsw2 PSW_F1
     52 	checkpsw2 14 PSW_F1
     53 
     54 	loadpsw2 PSW_14
     55 	checkpsw2 15 0 ;; PSW_14
     56 
     57 	loadpsw2 PSW_C
     58 	checkpsw2 16 PSW_C
     59 
     60 
     61 ;;; Check that bit 0 (LSB) of the MOD_E & MOD_S registers are stuck at ZERO.
     62 
     63 	ldi	r6, #0xdead
     64 	mvtc	r6, cr10
     65 	ldi	r6, #0xbeef
     66 	mvtc	r6, cr11
     67 
     68 	mvfc	r7, cr10
     69 	check 17 r7 0xdeac
     70 	mvfc	r7, cr11
     71 	check 18 r7 0xbeee
     72 
     73 ;;; Check that certain bits of the PSW, DPSW and BPSW are hardwired to zero
     74 
     75 psw_ffff:
     76 	ldi	r6, 0xffff
     77 	mvtc	r6, psw
     78 	mvfc	r7, psw
     79 	check 18 r7 0xb7cd
     80 
     81 bpsw_ffff:
     82 	ldi	r6, 0xffff
     83 	mvtc	r6, bpsw
     84 	mvfc	r7, bpsw
     85 	check 18 r7 0xb7cd
     86 
     87 dpsw_ffff:
     88 	ldi	r6, 0xffff
     89 	mvtc	r6, dpsw
     90 	mvfc	r7, dpsw
     91 	check 18 r7 0xb7cd
     92 
     93 ;;; Another check. Very similar
     94 
     95 psw_dfff:
     96 	ldi	r6, 0xdfff
     97 	mvtc	r6, psw
     98 	mvfc	r7, psw
     99 	check 18 r7 0x97cd
    100 
    101 bpsw_dfff:
    102 	ldi	r6, 0xdfff
    103 	mvtc	r6, bpsw
    104 	mvfc	r7, bpsw
    105 	check 18 r7 0x97cd
    106 
    107 dpsw_dfff:
    108 	ldi	r6, 0xdfff
    109 	mvtc	r6, dpsw
    110 	mvfc	r7, dpsw
    111 	check 18 r7 0x97cd
    112 
    113 ;;; And again.
    114 
    115 psw_8005:
    116 	ldi	r6, 0x8005
    117 	mvtc	r6, psw
    118 	mvfc	r7, psw
    119 	check 18 r7 0x8005
    120 
    121 bpsw_8005:
    122 	ldi	r6, 0x8005
    123 	mvtc	r6, bpsw
    124 	mvfc	r7, bpsw
    125 	check 18 r7 0x8005
    126 
    127 dpsw_8005:
    128 	ldi	r6, 0x8005
    129 	mvtc	r6, dpsw
    130 	mvfc	r7, dpsw
    131 	check 18 r7 0x8005
    132 
    133 
    134 	exit0
    135