7
EL NIVEL DE LENGUAJE
ENSAMBLADOR
caaexpresn88
de un programa equivalente en e lenguaie objetivo.
: ay un paso: ejecutar el programa fuente or
nal Nos necesario generar primero u programa suet, ung veces el pros
a interpreta
Mientras el programa objeto sees cj
nivelespresentesen el momer
tes ates de la
71-1 {Qué es un lenguaje ensamblador?
ensamblador puro es un lenguajeen el que cia enunciado produce extcts-
‘de maquina, En otras palabras, existe una correspondes
niquinay os enunciados dl programa en ens
Programa en lengusie
see.74 !NTRODUCCION A. LENGUAJE ENSAMBLADOR ats
Larazin por aque la gente usa lenguae ensamblador en lugar de programar en lengusie
esque es mucho mis fil programarenlenguajeensamblador
ics y dreeciones as en lugar de dreeciones binarias
2s representa una gran diferencia. Casi toda agente puede recordar que les abreviaturs.
para sumar,resta, muliplicar y dividr son ADD, SUB, MUL y DIV, pero pocos pueden
recordar ls valores numéricos correspondientes que la miguina usa. El programador en
lenguaj ensamblador slo tiene que recordar ls nombres simblicos porque cl ens
los waduce a insrueciones de maquina,
{Los mismos comentarios aplican ls direcciones El programador. ie ensan.
biador puede asignar nombres simblicosaposiiones de memoria y dejar ue el ensamblagr
‘se preocupe por insertar los valores numérica conretos. El programador en lenguaje de
méquina siempre debe trabajar con los valores mméricos de las diecciones. Es por esto que
‘ya nadie programa en lenguaje de mquins, aunque se hacia hace algunas décadas, antes de
invemarse ls ensambladores.
Los lenguajes ensumbladores tienen otra propiedad, adem de la correspond
‘uno entre enuneiadosenlenguaje ensamblador einstrucciones de mig
e los lenguaes de alto nivel. El programador en ensambladortene acceso a
rucciones disponibles en la maquina objetivo. El programador
Jenguaje ensamblador
Una diferencia final que
cserito en un lenguaje de alto para ejecutarsc en muchas maquina, En
‘muchas aplicaciones, esta po lar software de una ma
imponanciaprtion
71.2 ;Por qué usar lenguaje ensamblador?
sengafemos: a programacién en lenguaj ensamblador es di
los cobardes. Ademds,esrbirun program en lengua ensambador toma mivcho ms
tiempo que escribir el mismo programa en un lenguaje de alto nivel: y también tarda mucho
mds en depurarsey em fe manten
En tales condiciones, ;por qué alguien habria de peogramar en lengua ensamblador?
Hay dos razones desompei y acceso ka mquina, Ante que nada, un programador exper
en lenguajeensamblador a menudo peed pr igo que es mucho més pequetio yrequieren acceso total al hardware, cosa que
sjaores de interupcio-
de dispositive de
‘mayor detenirniento. En cast
todos los programas, un porcentaje pequefio del eédigo ocupa un poe
tiempo de ejecuc
in y que el 10% de programa ocupe el 90% de!
Supongamos, por ejemplo que se requieren
programa en un lenguae de alto nivel y que el programa resltane requiere 100s para cjeeu-
lar cierto programa de prueba estindar (Un programa de prueba estindar se usa para
ladores, ete). Esribir todo el program en lenguaje ensam-
bladorpodeiarequri 50 aos-programado,debido a a met vidd de los prograe
‘madres en lengbje ensamblador. El programa de prueba
cestindar en unos 33, ya qu
afinacion y se
para reesribir los proced
figura 7-1. Agut
0s ericos pero su
guajcensamblador
La segunda es aprox
se ISTRODUCCION AL LENGUAIEENSAMBLADOR 47
[Atos-programedor para | Tiempo de ejecucion aa
Producirel programa | programa en segundos,
50 33
0 100
1 80
8 %0
Teal 10 100
eo 10% 6 20
10.90% 8 10
Total 15 cy
Compaacisa de pegramacion en lenguajeensmbaory Lenguaje
deal ie, can sn afncion
i absorto en pasar its de aut
fectuar mejoras reales en el de-
taacidn pocas veces se presenta con los programadores de lengua
‘ensamblador, quienes po lo regular sel pasen haciendo juegos malabares con ls instruc-
sestacan
en tes meses; Ia nueva vers era 26 veces mis poques que el original y 50 veces més
lpia, Otro presi 20 veces mis pequeo y 40 veces mis rip con dos
‘meses de abajo, Corbaté (1969) describ un peocedimientaen PL/I ques redo de $0,000
n PLA que se eescribié
«encogi de 65,000 a 30.000 palabras de igo compilada, con una mejora de la apie
un actor de 8 en cuatro meses, La euestiba agut esque, como los programadores en enguae
de alto iv spectva mis global de lo que estin haciendo, ienen mis pos
dads de generar ideas que totalmente stints eincomparablemen:
sigue habiendo por lo menos
mera. dado fra
lepender de la capaci para exprimi agin proces
caso de un proyecto grande88 EL NIVEL DELENGUAIF ENSAMBLADOR car?
Imieno crteo asta mejorar su desempeo en un factor de 203, es importante poder escribir
‘buen cégo en lenguajeensamblador cuando realme
birt a msquin eal. Para
ode ensambladores
I de arguitectura,
7.1.3 Formato de un enunciado en lenguaje ensamblador
ad, usarensos may
convencién de es
as palabras de dats para poder access
os. Si un enunciado est etiquetado,
@
Etiqueta__Cod.op.
FORMULA WOVEL
Etiqueta__Céd. op.
FORMULA SETHI
Plquea 7-2. ileus N= 1+ J. (a Pe
Motor 6800, €) SPARC.
(Cada una de ls tes partes de la figura 7-2 tene cuatro tiqueta: FORMULA, I,J y N.