[2014][Examen Diciembre][Problema 2]

[2014][Examen Diciembre][Problema 2]

de John Long Pino -
Número de respuestas: 1

Tengo una duda sobre la solucion de Este ejercicio  especificamente como se compara el indice guardado en el stack con el 0 ya que el indice es un char no se debe tomar que la parte superior de ese lugar del stack es basura? 

del tipo ???????? DDDDDDDD (? basura D los bits que forman el indice)

Pero en la solucion aparece "cmp word ptr [BP+6], 0" lo cual compara ambos bytes con el 0 

No deberia ser cmp byte ptr [BP+6], 0? Porque 8086 es little endian el bit bajo se guarda en la parte de arriba creo

En respuesta a John Long Pino

Re: [2014][Examen Diciembre][Problema 2]

de Federico Rivero -

Hola John!

Sí, esa parte de la solución es incorrecta. Si te fijás, en la llamada recursiva se tiene cuidado de realizar XOR AH, AH antes de pushear, por lo cual luego de una llamada recursiva es equivalente comparar con byte ptr o word ptr (porque total la parte alta es 0), pero no se menciona cómo se realiza la llamada inicial. Por esa razón, es incorrecto comparar con word ptr, como bien decís.

Saludos,

       Federico