Ensamblador - Matrices en Ensamblador

 
Vista:

Matrices en Ensamblador

Publicado por Jose (1 intervención) el 12/06/2007 19:27:47
Hola, quiero saber quien me puede ayudar o como hago para crear una matriz de 8x8 en ensamblador, llenarla desde el teclado y determinar si es nula. Gracias por la colaboración
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Matrices en Ensamblador

Publicado por Anonimo (3 intervenciones) el 15/06/2007 13:52:50
Por ejemplo

codigo:

Matriz db "Hola "
db "Me "
db "Llamo "
db "Anonimo "
db " Y tu? ", 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matrices en Ensamblador

Publicado por cojo nudo (1 intervención) el 15/06/2007 23:18:29
Cojo nudo. Este codigo si que es un puntazo.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matrices en Ensamblador

Publicado por klaytor (10 intervenciones) el 18/06/2007 16:38:53
Hola Jose!

Al no comentar cómo es el acceso al teclado te propongo una posible solución obviando la lectura del dato a partir del teclado:

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ORG XXXX
JMP inicio
matriz DS.B 64 ;Aqui guardamos la matriz
contador DS.B 1 ;
nula DS.B 1 ;nula=1 si la matriz es nula.
;nula=0 en otro caso.

inicio PUSH R1
PUSH R3
MOVE.B #1,nula
MOVE.B #0,contador
MOVE.L #matriz,R3

loop "leemos_caracter_teclado()"
"R0=caracter_leido_teclado()"
CMP.B #48,R0 ;ASCII del 0 = D'48
BEQ sigue
MOVE.B #0,nula ;No es un cero => matriz no nula

sigue MOVE.B R0,(R3)+ ;Guardamos valor

ADD.B #1,contador ;Comprobamos si ya leimos
CMP.B #64,contador ;los 64 numeros
BNE loop

POP R3
POP R1

END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

COMENTARIOS:
- Fíjate que el formato de las instrucciones es: "instruccion fuente,destino".
- La rutina guarda los 64 números que se le pasan por teclado de manera consecutiva en memoria.
- En el momento que se lee un carácter distinto de cero ya se indica que la matriz no es nula.

Espero que te sirva.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

version alineada

Publicado por klaytor (10 intervenciones) el 18/06/2007 16:49:00
No sé si será más legible así, :D

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
_____________ORG____________XXXX
_____________JMP____________ inicio
matriz________DS.B____________64_______;Aqui guardamos la matriz
contador______DS.B____________1________;
nula _________DS.B____________1________;nula=1 si la matriz es nula.
_____________________________________;nula=0 en otro caso.

inicio_________PUSH___________R1
_____________PUSH___________R3
_____________MOVE.B__________#1,nula
_____________MOVE.B__________#0,contador
_____________MOVE.L__________#matriz,R3

loop__________"leemos_caracter_teclado()"
_____________"R0=caracter_leido_teclado()"
_____________CMP.B___________#48,R0_______;ASCII del 0 = D'48
_____________BEQ ____________sigue
_____________MOVE.B__________#0,nula___;No es un cero => matriz no nula

sigue________MOVE.B___________R0,(R3)+_____;Guardamos valor

_____________ADD.B___________#1,contador___;Comprobamos si ya leimos
_____________CMP.B___________#64,contador__;los 64 numeros
_____________BNE_____________loop

_____________POP_____________R3
_____________POP_____________R1

_____________END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

necesito ayuda

Publicado por Link (1 intervención) el 26/06/2007 00:40:58
Hey si ustedes saben el codigo en ensamblador para presentar la matriz triangular superior de una matriz cuadrada de 8x8 se los agradeceria muchisimo si me lo pasan.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:necesito ayuda

Publicado por blue-energetix (1 intervención) el 05/05/2010 08:45:40
HOLA TENGO EL MISMO PROBLEMA PERO A DIFERENCIA DE ELLO

YO NECESITO HACER EN EN ENSAMBLADOR DE UNA MATRIZ DE 3X3 POR OTRA DE 3X3 Y QUE SE ALMACENE EN C


ES DECIR DEFINIMOS DE [A0.....A8] * [B0....B8] = [C] POR FAVOR AYUDENME SE LOS VOY A GRADECER
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

version alineada

Publicado por Camilo Carcamo (1 intervención) el 29/08/2018 14:36:45
Amigo pero expande un poquis la explicación, esa matriz que creaste es de cuanto por cuanto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Matrices en Ensamblador

Publicado por PRIMO (1 intervención) el 12/04/2013 11:36:13
oyee! y si quiero hcer una matriz aleatoria que?? es decir, poner que sea de 12x12 , y decir que me salga aletariamente los caracteres! :(:Ss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar