Académique Documents
Professionnel Documents
Culture Documents
Introduccion a la Informatica
1. El siguiente programa intenta pasar a min
usculas un cartel que comienza en la direccion 1000h y termina en la direcci
on 1020h inclusive.
ciclo:
ld HL, 1000h
ld C, 1020h - 1000h
ld A, (HL)
add A, f-F
ld (HL), A
inc HL
dec C
JR NZ, ciclo
rst 38h
a) Indicar las instrucciones que tengan direccionamiento directo en uno de sus operandos.
b) Encontrar ejemplos de carteles en los cuales el programa funcione correctamente.
c) Encontrar al menos un ejemplo de cadena de caracteres que demuestre que el programa no funciona
correctamente.
d ) Realizar los cambios necesarios para que el programa funcione correctamente.
2. Se tiene un vector de n
umeros enteros almacenados a partir de la posicion 1001h, y la cantidad de
elementos del mismo en la direcci
on 1000h. El vector puede tener entre 0 y 255 elementos enteros con
valores entre -128 y 127 inclusive. El siguiente programa suma todos los elementos del vector y deja su
resultado en la direcci
on 0FFFh
ld A, (1000h)
ld B, A
inc B
ld A,0
ld HL, 1001h
ciclo:
calculo:
jp calculo
ld C, (HL)
add A, C
inc HL
djnz ciclo
ld (0FFFh), A
rst 38h
;
;
;
;
;
incrementar B para
comenzar"
el ciclo en la instrucci
on djnz
A = 0
HL apunta al comienzo del
vector
Introducci
on a la Inform
atica - TP 10
f ) Modificar el c
odigo original para que almacene la cantidad de n
umeros negativos del vector
3. Se tiene almacenado a partir de la direcci
on 2000h un string NULL terminated, esto es, una cadena de
caracteres cuyo indicador de fin es el n
umero cero, que no forma parte de la cadena, solo indica el final
de la misma. No confundir n
umero cero con el caracter ASCII 0. Escribir los siguientes programas:
a) Calcular la longitud del string y almacenar el resultado en el registro B
b) Contar cuantos espacios hay en el string y almacenar el resultado en el registro C
c) Asumiendo que hay otro string NULL terminated en la direccion 2100h, si ambos son iguales dejar
encendido el flag de carry, caso contrario dejarlo apagado.
d ) Con las mismas consideraciones que el punto anterior, dejar encendido el carry si uno es prefijo
del otro.
4. Dado el siguiente programa:
aseg
org
ld
add
rst
end
start:
2000h
A, 0FFh
A, 3h
38h
start
a) Cu
al es el valor del registro A al finalizar la ejecucion?
b) Que instrucciones tienen direccionamiento inmediato en uno de sus operandos?
c) Que instrucciones tienen direccionamiento implcito en uno de sus operandos?
d ) Por que hay que colocar un cero antes del valor FFh?
e) Realice el vuelco de memoria del programa utilizando la cartilla de Z80. Luego, compruebe que
su trabajo sea correcto ensamblando y cargando el programa ejecutable en el simulador.
0
aseg
org
ld
add
rst
equ
end
start:
incremento:
1000h
A, 70h
A, incremento
38h
50h
start
a) Cu
al es el valor del registro A al finalizar la ejecucion?
b) Realice el vuelco de memoria del programa utilizando la cartilla de Z80:
0
Introducci
on a la Inform
atica - TP 10
aseg
org
ld
add
rst
equ
end
start:
incremento:
100h
A, 70h
A, Incremento
38h
50h
start
aseg
org
ld
add
ld
rst
db
end
comienzo:
valor:
3000h
A, (valor)
A, A
(valor), A
38h
10h
comienzo
;
;
;
;
comienzo:
valor:
aseg
org
ld
add
ld
rst
dw
3000h
A, (valor)
A, A
(valor), A
38h
1500
end
comienzo
;
;
;
;
;
;
a) Que direcci
on tiene valor?
b) Indique el vuelco de memoria del programa al ser cargado:
0
Introducci
on a la Inform
atica - TP 10
aseg
org
ld
ld
ld
add
ld
inc
djnz
rst
defm
equ
end
start:
ciclo:
fin:
mensaje:
longitud
2000h
HL, mensaje
B, longitud
A, (HL)
A, a-A
(HL), A
HL
ciclo
38h
BIENVENIDOS
$ - mensaje
start
;
;
;
;
;
;
direcci
on del mensaje en HL
en B la longitud del mensaje
tomar una letra
pasarla a min
uscula
dejarla donde estaba
moverse a la siguiente letra
; mensaje
; longitud del mensaje
a) Explique por que en la constante simbolica longitud se tiene la longitud real del mensaje
b) Indique el vuelco de memoria del programa al ser cargado:
0
Introducci
on a la Inform
atica - TP 10
db
equ
ds
end
start
; dim. de vecFuente
; Reserva para vecDestino la misma
; cant. de bytes que para vecFuente
Introducci
on a la Inform
atica - TP 10