ALUMNOS DE SOFTWARE DE SISTEMAS
ACTIVIDAD No. 1
ANEXO COPIA DE LOS ARCHIVOS EN ENSAMBLADOR PARA QUE SEAN DOCUMENTADOS FECHA DE ENTREGA LUNES 8 DE MAYO DE 2006
Archivo 1
_________________________________________________________
pila segment para stack 'stack'
db 64 dup(0)
pila ends
;**********************************************
datos segment para public 'data'
msg1 db "da una cadena$"
cadena db 25, 25 dup(0),0
aux db 25 dup(0)
aux2 db 25 dup(0)
x db 0
msgerror db "no es palindrome$"
msgpalin db "si es palindrome$"
datos ends
;**********************************************
;
include macros.asm
;
codigo segment para public 'code'
assume cs:codigo,ds:datos,ss:pila
main proc far
mov ax,datos
mov ds,ax
mov x,0
clrscr
gotoxy 1,2
write msg1
gotoxy 1,3
read cadena
mov ch,0
mov si,1
mov cl,cadena[si]
mov di,0
mov si,2
atras:
cmp byte ptr cadena[si],' '
je sigue
mov al,cadena[si]
mov aux[di],al
inc di
sigue:
inc si
loop atras
dec di
mov si,0
atras2:
mov al,aux[di]
mov aux2[si],al
dec di
inc si
cmp di,0
jge atras2
mov di,0
atras3:
mov al,aux2[di]
cmp byte ptr aux[di],al
je sigue2
mov x,1
jmp comparar
sigue2:
inc di
cmp di,si
jb atras3
comparar:
cmp x,1
jne sigue3
gotoxy 1,4
write msgerror
jmp fin
sigue3:
gotoxy 1,4
write msgpalin
fin:
mov ax,4c00h
int 21h
main endp
codigo ends
end main
***********************************************************************
Archivo 2
_________________________________________________________
pila segment para stack 'stack'
db 64 dup (0)
pila ends
;*************************************************
datos segment para public 'data'
suma db 0
cad db 0
i db 0
msg db "de 2 # en hex: $"
msgs db "la suma es de:$"
datos ends
;**************************************************
include macros.asm
;**************************************************
codigo segment para public 'code'
assume cs:codigo,ss:pila,ds:datos
main proc far
mov ax,datos
mov ds,ax
clrscr
gotoxy 0,2
write msg
gotoxy 0,3
leer:
mov ah,1
int 21h
cmp al,'0'
jb leer
cmp al,'9'
jae sigue
sub al,30h
jmp sumar
sigue:
cmp al,61h
jb sigue1
sub al,20h
sigue1:
cmp al,'A'
jb leer
cmp al,'f'
ja leer
sub al, 37h
sumar:
add suma,al
inc i
cmp i,2
je conversion
cambia_linea
jmp leer
conversion:
mov ah,0
mov al, suma
mov dl,16
mov si,0
divide:
div dl
cmp ah,9
jbe sigue2
add ah,37h
jmp mover
sigue2:
add ah,30h
mover:
mov cad[si],ah
mov ah,0
inc si
cmp al,0
jne divide
dec si
gotoxy 0,5
write msgs
imprime:
mov ah,2
mov dl,cad[si]
int 21h
dec si
cmp si,0
jge imprime
mov ax,4c00h
int 21h
main endp
codigo ends
end main
**********************************************************************************
ACTIVIDAD No. 2
CREAR UN PROGRAMA EN LENGUAJE C QUE UTILICE EL METODO PUTC Y SEA DESEMSAMBLADO COMO EN LA DEMOSTRACION DEL DIA JUEVES EN EL LABORATORIO, DEBERA ENCONTRAR LA INTERRUPCION UTILIZADA PARA IMPRIMIR UN CARACTER(UTILICE LA VERSION ANTERIOR DE TC, LA UTILIZADA EN LA DEMOSTRACION).