veamos, pongo el codigo:
matriz: .dw -1,0,1;
.dw 1,-1,-1;
.dw 0,1,-1;
ceros: .rw 3;
neg: .rw 3;
pos: .rw 3;
.begin ini
ini: add R0,R0,R6;
add R0,R0,R1;
bucle1: subi R1,#9,R3;
beq fin1;
add R0,R0,R2;
add R0,R0,R7;
bucle2: subi R2,#3,R3;
beq fin_fila;
add R1,R2,R4;
load matriz(R4),R5;
add R5,R0,R5;
bne nocero;
addi R7,#1,R7;
nocero: addi R2,#1,R2;
br bucle2;
fin_fila: store R7,ceros(R6);
addi R1,#3,R1;
addi R6,#1,R6;
br bucle1;
fin1: add R0,R0,R6;
add R0,R0,R1;
bucle12: subi R1,#9,R3;
beq fin2;
add R0,R0,R2;
add R0,R0,R7;
bucle22: subi R2,#3,R3;
beq fin_fila2;
add R1,R2,R4;
load matriz(R4),R5;
add R5,R0,R5;
bge noneng;
addi R7,#1,R7;
noneng: addi R2,#1,R2;
br bucle22;
fin_fila2: store R7,neg(R6);
addi R1,#3,R1;
addi R6,#1,R6;
br bucle12;
fin2: add R0,R0,R6;
add R0,R0,R1;
bucle13: subi R1,#9,R3;
beq fin
add R0,R0,R2;
add R0,R0,R7;
bucle23: subi R2,#3,R3;
beq fin_fila3;
add R1,R2,R4;
load matriz(R4),R5;
add R5,R0,R5;
ble nopos;
addi R7,#1,R7;
nopos: addi R2,#1,R2;
br bucle23;
fin_fila3: store R7,pos(R6);
addi R1,#3,R1;
addi R6,#1,R6;
br bucle13;
fin: .END
Ahora explico lo que hay que hacer: Teniendo una matriz NxN, recorrerla, y devolver el numero de positivos, negativos y ceros que hay en cada fila.
Es decir, devuelve 3 vectores, vcero, vpositivos y vnegativos. Supioniendo una matriz
110
-101
-1-1-1
Los resultados deberian ser:
vcero:1
1
0
vpos:2
1
0
vneg:0
1
3
No se si queda claro....
EDITO: etc_84, no entiendo nada de lo que dices, mas que la matriz se guarda de seguido, eso ya lo se, pero no soy capaz de hacerlo funcionar xD