Movimento di dati
Sto elencando alcune istruzioni di linguaggio Assembler per i funzionamenti di dati qui per la vostre conoscenza e convenienza, quando faremo la programmazione con l'aiuto delle interruzioni e di altri funzionamenti che di ESSERE VIVENTE avremo bisogno dei relativi principi fondamentali.
L'introduzione dettagliata e lo studio completo sul linguaggio Assembler è oltre il limite di questo libro. Benchè la conoscenza dei principi fondamentali del complessivo sia necessaria da continuare in ulteriori capitoli di programmazione importanti tuttavia se ritenete difficile capire tutte le istruzioni, non dovete preoccuparti ma è suggerito che dovreste guadagnare l'idea di base delle istruzioni.
In tutto il programma è necessario da spostare i dati nella memoria e nel CPU registra e ci sono parecchi sensi fare questo. può copiare i dati nella memoria ad un certo registro, da inter-registro, da un registro ad una pila, da una pila ad un registro, per trasmettere i dati ai dispositivi esterni così come viceversa.
Questo movimento dei dati è conforme alle regole ed alle limitazioni. Il seguenti sono alcune di loro:
- Non è possibile spostare direttamente i dati da una posizione di memoria verso un altro. È necessario ad in primo luogo sposta i dati della posizione di fonte verso un registro ed allora dal registro verso la località della destinazione.
- Non è possibile spostare un costante direttamente verso un registro di segmento; in primo luogo deve essere spostato verso un registro nel CPU.
- È possibile spostare i blocchetti di dati per mezzo delle istruzioni di MOVS, che copia una catena dei byte o delle parole. MOCSB che copia i byte di n da una posizione alle parole delle copie di MOVSW ed un altro n da una posizione ad un altro. Le ultime due istruzioni prendono i valori dagli indirizzi definiti dal DS: SI come gruppo dei dati da muoversi e dell'es: DI come la nuova localizzazione dei dati.
Muoversi i dati là sono inoltre strutture denominate batterie, in cui i dati sono introdotti con l'istruzione di spinta e sono estratti con l'istruzione di schiocco. In una pila che i primi dati da introdurre sono quello ultimo possiamo prendere, questo è, se nel nostro programma usiamo queste istruzioni:
PUSH AX
PUSH BX
PUSH CX
Restituire i valori corretti ad ogni registro al momento di presa loro dalla pila esso è necessaria da farla nel seguente ordine:
POP CX
POP BX
POP AX
Per la comunicazione con i dispositivi esterni l'ordine di out è usato trasmettere le informazioni ad un orificio e al comando per leggere le informazioni ricevute da un orificio.
La sintassi dell'ordine di OUT è:
OUT DX,AX
Dove DX contiene il valore dell'orificio che sarà usato per la comunicazione e l'ASCIA contiene le informazioni che saranno trasmesse.
La sintassi del al comando è:
IN AX,DX
Dove l'ASCIA è il registro in cui le informazioni ricevute saranno mantenute e DX contiene l'indirizzo dell'orificio da cui le informazioni arriveranno.
|