INTRODUCCIÓN In0epen0ientemente 0e lo 8ue preten0amos 9acer en nuestro programa: ;ste siempre 0e4er< contar con unos elementos 8ue po0ríamos consi0erar mínimos3 Es algo 8ue ocurre en to0os los lengua=es: sin importar su ni>el3 En el caso concreto 0el ensam4la0or: a0emo para el 8ue estemos 0esarrollan0o ?: por otra: 0el ensam4la0or @la 9erramienta 8ue >a?amos a usar para ensam4lar3 Al escri4ir un programa para D#S: por e=emplo: 9a? 8ue tener en cuenta 8ue estamos crean0o un programa para un entorno 0e 1, 4its 8ue utiliBa un mo0elo 0e memoria segmenta0a3 Esto se re7le=ar< en el c0igo 0el programa en ensam4la0or: ?a 8ue es 2
necesario 0e7inir 0ic9os segmentos3 +a sintais: a0ema a tener como 0estino in0oFs o +inu no eisten segmentos: pero sí secciones3 A0emos 0e ca4ecera para po0er acce0er a ser>icios 0el sistema3
Progra)as *"n+o,s A 0i7erencia 0e D#S ? +inu: 8ue son sistemas operati>os esencialmente 4asa0os en mo0o teto: in0oFs utiliBa una inter7aB gr<7ica como elemento central para comunicarse con el usuario3 Es cierto 8ue po0ríamos a4rir una consola 0e línea 0e coman0os ?: por supuesto: es posi4le crear aplicaciones 0e consola para in0oFs3 En la ma?oría 0e los casos: sin em4argo: las aplicaciones contaricios 0e in0oFs: lo 8ue 9a4itualmente se conoce como su A)I (Application Vrogramming Interface), es necesario contar con 0e7iniciones 0e 7unciones: constantes: estructuras 0e 0atos: etc3 To0as esas 0e7iniciones 9acen micios3 A0emo8uemos3
E' -+"go Al igual 8ue ocurre en +inu: en in0oFs tra4a=aremos siempre so4re un mo0elo 0e memoria plano 0e 2 4its: sin necesi0a0 0e usar segmentos3 Esto 9ace 8ue el c0igo: 8ue pue0e >er a continuacin: sea algo m
+as 0os primeras líneas 0el programa son 0irecti>as 8ue le in0ican al ensam4la0or el con=unto 0e instrucciones 8ue >amos a usar: así como el mo0elo 0e memoria ? la con>encin 0e llama0as a 7unciones3
MARCO TEÓRICO 3
+engua=e ensam4la0ores un lengua=e 0e programacin 0e 4a=o ni>el para los computa0ores: microprocesa0ores: micro.controla0ores ? otros circuitos integra0os programa4les3 Implementa una representacin sim4lica 0e los c0igos 0e m<8uina 4inarios ? otras constantes necesarias para programar una ar8uitectura 0a0a 0e C)' ? constitu?e la representacin me para a4rir arc9i>os con etensin 3ee o sea el e=ecuta4le 8ue resulta al 7inal: ? al a4rir sir>e para 0epurar errores : ir >ien0o paso a paso el programa3 Es 0e muc9a a?u0a para po0er encontrar errores o >er el 7uncionamiento línea por línea 0el programa3
PLANTEAMIENTO DEL PRO/LEMA Ela4orar un programa en lengua=e ensam4la0or 8ue muestre en pantalla 1 mensa=e: en 7orma 0e men 0e las operaciones 4
SOLUCIÓN DEL PRO/LEMA Realic; la solucin ela4oran0o el programa en lengua=e ensam4la0or con la siguiente lgica 0e 7uncionamiento13 )repar; las >aria4les para crear mi mensa=e 8ue contienen las ca0enas 0e los mensa=es en la seccin 3DATA 23 +lam; a la 7uncin !% 0e la interrupcin 21 para mostrar mi mensa=e @0ago3 3 *ostr; en el 0ispla? el mensa=e antes escrito ? un retorno 0e carro con a?u0a 0e la interrupcin 21 ? su 7uncin !23 /3 Despu;s 0e esto se 0eclar un mensa=e- 4?e 04 1!:1: JASTA +A VISTA $A$H KJ Lpara este programa esta línea es 4asura 53 Se agreg una instruccin para 8ue apareciera el cursos 0espu;s 0e SA+IR @mo> a9:!193 ,3 Creamos la eti8ueta SA+IR: para 8ue pu0i;ramos mostrar en pantalla el mensa=e “ASTA +A VISTA $A$HG: al intro0ucir el nmero 5 en la pantalla3
/
"3 Ha crea0a0 to0as las eti8uetas restantes: con los nom4res @uno:0os:tres:cuatro a9ora 0eclaramos los mensa=es 8ue 8ueremos 8ue se muestren en la pantalla 0espu;s 0e seleccionar la opcin 0esea0a3 63 MinaliBo cerran0o la e=ecucin llaman0o a la 7uncin /C!! 0e la interrupcin 21 regresan0o el control al D#S3
&E TRES C*) A+:52 &E C'ATR# C*) A+:5 &E SA+IR &*) *)RINCI)A+ 'N#*#V DO:#MMSET *1 *#V A:!% INT 21 *#V AO:/C!! INT 21 D#S*#V DO:#MMSET *2 *#V A:!% INT 21 *#V AO:/C!! INT 21 TRES*#V DO:#MMSET * *#V A:!% INT 21 *#V AO:/C!! INT 21 C'ATR# *#V DO:#MMSET */ *#V A:!% INT 21 *#V AO:/C!! INT 21 SA+IR *#V DO:#MMSET $HE *#V A:!% INT 21 *#V AO:/C!! INT 21 END
6
RESULTADOS En este men se pue0e seleccionar 0e entre estas opciones ? se les 0a la 4ien>eni0a-
#pcin 1 es suma
#pcin 2 es resta
#pcin es multiplicacin
8
#pcin / es 0i>isin
#pcin 5 es salir ? te en>ía un mensa=e
CONCLUSIONES En esta pr a9:!19: po0emos meter un nmero a tra>;s 0el tecla0o: resulto mu? interesante3 'na 1
>eB: comenBamos a agregar las eti8uetas correspon0ientes para ca0a opcin: en este caso 9icimos la 0e SA+IR: 8ue al presionar la opcin 5: nos salía el mensa=e “ASTA +A VISTA $A$HG3 Este programas al igual 8ue los anteriores es la mo0i7icacin 0el primer programa 8ue solo en>ía un mensa=e3 asta este punto se muestra el men en 0on0e ?a se pue0e elegir 0e entre las cinco opciones ? te la 4ien>eni0a a las respecti>a operaciones: ? una opcin 0e salir 8ue te muestra un mensa=e 7inal3