Está en la página 1de 10

1

Ejercicios
procedimientos

• Llamado/retorno

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación
2

Llamado/retorno

Llamado/retorno (call/ret):
1 Desarrolle esPalabra
;en ESI recibe un apuntador a una cadena de caracteres
;en EAX retorna 1, si es una palabra
; (solo letras mayúsculas o minúsculas)
; 0, si no
esPalabra:

Suponga que dispone de (¡y debe usarlos!):


;en BL recibe un carácter
;en EAX retorna 1, si el carácter es minúscula; 0, si no
esMin:
;en BL recibe un carácter
;en EAX retorna 1, si el carácter es mayúscula; 0, si no
esMay: Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
3

Llamado/retorno
Llamado/retorno (call/ret):
2 Desarrolle esDigito y esNumero
En esNumero debe usar esDigito
;en BL recibe un carácter
;en EAX retorna 1, si es dígito
; 0, si no
esDigito:

;en ESI recibe un apuntador a una cadena de caracteres


;en EAX retorna 1, si es un número (solo dígitos)
; 0, si no
esNumero:

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
4

Llamado/retorno

Llamado/retorno (call/ret): ejercicio 3


3 Desarrolle esPrefijo
;en ESI y EDI recibe sendos apuntadores a cadenas
de ;caracteres
;en EAX retorna 1, si *ESI es prefijo de *EDI
; 0, si no
esPrefijo:

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
5

Llamado/retorno

Llamado/retorno (call/ret):
4 esSubcadena
;en ESI y EDI recibe sendos apuntadores a cadenas
de ;caracteres
;en EAX retorna 1, si *ESI es subcadena de *EDI
; 0, si no
esSubcadena:

si cadena *esi = b Definición de


y cadena *edi = abg subcadena
Entonces *esi es subcadena *edi
(a, b y/o g pueden ser vacías)

Continúa...
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
6

Llamado/retorno

Llamado/retorno (call/ret):
4 esSubcadena
;en ESI y EDI recibe sendos apuntadores a cadenas de
;caracteres
;en EAX retorna 1, si *ESI es subcadena de *EDI
; 0, si no
esSubcadena:

Resolverlo usando (llamando) a esPrefijo


Recorrer la cadena apuntada por EDI preguntando si
la cadena apuntada por ESI es prefijo. Visualmente...

Continúa...
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
7

Llamado/retorno

Llamado/retorno (call/ret):
4 esSubcadena
ESI esPrefijo EDI

?
Resolverlo usando (llamando) a esPrefijo
Recorrer la cadena apuntada por EDI preguntando si
la cadena apuntada por ESI es prefijo

Continúa...
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
8

Llamado/retorno

Llamado/retorno (call/ret):
4 esSubcadena
ESI esPrefijo EDI

?
Resolverlo usando (llamando) a esPrefijo
Recorrer la cadena apuntada por EDI preguntando si
la cadena apuntada por ESI es prefijo

Continúa...
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
9

Llamado/retorno

Llamado/retorno (call/ret):
4 esSubcadena
ESI esPrefijo EDI

!
Resolverlo usando (llamando) a esPrefijo
Recorrer la cadena apuntada por EDI preguntando si
la cadena apuntada por ESI es prefijo

Continúa...
Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica
10

Llamado/retorno

Llamado/retorno (call/ret):
5 esElemento

;en ESI recibe un apuntador a un vector de enteros


;en ECX recibe el tamaño del vector apuntado por ESI
;en EBX un entero buscado
;en EAX retorna i, si ebx = i-ésimo elemento del vector
; -1, si no está en el vector
esElemento:

Universidad de los Andes


Departamento de Ingeniería de Sistemas y Computación | Nivelatorio de Infraestructura Tecnológica

También podría gustarte