• Sábado 14 de Diciembre de 2024, 20:45

Autor Tema:  Dudas de programacion general  (Leído 918 veces)

Death_13

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Dudas de programacion general
« en: Miércoles 8 de Octubre de 2008, 03:59 »
0
Hola, otra vez molestando, tengo el siguiente codigo, no enteramente hecho por mi aclaro, pero el punto es que hay distintas partes que dado que no se mucho de ASM, no entiendo, espero me puedan responder alguna de estas inquitudes, de antemano gracias ^_^

#include <stdio.h>
#include <conio.h>
void main()
{
   int a,b,res,t,aux;
   clrscr();
   printf("Sumas sucesivas en ASMn");
   printf("Dame un valor : n");
   scanf("%i",&a);

   asm mov cx,9
repite:
   asm{
   mov t,cx
   mov ax,a
   add ax,t

   mov res,ax
   mov aux,cx // Por que tengo que mandar el valor de CX al Auxiliar???

      }
   printf("La suma de %i+%i es:%in",a,t,res);
   printf("Pulse la tecla para otro valor");
   
asm mov cx,aux// Por que tengo que regresar ese valor de nuevo?, le pasa algo al registro CX cuando pasa por la parte de //impresion?
asm loop repite
getch();//Por que al final del loop tengo que poner un getch()? he visto que si no se lo pongo el programa se cicla, pero cual //es la funcion del getch() en este contexto?
}

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Dudas de programacion general
« Respuesta #1 en: Miércoles 8 de Octubre de 2008, 08:11 »
0
Si, CX (la C es de counter) es un registro de proposito general (depura tu programa y seguramente lo veas cambiar de valor) y no se garantiza ni mucho menos que mantenga su valor despues de llamar a una funcion.

getch se usa simplemente para que el programa no termine hasta que el usuario le de a enter en el teclado.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.