9 //BITCLR ( Dreg , uimm5 ) ; /* (a) */
\r
11 BITCLR ( R7 , 31 ) ;
\r
12 BITCLR ( R7 , 15 ) ;
\r
15 BITCLR ( R3 , 19 ) ;
\r
17 //BITSET ( Dreg , uimm5 ) ; /* (a) */
\r
19 BITSET ( R7 , 31 ) ;
\r
20 BITSET ( R7 , 15 ) ;
\r
23 BITSET ( R3 , 19 ) ;
\r
25 //BITTGL ( Dreg , uimm5 ) ; /* (a) */
\r
27 BITTGL ( R7 , 31 ) ;
\r
28 BITTGL ( R7 , 15 ) ;
\r
31 BITTGL ( R3 , 19 ) ;
\r
33 //CC = BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 1 (a)*/
\r
34 CC = BITTST ( R7 , 0 ) ;
\r
35 CC = BITTST ( R7 , 31 ) ;
\r
36 CC = BITTST ( R7 , 15 ) ;
\r
37 CC = BITTST ( R1 , 0 ) ;
\r
38 CC = BITTST ( R2 , 1 ) ;
\r
39 CC = BITTST ( R3 , 19 ) ;
\r
41 //CC = ! BITTST ( Dreg , uimm5 ) ; /* set CC if bit = 0 (a)*/
\r
42 CC = !BITTST ( R7 , 0 ) ;
\r
43 CC = !BITTST ( R7 , 31 ) ;
\r
44 CC = !BITTST ( R7 , 15 ) ;
\r
45 CC = !BITTST ( R1 , 0 ) ;
\r
46 CC = !BITTST ( R2 , 1 ) ;
\r
47 CC = !BITTST ( R3 , 19 ) ;
\r
49 //Dreg = DEPOSIT ( Dreg, Dreg ) ; /* no extension (b) */
\r
50 R7 = DEPOSIT(R0, R1);
\r
51 R7 = DEPOSIT(R7, R1);
\r
52 R7 = DEPOSIT(R7, R7);
\r
53 R1 = DEPOSIT(R0, R1);
\r
54 R2 = DEPOSIT(R7, R1);
\r
55 R3 = DEPOSIT(R7, R7);
\r
57 //Dreg = DEPOSIT ( Dreg, Dreg ) (X) ; /* sign-extended (b) */
\r
58 R7 = DEPOSIT(R0, R1)(X);
\r
59 R7 = DEPOSIT(R7, R1)(X);
\r
60 R7 = DEPOSIT(R7, R7)(X);
\r
61 R1 = DEPOSIT(R0, R1)(X);
\r
62 R2 = DEPOSIT(R7, R1)(X);
\r
63 R3 = DEPOSIT(R7, R7)(X);
\r
65 //Dreg = EXTRACT ( Dreg, Dreg_lo ) (Z) ; /* zero-extended (b)*/
\r
66 R7 = EXTRACT(R0, R1.L)(Z);
\r
67 R7 = EXTRACT(R7, R1.L)(Z);
\r
68 R7 = EXTRACT(R7, R7.L)(Z);
\r
69 R1 = EXTRACT(R0, R1.L)(Z);
\r
70 R2 = EXTRACT(R7, R1.L)(Z);
\r
71 R3 = EXTRACT(R7, R7.L)(Z);
\r
73 //Dreg = EXTRACT ( Dreg, Dreg_lo ) (X) ; /* sign-extended (b)*/
\r
74 R7 = EXTRACT(R0, R1.L)(X);
\r
75 R7 = EXTRACT(R7, R1.L)(X);
\r
76 R7 = EXTRACT(R7, R7.L)(X);
\r
77 R1 = EXTRACT(R0, R1.L)(X);
\r
78 R2 = EXTRACT(R7, R1.L)(X);
\r
79 R3 = EXTRACT(R7, R7.L)(X);
\r
81 //BITMUX ( Dreg , Dreg , A0 ) (ASR) ; /* shift right, LSB is shifted out (b) */
\r
82 BITMUX(R0, R1, A0)(ASR);
\r
83 BITMUX(R0, R2, A0)(ASR);
\r
84 BITMUX(R1, R3, A0)(ASR);
\r
85 //BITMUX(R0, R0, A0)(ASR);
\r
87 //BITMUX ( Dreg , Dreg , A0 ) (ASL) ; /* shift left, MSB is shifted out (b) */
\r
88 //BITMUX(R0, R0, A0)(ASL);
\r
89 BITMUX(R0, R1, A0)(ASL);
\r
90 BITMUX(R1, R2, A0)(ASL);
\r
92 //Dreg_lo = ONES Dreg ; /* (b) */
\r