Nombre de la materia XXX Nombre de la Licenciatura XXX Nombre del alumno XXX Matrícula XXX Nombre de la Tarea XXX Unidad # Nombre de la unidad Nombre del Tutor XXX Fecha XXX
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
Instrucciones:
Ejercicios de programación:
Escriba los siguientes programas en ensamblador de 16 bits con comentarios y estructura estándar. Para ello puede utilizar todos los programas que se han realizado con anterioridad. Puede reutilizar código de las clases y libros, pero no copiarlos en su totalidad.
1) Escriba un programa que reciba un hexadecimal de 2 ciras por teclado y regrese el !alor en decimal por la pantalla. .model small .stac" 2#6h cr equ 1$ l equ 1% imprimir equ & in equ 'c%%h dos equ 21h tab equ %&h bell equ %(h datos segment encabezado db 1$,1%,1$,1%,tab, db 1$,1%,1$,1%,tab, db 1$,1%,1$,1%,tab, db 1$,1%,1$,1%,)*) !alor+ascii db ' dup - -,1$,1%,)*) !alor+binarion d/ %%(ah,)*) mensa0e1 db cr,l,tab, db 1$,1%,tab,)imprime !alor hexadecimal ), )*) mensa0e2 db cr,l,tab,)imprime el !alor ya con!etido),)*)
2
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
m+espacio db 1$,1%,1$,1%,1$,1%,1$,1%,)*a) datos ends pila segment stac" db 6'dup-%- pila ends codigo segment pe2#+anb proc near assume cscodigo.dsdatos.sspila mo! ax.datos mo! ds.ax mo! cx.%%1% lea si.!alor+ascii$ mo! ax.!alor+binario etiqueta+1 cmp ax.cx 0b inaliza xor dx.dx di! cx or dl.$%h mo! 3si4.dl dec si imp etiqueta+1 inaliza or al.$%h mo! 3si4,al lea dx, encabezado call escribe lea dx,mensa0e1 call escribe lea dx,!alor+binario call escribe lea dx,m+espacio call escribe
3
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
lea dx,mensa0e2 call escribe lea dx,!alor+ascii call escribe call salir pe2#+anb endp escribe proc mo! ah,& int 21h ret escribe endp salir proc near mo! ax,in int dos ret salir endp codigo ends end pe2#+anb
2) Escriba un programa que reciba por teclado una palabra de # letras y la muestre al re!5s en la pantalla. Por e0emplo si introduce otel, mostrará leto. .model small .stac" 2#6h .data 78 equ 1$ 9: equ 1% mens db -Escribe :rase-,78,9:,-*salto db 7r,9:,-*cadena label byte cant db 2% max db %% campo db 2% dup-- .code inicio
4
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
mo! ax,;data mo! ds,ax push ds pop es mo! ah,%&h lea dx,cadena int 21h mo! ah,%&h lea dx,salto int 21h mo! cl,cant mo! bx,oset campo add bl,cant loopo mo! dl,3bx4 mo! ah,%2h int 21h dec bl dec cl cmp cl,% 0e salir 0mp loopo salir mo! dl,3bx4 mo! ah,%2h int 21h mo! ax,'c%%h int 21h end
3) Escriba un programa que reciba por teclado un n
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
.data 7arry db %dh,%ah,-*msn db -=ame un numero-,%dh,%ah,-*cinco db # cadena db 'dup,- - nibble db -%%-,-%%%%-,-%%%1-,-%%1%-,-%%11-,-%1%%-,-%1%1-,-%11%-,-%111-,-1%%%-,-1%%1.code inicio mo! ax,;data mo! ds,ax push ds pop es lea dx,msn mo! ah,%&h int 21h mo! ah,%ah lea dx,cadena int 21h lea dx,carry mo! ah,%&h int 21h xor ax,ax xor dx,dx lea si,cadena2 mo! cx,%%%$ 0%1 lea di,nibble2 push cx mo! al,3si4 xor al,$%h mul cinco add di,ax call imprime
!
Unidad 4. Interrupciones en Ensamblador Lenguaje Ensamblador, Tarea 4
pop cx inc si loop 0%1 mo! ax,'c%%h int 21h imprime proc near mo! cx,%%%# ca2 mo! dl,3di4 mo! ah,%2h int 21h inc di loop ca2 xor di,di ret imprime endp end inicio Entregue sólo los archi!os >.asm una !ez que haya probado el correcto uncionamiento de cada programa.
"