Notice: Undefined index: arturo in /home/artupanett/domains/arturu.it/public_html/v/computer/asm/index.php on line 2
Assembly
23 May 2019 - 17:05--=[Computer]=----=[Computer]=----=[Musica]=----=[Musica]=----=[Geometra]=----=[Geometra]=----=[Download]=----=[Download]=----=[Link]=----=[Link]=----=[Articoli]=----=[Articoli]=--
Indice Computer Computer/ Programmazione/ Assembly/ Ps/ Capitolo 2/


Rappresentazione di costanti


Nei comandi assembler possono essere utilizzate costanti, sia per specificare operandi nelle istruzioni che per definire valori iniziali nelle dichiarazioni di variabili. Le costanti possono essere suddivise in numeri, caratteri e stringhe.
I numeri possono essere naturali, interi e reali. Un numero reale può essere spresso secondo diverse basi di numerazioni: i numeri in base dieci (numeri decimali) iniziano con una cifra diversa da 0, i numeri in base otto (numeri ottali) iniziano con la cifra 0, i numeri in base sedici (numeri esadecimali) inizano con la sequenza 0x (oppure 0X), e i numeri in base due (numeri decimali) iniziano con la sequenza 0b (oppure 0B). Esempi di numeri naturali sono 0b10010 (binario), 246 (decimale), 0xA246 (esadecimale). I numeri naturali vengono convertiti dall'assemblatore in base due.
Un numero intero viene espresso in una delle precedenti basi, facendo precedere il primo carattere dal segno del numero (il segno + può essere omesso). Esempi di numeri interi sono -0x0A e +35. I numeri interi vengono convertiti dall'assemblatore in base due e rappresentati in complemento a due.
Un numero reale può essere espresso solo in base dieci. Esso inizia con la sequenza 0e (oppure 0E), ed è costituito da un eventuale segno, un'eventuale parte intera segnuita da un'eventuale parte frazionaria (almeno una di queste due parti deve essere presente), un eventuale esponente (numero intero) preceduto dalla lettera 'e'. Esempi di numeri reali sono 0e15 e 0e0.15e+2. I numeri reali vengono canvertiti dall'assemblatore in binario e rappresentati in floating point.
Un carattere viene fatto precedere da un apice (o accento acuto), e viene convertito dall'assemblatore nella codifica ASCII (estesa a 8 bit) del carattere stesso. Esempi di carattere sono 'a e 'A. Alcuni caratteri speciali vengono indicati da una sequenza di Escape (essa incomincia con una barra invertita e comprende un carattre appropriato). Per esempio:
\n indica un avanzamento di linea (LF) (ASCII 0x0A) \r indica ritorno carrello (CR) (ASCII 0x0D) \t indica tabulazione (ASCII 0x09) \\ indica una barra invertita (ASCII 0x5C) \' indica apice (ASCII 0x27)
Una stringa è una sequenza di uno o più caratteri racchiusi tra virgolette (doppi apici): esempi di stringhe sono "errore" e "Questa e' una stringa". All'interno di una stringa possono eseere usate tutte le sequenze di escape viste sopra, con l'aggiunta della nuova sequenza di escape:
\" indica virgolette (ASCII 0x22)
Le stringhe vengono convertite dall'assemblatore in sequenze di codifiche ASCII (estese a 8 bit), ogni codifica relativa ad un carattere della stringa. Le stringhe sono quindi equivalenti a sequenze di caratteri.
Alle costanti può essere assegnato un nome simbolico mediante direttiva .SET. Tale nome può essere poi usato nel programma in sostituzione della costante, con minore possibilità di errore e maggiore leggibilità. Per esempio la direttiva:
.SET num_passi,246
associa il nome simbolico num_passi alla costante 246.
Questa direttiva può essere inserita in un qualunque punto del programma, con il solo vincolo che il nome assegnato della direttiva alla costante non può essere utilizzato a monte della direttiva stessa.
La direttiva .SET viene spesso utilizzata per assegnare nomi simbolici agli indirizzi (nello spazio di memoria o in quello I/O) corrispondenti ai registri delle interfacce.

Vai Prossimo
Vai Precedente
Vai Indice
--=[Home page]=----=[Home page]=----=[Forum]=----=[Forum]=----=[lingua]=----=[lingua]=----=[Statistiche]=----=[Statistiche]=----=[Cerca in questo sito]=----=[Cerca in questo sito]=----=[Info sul copyright]=----=[Info sul copyright]=----=[Scegli le impostazioni che preferisci]=----=[Scegli le impostazioni che preferisci]=----=[Scrivi al webmaster]=--
vPHPvHTMLvCSS