Duda solución ejercicio 9

Duda solución ejercicio 9

de Lucia Thais De Oliveira Gude -
Número de respuestas: 1

Hola, estaba viendo la solución de este ejercicio y me surgen dos dudas, por que se define el tamaño de la matriz como 32? Por lo que entendí la matriz tiene 4*4 elementos, o sea 16, y en cada elemento hay un entero con signo, o sea 4 bytes no? Eso no sería tamaño 4*4*4? O sea 64? Y no 32?

Por otro lado marqué en amarillo dos instrucciones que no entendi el MOV usa si como desplazamiento de ds, pero en la letra habla de un PESOS_MATRICES que indica el desplazamiento y no se usa en ningun lado, no iria sumado como un inmediato o algo asi?

Y por otro lado no entendi para que sirve ese shr.

Gracias

Adjunto aa.png
En respuesta a Lucia Thais De Oliveira Gude

Re: Duda solución ejercicio 9

de Federico Rivero -
Hola Lucía,

Hola, estaba viendo la solución de este ejercicio y me surgen dos dudas, por que se define el tamaño de la matriz como 32? Por lo que entendí la matriz tiene 4*4 elementos, o sea 16, y en cada elemento hay un entero con signo, o sea 4 bytes no? Eso no sería tamaño 4*4*4? O sea 64? Y no 32?

En 8086 los enteros se compilan a 16 bits, igual que un short, por esta razón, la matriz ocupa 4 * 4 * 2. 

Por otro lado marqué en amarillo dos instrucciones que no entendi el MOV usa si como desplazamiento de ds, pero en la letra habla de un PESOS_MATRICES que indica el desplazamiento y no se usa en ningun lado, no iria sumado como un inmediato o algo asi?

Esa solución que adjuntás me parece que es vieja, puede ser? La tenemos publicada en algún lado? El año pasado detectamos que estaba mal, y el docente pro de Assembler, MSc. Ing. Gustavo Brown, corrigió la solución, la vamos a liberar pronto :)

El SHL y SHR no estoy seguro para qué están en esa solución, pero te diría que no te preocupes mucho porque la solución cambió.  Tema aparte, las instrucciones SHL SI, 2 y SHR SI, 2 no son válidas,  el segundo operando solo puede ser 1 o CL. 

Saludos!
Federico