Tutorial Sezione Assembler

Dettaglio Istruzioni 

Le Schede del Tutorial

  Istruzioni della Cpu 80x86

SCHEDA n° 07 [I/ 008 di 198] 

    

    ARPL - Aggiusta il campo RPL di un Selettore (Modo Protetto)
     
bulletQuesta istruzione non appartiene al Set dell'8088/86.
bulletSi usa solo in modo protetto (80286/486) ed è destinata al progetto dei Sistemi Operativi, piuttosto che ai Programmi Applicativi.
bulletHa 2 operandi, entrambi a 16 bit (word) contenenti in ogni caso il valore di un Selettore.
bulletI bit1, bit0 di entrambi gli operandi rappresentano il livello di privilegi richiesto (RPL, Requested Privilege Level) dal programma associato al Selettore che li contiene.
bulletIl compito dell'istruzione è quello di confrontare questi 2 bit per stabilire se il privilegio della destinazione è minore di quello del sorgente, provvedendo a renderlo uguale (cioè ad aggiustarlo) se non è così.
bulletLe sue caratteristiche sono riassunte nella seguente tabella (leggi le istruzioni Legenda della Tabella):
         
ARPL Destinazione, Sorgente
ARPL Selettore, Registro
 Selettore Procedura <<
          << Selettore Procedura ARPL Selettore Chiamante
 

Esempio di Applicazione

Cicli di Clock Mem
Acces

Bytes
Flag   influenzate
Mnemonico Operandi  86 268 386 486 O D I T S Z A P C

ARPL

DX,BX

 no   10 20 9 no 2           #      

ARPL

[Depo02],CX

  no   11 21 9 no 2,5
         
bulletLa tabella evidenzia una sola possibile tipologia tra i gli operandi di questa istruzioni:
bullettra registro e registro o tra memoria e registro.
bulletDunque se il valore dei 2 bit RPL della destinazione (sottoprogramma), rispetto a quello degli stessi bit della sorgente (programma chiamante), è:
bullet minore: il Selettore del sottoprogramma rimane inalterato e la flag di zero viene posta a zero.
bullet maggiore: il Selettore del sottoprogramma viene aumentato e reso uguale a quello del programma chiamante e la flag di zero viene posta a uno.
bulletIn questo modo si evita il rischio di affidare al programma chiamato (destinazione) di avere più privilegi del programma chiamante (sorgente).
          
bulletLa figura seguente mostra le risorse richieste da questa istruzione in funzione degli operandi e del tipo di indirizzamento coinvolti (leggi le istruzioni); da notare che, per evitare errori di compilazione, è necessario specificare, all'inizio del sorgente, la pseudoOperazione .386p:
          

Addr

Codifica Masm

Sequenza Bytes

Istruzione

.386
0100 55AA AA 55 Depo02 DW 55AAH
---- ---------------- ----------------- ------- ----------------------
0102
0104
0106
0108
010E
63 DA
63 C8
63 FE
63 0D 00000100
63 1D 00000100
63 DA
63 C8
63 FE
63 0D 00 01 00 00
63 1D 00 01 00 00
ARPL DX,BX
ARPL AX,CX
ARPL SI,DI
ARPL [Depo02],CX
ARPL [Depo02],BX
         
bulletQuesta istruzione ha 2 codici operativi,  63H, seguito da quello che tiene conto degli operandi coinvolti.

    

Pagina Precedente Scheda n° 07 Pagina Successiva Istruzioni Cpu 80x86 Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Istruzione 008 - ARPL

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati