Ensamblador - Matriz Assembler

 
Vista:

Matriz Assembler

Publicado por Javier (1 intervención) el 10/06/2009 19:30:46
Hola a todo tengo que hacer un programa en assembler que me sume dos matrices. el problema es que me sale un error en este codigo que tengo.
en la fila 11 me dice que tengo un error en el DGROUP, pero no se como corregirlo, alguien sabe como puedo corregir este error se los agradezco, lo estoy corriendo en masm32.

.MODEL SMALL
.STACK 100h
.DATA

;matriz1 db 20,14,2,3,13,9,17,14,8,3,34,31,4,14,9,12
;matriz2 db 5,9,41,6,3,8,9,12,8,45,10,34,5,2,34,6
;tamano1 db 16
;tamano2 db 4

.CODE
main proc
mov ax, @DATA
mov ds, ax
mov ax, 0

;loop
mov ch, 0
mov cl, tamano1
repetir:
dec cx

lea bx, [matriz1]
add bx, cx
mov al, [bx]

lea bx, [matriz2]
add bx, cx
mov bl, [bx]

add al, bl
mov ah, 0
push ax

cmp cx, 0
jnz repetir

mov ch, 0
mov cl, tamano1
repimp:
dec cx

pop ax

call imprimir
call impenter

cmp cx, 0
jnz repimp

mov ax, 4c00h
int 21h


impenter:
mov ax, cx
mov bl, tamano2
div bl
cmp ah, 0
jz impent
retenter:
ret

impent:
mov ah,02h
mov dl,13
int 21h
mov dl,10
int 21h
jmp retenter


imprimir:
mov bl, 10
div bl

add al,30h
add ah,30h

mov bx, ax
mov dl,bl
mov ah,02h
int 21h
mov dl,bh
int 21h
mov dl,32
int 21h
ret

mov ax, 4c00h
int 21h
main endp
END main

otro porgrama que tengo que hacer que introduzca por teclado una cadena de caracteres y el programa me los analize me diga cuantas mayusculas hay cuantas minusculas cuantas vocales signos etc. alguien sabe como puedo hacer esto, en este si no tengo idea como empezar alguien tiene ideas... se los agradezco de verdad
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:Matriz Assembler

Publicado por javier (2 intervenciones) el 11/06/2009 12:53:05
Suma de matrices ( necesario instrucciones SSE2)

matriz1 db ..,..,..,..,
matriz2 db ..,..,..,..,
pushad -- Salvamos registros
movdqu xmm0, [matriz1] -- Cargamos los 16 bytes de la matriz1
movdqu xmm1, [matriz2] -- Cargamos los 16 bytes de la matriz2
paddb xmm0,xmm1 -- Sumamos los bytes
movdqu [matriz1],xmm0 -- Metemos el resultado en matriz1
popad
ret
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