Programación General => ASM (Ensamblador) => Mensaje iniciado por: maikmr en Domingo 31 de Octubre de 2004, 01:30
Título: Manejo De Arreglos En Ensamblador
Publicado por: maikmr en Domingo 31 de Octubre de 2004, 01:30
Sabe alguin Con exactitud como de clarar un arreglo inicializado en ensamblador y como imprimir cada campo del mismo.
Vean este codigo que yo hice compila pero no funciona bien. modifiquelo si lo creen necesario, para que pueda funcionar o por favor mandemen uno que si funcione. Este codigo es de Turbo ensamblador (TASM).
.MODEL SMALL .STACK 64;16 .DATA ARRAY DB 1,2,3,4,5,6,7,8,9,0 .CODE mov ax,@data ;Inicializar los registros. mov ds,ax mov cx,10 Ciclo: lea dx,ARRAY ;Coloca el array en el DX para quedar listo para ser impreso en pantalla. mov ah,09h ;Servicio del video. int 21h ;Interrupcion del D.O.S LOOP Ciclo ;Se supone decrementa el CX en 1 RET END
Título: Re: Manejo De Arreglos En Ensamblador
Publicado por: dreadlock en Domingo 7 de Noviembre de 2004, 02:33
veras aun no s emuy bien que onda con tus instrucciones pero segun io para inicializar el segmento de dato s se da:
mov dx,dgroup mov ds,dx
Citar
mov cx,10 Ciclo: lea dx,ARRAY ;Coloca el array en el DX para quedar listo para ser impreso en pantalla. mov ah,09h ;Servicio del video. int 21h ;Interrupcion del D.O.S LOOP Ciclo ;Se supone decrementa el CX en 1
segun io ais quedaria: mov si,0 Ciclo: lea dx,ARRAY[si] ;Coloca el array en el DX para quedar listo para ser impreso en pantalla. inc si mov ah,09h ;Servicio del video. int 21h ;Interrupcion del D.O.S LOOP Ciclo ;Se supone decrementa el CX en 1
Título: Re: Manejo De Arreglos En Ensamblador
Publicado por: Super_G en Viernes 17 de Diciembre de 2004, 16:16
Y segun yo: 1º no conosco como se declara un arreglo como tal, simplemente cadenas de datos continuos
2º la funcion 09h de la int 21h muestra un cadena de caracteres ASCII que esta direccionado por DX y debe terminar el caracter ASCII $
3º si voy a suponer que : ARRAY DB 1,2,3,4,5,6,7,8,9,0 es un arreglo y quiero mostrarlo como tal lo mas sencillo seria decir: i) que los elementos de mi arreglo son numero entre de 0 a 9 ii)cada elemento de mi arreglo ocupa 1 Byte y lo muestro asi: