Changes between Version 8 and Version 9 of Doc-MIPS-Archi-Asm-kernel


Ignore:
Timestamp:
Sep 17, 2020, 10:46:22 PM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Doc-MIPS-Archi-Asm-kernel

    v8 v9  
    619619
    620620
    621 === 3) Appels système: instructions SYSCALL et BREAK
     621=== 3) Appels système: instructions `syscall` et `break`
    622622
    623623
     
    667667<table border="1" cellspacing="0" cellpadding="0">
    668668<tr>
    669 <td style="width:238px"; align=center> IM[7:0]</td>
     669<td style="width:254px"; align=center> IM[7:0]</td>
    670670<td style="width:30px"; align=center> 0</td>
    671671<td style="width:30px"; align=center> 0</td>
     
    680680<table border="0" cellspacing="0" cellpadding="0">
    681681<tr>
    682 <td style="width:120px"; align=left>  &nbsp;15</td>
    683 <td style="width:120px"; align=right> 8&nbsp;&nbsp;</td>
     682<td style="width:128px"; align=left>  &nbsp;15</td>
     683<td style="width:128px"; align=right> 8&nbsp;&nbsp;</td>
    684684<td style="width:32px"; align=center> 7</td>
    685685<td style="width:32px"; align=center> 6</td>
     
    724724
    725725
    726 Le registre `c0_cause` contient trois champs. Les 4 bits du champ `XCODE[3:0]` définissent la cause de l'appel au GIET. Les 6 bits du champ IRQ(5:0) représentent l'état des lignes d'interruption externes au moment de l'appel au GIET. Les 2 bits SWI(1:0) représentent les requêtes d'interruption logicielle.
     726Le registre `c0_cause` contient trois champs. Les 4 bits du champ `XCODE[3:0]` définissent la cause de l'appel du noyau. Les 6 bits du champ `IRQ[5:0]` représentent l'état des lignes d'interruption externes au moment de l'appel su noyau. Les 2 bits `SWI[1:0]` représentent les requêtes d'interruption logicielle.
    727727
    728728- La figure suivante montre le format du registre de cause CR :
     
    731731<table border="1" cellspacing="0" cellpadding="0">
    732732<tr>
    733 <td style="width:238px"; align=center> IM[7:0]</td>
     733<td style="width:190px"; align=center> IRQ[5:0]</td>
     734<td style="width:62px"; align=center> SWI[1:0]</td>
    734735<td style="width:30px"; align=center> 0</td>
    735736<td style="width:30px"; align=center> 0</td>
     737<td style="width:126px"; align=center> XCODE[3:0]</td>
    736738<td style="width:30px"; align=center> 0</td>
    737 <td style="width:30px"; align=center> UM</td>
    738739<td style="width:30px"; align=center> 0</td>
    739 <td style="width:30px"; align=center> ERL</td>
    740 <td style="width:30px"; align=center> EXL</td>
    741 <td style="width:30px"; align=center> IE</td>
    742740</tr>
    743741</table>
    744742<table border="0" cellspacing="0" cellpadding="0">
    745743<tr>
    746 <td style="width:120px"; align=left>  &nbsp;15</td>
    747 <td style="width:120px"; align=right> 8&nbsp;&nbsp;</td>
     744<td style="width:128px"; align=left>  &nbsp;15</td>
     745<td style="width:64px"; align=right> 10&nbsp;&nbsp;</td>
     746<td style="width:32px"; align=center> 9</td>
     747<td style="width:32px"; align=center> 8</td>
    748748<td style="width:32px"; align=center> 7</td>
    749749<td style="width:32px"; align=center> 6</td>
     
    758758}}}
    759759
    760  - Les valeurs possibles du champ XCODE sont les suivantes :
     760 - Les valeurs possibles du champ `XCODE` sont les suivantes :
    761761
    762762 ||0000||** INT  **||Interruption
     
    768768 ||0110||** IBE  **||Bus erreur sur accès instruction
    769769 ||0111||** DBE  **||Bus erreur sur accès donnée
    770  ||1000||** SYS  **||Appel système (SYSCALL)
    771  ||1001||** BP   **||Point d'arrêt (BREAK)
    772  ||1010||** RI   **||   OPCOD illégal
    773  ||1011||** CPU  **||   Coprocesseur inaccessible
    774  ||1100||** OVF  **||   Overflow arithmétique
    775  ||1101||**      **||   Inutilisé
    776  ||1110||**      **||   Inutilisé
    777  ||1111||**      **||   Inutilisé
    778 
     770 ||1000||** SYS  **||Appel système (`syscall`)
     771 ||1001||** BP   **||Point d'arrêt (`break`)
     772 ||1010||** RI   **||OPCOD illégal
     773 ||1011||** CPU  **||Coprocesseur inaccessible
     774 ||1100||** OVF  **||Overflow arithmétique
     775 ||1101||**      **||Inutilisé
     776 ||1110||**      **||Inutilisé
     777 ||1111||**      **||Inutilisé
     778