Practico 7 ej 8 OpenFing

Re: Practico 7 ej 8 OpenFing

de Gustavo Brown -
Número de respuestas: 0

Rodrigo,

  Estas confundiendo tipos de datos. Una cosa es un puntero a char y otra cosa es un char.

La rutina del examen que mencionas tiene 2 parámetros de tipo char * (es decir, "puntero a char").

Los punteros en 8086 pueden ser de 2 tipos, near o far. Cuando son near se debe especificar el desplazamiento y está implícito el segmento. Cuando son far se debe especificar tanto desplazamiento como segmento. 

En el ejercicio del examen la letra indica que los strings se encuentran ambos en el segmento ES. Por lo tanto los punteros a utilizar son de tipo near. La rutina entonces recibe un desplazamiento para la variable "original" y un desplazamiento para la variable "buscar". Ambas son palabras de 16 bits.

El string en si está en formato ASCIIZ. Como cada caracter consume 1 byte la compilación de "iterBuscar++" se traduce a incrementar en 1 el desplazamiento de la variable "iterBuscar". Lo mismo ocurre con las variables iterOriginal y original.

Saludos,
  Gustavo