Home | History | Annotate | Download | only in arm
      1 @ Check MSR and MRS instruction operand syntax.
      2 @ Also check for MSR/MRS acceptance in ARM/THUMB modes.
      3 
      4 .section .text
      5 .syntax unified
      6 
      7 	@ Write to Special Register from Immediate
      8 	@ Write to application status register
      9 	msr	APSR_nzcvq,#0xc0000004
     10 	msr	APSR_g,#0xc0000004
     11 	msr	APSR_nzcvq,#0xc0000004
     12 	msr	APSR_nzcvqg,#0xc0000004
     13 
     14 	@ Write to CPSR flags
     15 	msr 	CPSR,#0xc0000004
     16 	msr 	CPSR_s,#0xc0000004
     17 	msr	CPSR_f,#0xc0000004
     18 	msr 	CPSR_c,#0xc0000004
     19 	msr	CPSR_x,#0xc0000004
     20 
     21 	@ Write to CPSR flag combos
     22 	msr	CPSR_fs, #0xc0000004
     23 	msr	CPSR_fx, #0xc0000004
     24 	msr	CPSR_fc, #0xc0000004
     25 	msr	CPSR_sf, #0xc0000004
     26 	msr	CPSR_sx, #0xc0000004
     27 	msr	CPSR_sc, #0xc0000004
     28 	msr	CPSR_xf, #0xc0000004
     29 	msr	CPSR_xs, #0xc0000004
     30 	msr	CPSR_xc, #0xc0000004
     31 	msr	CPSR_cf, #0xc0000004
     32 	msr	CPSR_cs, #0xc0000004
     33 	msr	CPSR_cx, #0xc0000004
     34 	msr	CPSR_fsx, #0xc0000004
     35 	msr	CPSR_fsc, #0xc0000004
     36 	msr	CPSR_fxs, #0xc0000004
     37 	msr	CPSR_fxc, #0xc0000004
     38 	msr	CPSR_fcs, #0xc0000004
     39 	msr	CPSR_fcx, #0xc0000004
     40 	msr	CPSR_sfx, #0xc0000004
     41 	msr	CPSR_sfc, #0xc0000004
     42 	msr	CPSR_sxf, #0xc0000004
     43 	msr	CPSR_sxc, #0xc0000004
     44 	msr	CPSR_scf, #0xc0000004
     45 	msr	CPSR_scx, #0xc0000004
     46 	msr	CPSR_xfs, #0xc0000004
     47 	msr	CPSR_xfc, #0xc0000004
     48 	msr	CPSR_xsf, #0xc0000004
     49 	msr	CPSR_xsc, #0xc0000004
     50 	msr	CPSR_xcf, #0xc0000004
     51 	msr	CPSR_xcs, #0xc0000004
     52 	msr	CPSR_cfs, #0xc0000004
     53 	msr	CPSR_cfx, #0xc0000004
     54 	msr	CPSR_csf, #0xc0000004
     55 	msr	CPSR_csx, #0xc0000004
     56 	msr	CPSR_cxf, #0xc0000004
     57 	msr	CPSR_cxs, #0xc0000004
     58 	msr	CPSR_fsxc, #0xc0000004
     59 	msr	CPSR_fscx, #0xc0000004
     60 	msr	CPSR_fxsc, #0xc0000004
     61 	msr	CPSR_fxcs, #0xc0000004
     62 	msr	CPSR_fcsx, #0xc0000004
     63 	msr	CPSR_fcxs, #0xc0000004
     64 	msr	CPSR_sfxc, #0xc0000004
     65 	msr	CPSR_sfcx, #0xc0000004
     66 	msr	CPSR_sxfc, #0xc0000004
     67 	msr	CPSR_sxcf, #0xc0000004
     68 	msr	CPSR_scfx, #0xc0000004
     69 	msr	CPSR_scxf, #0xc0000004
     70 	msr	CPSR_xfsc, #0xc0000004
     71 	msr	CPSR_xfcs, #0xc0000004
     72 	msr	CPSR_xsfc, #0xc0000004
     73 	msr	CPSR_xscf, #0xc0000004
     74 	msr	CPSR_xcfs, #0xc0000004
     75 	msr	CPSR_xcsf, #0xc0000004
     76 	msr	CPSR_cfsx, #0xc0000004
     77 	msr	CPSR_cfxs, #0xc0000004
     78 	msr	CPSR_csfx, #0xc0000004
     79 	msr	CPSR_csxf, #0xc0000004
     80 	msr	CPSR_cxfs, #0xc0000004
     81 	msr	CPSR_cxsf, #0xc0000004
     82 
     83 	@ Write to Saved status register
     84 	@ Write to SPSR flags
     85 	msr 	SPSR,   #0xc0000004
     86 	msr 	SPSR_s, #0xc0000004
     87 	msr	SPSR_f, #0xc0000004
     88 	msr 	SPSR_c, #0xc0000004
     89 	msr	SPSR_x, #0xc0000004
     90 
     91 	@Write to SPSR flag combos
     92 	msr	SPSR_fs, #0xc0000004
     93 	msr	SPSR_fx, #0xc0000004
     94 	msr	SPSR_fc, #0xc0000004
     95 	msr	SPSR_sf, #0xc0000004
     96 	msr	SPSR_sx, #0xc0000004
     97 	msr	SPSR_sc, #0xc0000004
     98 	msr	SPSR_xf, #0xc0000004
     99 	msr	SPSR_xs, #0xc0000004
    100 	msr	SPSR_xc, #0xc0000004
    101 	msr	SPSR_cf, #0xc0000004
    102 	msr	SPSR_cs, #0xc0000004
    103 	msr	SPSR_cx, #0xc0000004
    104 	msr	SPSR_fsx, #0xc0000004
    105 	msr	SPSR_fsc, #0xc0000004
    106 	msr	SPSR_fxs, #0xc0000004
    107 	msr	SPSR_fxc, #0xc0000004
    108 	msr	SPSR_fcs, #0xc0000004
    109 	msr	SPSR_fcx, #0xc0000004
    110 	msr	SPSR_sfx, #0xc0000004
    111 	msr	SPSR_sfc, #0xc0000004
    112 	msr	SPSR_sxf, #0xc0000004
    113 	msr	SPSR_sxc, #0xc0000004
    114 	msr	SPSR_scf, #0xc0000004
    115 	msr	SPSR_scx, #0xc0000004
    116 	msr	SPSR_xfs, #0xc0000004
    117 	msr	SPSR_xfc, #0xc0000004
    118 	msr	SPSR_xsf, #0xc0000004
    119 	msr	SPSR_xsc, #0xc0000004
    120 	msr	SPSR_xcf, #0xc0000004
    121 	msr	SPSR_xcs, #0xc0000004
    122 	msr	SPSR_cfs, #0xc0000004
    123 	msr	SPSR_cfx, #0xc0000004
    124 	msr	SPSR_csf, #0xc0000004
    125 	msr	SPSR_csx, #0xc0000004
    126 	msr	SPSR_cxf, #0xc0000004
    127 	msr	SPSR_cxs, #0xc0000004
    128 	msr	SPSR_fsxc, #0xc0000004
    129 	msr	SPSR_fscx, #0xc0000004
    130 	msr	SPSR_fxsc, #0xc0000004
    131 	msr	SPSR_fxcs, #0xc0000004
    132 	msr	SPSR_fcsx, #0xc0000004
    133 	msr	SPSR_fcxs, #0xc0000004
    134 	msr	SPSR_sfxc, #0xc0000004
    135 	msr	SPSR_sfcx, #0xc0000004
    136 	msr	SPSR_sxfc, #0xc0000004
    137 	msr	SPSR_sxcf, #0xc0000004
    138 	msr	SPSR_scfx, #0xc0000004
    139 	msr	SPSR_scxf, #0xc0000004
    140 	msr	SPSR_xfsc, #0xc0000004
    141 	msr	SPSR_xfcs, #0xc0000004
    142 	msr	SPSR_xsfc, #0xc0000004
    143 	msr	SPSR_xscf, #0xc0000004
    144 	msr	SPSR_xcfs, #0xc0000004
    145 	msr	SPSR_xcsf, #0xc0000004
    146 	msr	SPSR_cfsx, #0xc0000004
    147 	msr	SPSR_cfxs, #0xc0000004
    148 	msr	SPSR_csfx, #0xc0000004
    149 	msr	SPSR_csxf, #0xc0000004
    150 	msr	SPSR_cxfs, #0xc0000004
    151 	msr	SPSR_cxsf, #0xc0000004
    152 
    153 
    154