Archi Iafelice 5 Assemblatore
Archi Iafelice 5 Assemblatore
Archi Iafelice 5 Assemblatore
ASSEMBLATORE
Bruno
Iafelice
University
of
Bologna
iafelice
at
cs(dot)unibo(dot)it
ASSEMBLATORE
Disponibile
presso:
CD-ROM
allegato
al
libro
di
testo
del
corso
INTERNET
Ip://Ip.cs.vu.nl/pub/evert
Il
tool
comprende:
Emulatore-Interprete
dellarchite@ura
8088
(s88)
Invocazione
da
linea
di
comando:
s88 Nomeprogetto
Un
programma
assembly
una
sequenza
di:
Istruzioni
dell'Archite@ura
di
riferimento
Macro
dell'assemblatore
di
riferimento
Dire3ve
dell'assemblatore
di
riferimento
Assembly
8088
Assemblatore
DireWva: Controlla il comportamento dell'assemblatore in fase di traduzione. Non necessariamente e' trado@a in codice macchina.
MACRO
Per
facilitare
la
ripeYzione
di
codice
mov CX,AX mov AX,BX mov BX,CX .... mov CX,AX mov AX,BX mov BX,CX .... Swap
4
Swap MACRO mov CX,AX mov AX,BX mov BX,CX ENDM Swap
Macro
parametriche
Aggiungiamo
la
possibilit
di
passare
parametri
alla
macro
(So@oprocedura
vs.
Macro
????)
mov CX,AX mov AX,BX mov BX,CX .... mov CX,R mov R,U mov U,CX .... SwapPar U,R
5
SwapPar MACRO V2,V1 mov CX,V1 mov V1,V2 mov V2,CX ENDM SwapPar BX,AX
DIRETTIVE
Istruzioni
di
Ypo
dichiaraYvo
che
forniscono
informazioni
agli
strumenY
di
sviluppo:
Assemblatore
e
Linker
DireWve
di
Segmento
DireWve
per
la
Denizione
di
Procedure
DireWve
per
la
Denizione
dei
DaY
6
BYTE
DireWve
di
Segmento
SECT segment sezione
di
TESTO:
(direWva:
SECT
.TEXT)
conYene
le
istruzioni
del
programma
sezione
DATI:
(direWva
SECT
.DATA)
alloca
spazio
nel
segmento
DATI
per
i
daY
(inizializzaY)
sezione
BSS:
(direWva
SECT
.BSS)
alloca
spazio
nel
segmento
DATI
per
i
daY
(non
inizializzaY)
EYche@e
E
possibile
denire
eYche@e
di
due
Ypi:
Globali
idenYcatori
alfanumerici
seguiY
dal
cara@ere
:
Es.
ELABORA: Locali
uYlizzabili
solo
nel
segmento
TESTO
corrente
e
nella
procedura
corrente,
cosYtuite
da
una
sola
cifra
seguita
da
:
Es.
L:
Tipi:
Esempi .DATA:
Esempio .BSS:
10
Stringhe
MOVB AL,format(SI)
Carica
in
AL
il
cara@ere
della
stringa
format
alla
posizione
SI.
Esempio:
SI
=
5
Carica
in
AL
il
quinto
cara@ere
della
stringa
format
TRACER
Debugging
Esecuzione
passo-passo
Visione
di
cosa
accade
a
livello
macchina
12
E possibile interagire con il tracer in modalit batch (fornendo in input un le con i comandi del tracer) oppure in modalit interaWva (inserendo comandi da tasYera uno alla volta)
13