Changes between Version 44 and Version 45 of Doc-MIPS-Archi-Asm-kernel
- Timestamp:
- Nov 13, 2020, 3:32:51 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Doc-MIPS-Archi-Asm-kernel
v44 v45 104 104 105 105 Codage des instructions protégées:: \\ 106 Elles utilisent toutes le format R avec le champ `OPCOD` à la valeur `COPRO` (c.-à-d. `0b010000`). L'instruction est alors cod er avec les bits 25 et 23 de l'instruction (ces deux bits sont dans le champs RS). Remarquez que ERET à deux codages.\\\\106 Elles utilisent toutes le format R avec le champ `OPCOD` à la valeur `COPRO` (c.-à-d. `0b010000`). L'instruction est alors codée avec les bits 25 et 23 de l'instruction (ces deux bits sont dans le champs `RS`). Remarquez que ERET à deux codages.\\\\ 107 107 {{{#!html 108 108 <table border="1" cellspacing="0" cellpadding="0" align=left> … … 130 130 </table> 131 131 <br><br> 132 <b> INS 16132 <b> INS 23 133 133 <table border="1" cellspacing="0" cellpadding="0"> 134 134 <th> 135 <b>INS 2 0135 <b>INS 25 136 136 <td align=center style="width:60px"; > <b>0</td> 137 137 <td align=center style="width:60px"; > <b>1</td> … … 150 150 }}} 151 151 152 **Par exemple:**\\ 153 — `mtc0 $5, $14` l'instruction `MTC0` a un OPCOD à `010000"`, le bit INS 25 est à `0` et le bit `INS 16` est à `0`.\\ 154 — `mtc0 $5, $14` = `0b``010000`|`00100`|`00101`|`01101`|`00000`|`000000` \\ 155 — `mtc0 $5, $14` = `0b``0100 0000 1000 0101 0111 0000 0000 0000`\\ 156 — `mtc0 $5, $14` = `0x``40857000` 157 158 159 Pour les inste 152 Pour les instructions `mtc0` et `mfc0`, le premier argument est mis dans le champs `RT` et le second argument est mis dans le champs `RD`. 160 153 161 154 || **instruction** || || **comportement** || || **commentaire** || 162 155 ||**mtc0 RT, RD** || ||`C0_RD` ← `RT` || ||Recopie le contenu du registre GPR n°**RT**\\dans le registre du coprocesseur 0 n°**RD** || 163 156 ||**mfc0 RT, RD** || ||`RT` ← `C0_RD` || ||Recopie le contenu du registre du coprocesseur 0 n°**RD**\\dans le registre GPR n°**RT**|| 157 158 **Par exemple:**\\ 159 `mtc0 $5, $14` l'instruction `mtc0` a un OPCOD à `010000"`, le bit `INS 25` est à `0` et le bit `INS 23` est à `1`.\\ 160 — `mtc0 $5, $14` = `0b``010000`|`0.1..`|`00101`|`01110`|`.....`|`......` \\ 161 — `.` peut être remplacé par `0`ou `1`, utilisons `0`\\ 162 — `mtc0 $5, $14` = `0b``010000`|`00100`|`00101`|`01110`|`00000`|`000000` \\ 163 — `mtc0 $5, $14` = `0b``0100 0000 1000 0101 0111 0000 0000 0000`\\ 164 — `mtc0 $5, $14` = `0x``40857000` 165 164 166 165 167 == E) EXCEPTIONS / INTERRUPTIONS / APPELS SYSTÈME