Guadagna ON-Line

» Home » Hack Box

Il linguaggio Assembler

[ :: 01 :: ] [ :: 02 :: ] [ :: 03 :: ] [ :: 04 :: ] [ :: 05 :: ]

Il prologo standard è il seguente:

---------------------------------------------------------------
STACK SEGMENT PARA STACK 'STACK'
DB 1024 DUP (0)
STACK ENDS
DATA SEGMENT PARA PUBLIC 'DATA'
;
; INSERIRE QUI LE VARIABILI DEL PROGRAMMA
; INSERIRE QUI LE VARIABILI DEL PROGRAMMA
; INSERIRE QUI LE VARIABILI DEL PROGRAMMA
;
DATA ENDS
;
CODE SEGMENT PARA PUBLIC 'CODE'
NOME PROC FAR
ASSUME CS:CODE ; IL REGISTRO CS PUNTA AL SEGMENTO CODICE
PUSH DS ; SALVA L'INDIRIZZO DEL PSP
MOV AX,0 ; INSERISCE UN OFFSET DI 0 E.....
PUSH AX ; ....LA SALVA (L'INDIRIZZO RELATIVO DI RITORNO)
MOV AX,DATA ; SPOSTA IN AX L'INDIRIZZO DEL SEGMENTO DATI
MOV ES,AX ; STABILISCE L'INDIRIZZAMENTO DEL SEGMENTO EXTRA
ASSUME ES:DATA ; STABILISCE L'INDIRIZ. NORMALE DEL SEGMENTO DATI
MOV DS,AX ; STABILISCE L'INDIRIZZAMENTO NORMALE...
ASSUME DS:DATA ; ...DEL SEGMENTO DATI
;
; INSERIRE QUI IL CORPO DEL PROGRAMMA
; INSERIRE QUI IL CORPO DEL PROGRAMMA
; INSERIRE QUI IL CORPO DEL PROGRAMMA
; INSERIRE QUI IL CORPO DEL PROGRAMMA
; INSERIRE QUI IL CORPO DEL PROGRAMMA
;
RET
NOME ENDP
CODE ENDS
END NOME
---------------------------------------------------------------

Come avete potuto notare, in un programma Assembler ci sono almeno 3 definizioni di segmento obbligatorie:
- Stack: riserva spazio per lo stack (un accumulatore di dati molto utile);
- Data: contiene le variabili del programma;
- Code: contiene le istruzioni del programma.

Accettate per buone queste definizioni, anche se non sono molto precise. Ci sarebbero davvero molte cose da dire sul prologo, ma non c'è assolutamente tempo e spazio, inquanto ho davvero troppe cose da dire ancora. Comunque nessuno vieta di andare a comprare un bel manuale dell'architettura dei computer e di studiarvelo. Vi ricordo che non voglio farvi diventare abili programmatori, ma voglio solo darvi una infarinatura di questo stupendo linguaggio di programmazione.

[ :: 01 :: ] [ :: 02 :: ] [ :: 03 :: ] [ :: 04 :: ] [ :: 05 :: ]

 


[ :: Indice Corso :: ]









     

by 1999-2012 , ADMEDIA multimedia software development, Tutti i diritti riservati.
Per utilizzare il materiale pubblicato su HarrrDito.it è necessario richiedere l'autorizzazione.
Tutti i marchi citati sono copyright dei rispettivi proprietari. - Note Legali -




cod: 2-2.02.32 - 38.107.179.223