Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - S3kh

#51
ASM / Re: Duda sobre modo :P
18 Julio 2011, 16:52 PM
Claro, pero es que me interesa conocerlo. Digamos, ASM 32bits, con las APIs y demás se me hace mas sencillo. Digamos, veo un codigo en FASM y lo puedo entender (y eso que estoy aprendiendo ASM). O sea, me interesa, y tengo curiosidad.
Si, tenía entendido eso de que el subsistema de 16b es virtual y demás.Pero, yo por ejemplo con el debug puedo usar interrupciones y demás. Tengo entendido que es el subsitema de 16bits. Esto es nada mas por experimentar. Digamos, aprender ASM de 32bits me resulta muuucho mas sencillo, pero bueno :P
#52
ASM / Re: Duda sobre modo :P
18 Julio 2011, 14:40 PM
Es decir que no puedo usar interrupciones y demás?
Porque juraría que en el debug puedo usar interrupciones y los programas funcionan. O es por el hecho de que algunas son interrupciones del S.O y otras de la BIOS y sólamente no se puede acceder a las últimas?
#53
ASM / Duda sobre modo :P
18 Julio 2011, 00:43 AM
Tengo una duda, no logro entender esto:
Yo para usar ASM en WinXP, SI O SI tengo que usar ASM de 32bits (eso de modo protegido) sin interrupciones y eso? O puedo usar ASM 16bits en modo real?
En caso de poder usar 16bits, se pueden crear con MASM? O tengo que usar otro?
Leí, y me bajé el TASM jajaj, es viejo pero bueno :P estoy intentando aprender :P
#54
Cita de: martin_poipon en 16 Julio 2011, 00:20 AM
Sé que todo el mundo respondió, pero igual quiero aportar mi granito de arena ;D
Mira, te dejo el code listo y explicado ;) :
#include <iostream> //Es iostream sin .h porque es una libreria C++

char Nombre[30]; //Quito RetornoMD, no se usa
char Edad[2];

void MostrarDatos(char N, int E);

using namespace std; // Ya te lo han explicado, :)

int main() {
    //Pedir nombre
    cout << "Ingrese nombre su nombre: " <<endl;
    cin >>Nombre;
    cout << "Ingrese su edad: " << endl;
    cin >> Edad;
      for (int i=0; i<10; i++){ //se puede usar la misma variable para el for; i=0 -> hasta 9 (i<10) = 10 veces :)
      MostrarDatos(Nombre, Edad);
      }
    return 0;
}

void MostrarDatos(char N, char E) {
     cout << "Su nombre es: " << N << endl;
     cout << "Usted tiene " << E << " años" << endl;
      }


PD: No importa que sea un desastre, eres nuevo y nadie te juzga por ello. Todos hemos pasado por esa etapa, asi que, el que te culpe, es un novatoide troll  :xD

Ah, y otra cosa: el error en tu for es que cuando usamos for, indicamos lo siguiente:
for(i=0; i<10; i++){/*aqui las sentencias*/} -> para(i que vale 0, repetimos la accion hasta que i valga 9 (i<10 -> i - menor que 10 -> 9), y, cada vez que se repita el bucle, aumentamos en 1 i (i++ -> i = i+1)).

Otra cosa para el for es que su sintaxis es esta:
for(algo,algo,algo){ (abrir llave) sentencias (cout, cin, etc) (cerrar llave) }

Espero que me hayas entendido ;)


Entendido :D Ahora estoy leyendo mas temas, y me sirvió de mucho la ayuda :)
Muchas gracias a todos n.n
#55
Claro, esa es usando stdio y printf. Justo estaba leyendo sobre eso. Je.

Otra dudita, supongamos que yo NO no quiera sumar dos números, si no que quiera trabajar con los números que sean, digamos, si el usuario quiere pasar 25 números, o si quiere pasar 2, como se define la función?
Es decir, yo pongo

tipo funcion(param1, param2... etc);

Ahora bien, si yo NO sé cuántos parámetros va a recibir? Cómo sería? O me estoy metiendo en tema mas avanzado?
#56
Genial, ya entendí mucho mejor las cosas. Ya estoy haciendo programitas muy simples. je... Muchas gracias a todos los que respondieron y ayudaron :) Muchísimas gracias:)
#57
Ah, gracias a las 2. Este manual que estoy leyendo en ningún momento nombra eso de using namespace std ni nada por el estilo. Con razón no me funcionaba je...

Ahora, por lo que voy entendiendo, Diskontrol:

Si yo hago el prototipo de una función y su declaración, y en sus parámetros va a recibir una cadena, tengo que poner los  [ ] también? Ahora voy a buscar algo de info sobre eso de std::cout, std::cin.

Y Khronos14, hay algo en lo que me confundí, según el material que estoy leyendo primero se definen los prototipos de función, y luego de la función main, recién la definición de dichas funciones. Es posible también definirlas sin declarar eso de prototipo? Es decir, yo hasta ahora tenía entendido que primero se declaraba el prototipo, después la función main, y después las funciones ya definidas.

Por otro lado, en qué se diferencia poner usigned int a int? Digamos, tengo entendido que eso quiere decir "sin signo", pero, cuál es el fin, en qué afecta? Hay cosas que estoy leyendo en varios manuales, y sigo sin entender la utilidad de signed-unsigned. Je.
Luego, "char * Nombre" en los parámetros de MostrarDatos, qué sería exactamente? Digamos, por qué el asterisco? TEngo una idea muy vaga de lo que pueda ser, ahora voy a ver si puedo encontrar algo.
Y última duda, argc, char * argv[]... Ahí si que no tengo idea de que es jaja

Ahora igual voy a ver si puedo encontrar mas info y demás :) Pero si me pueden aclarar esas duditas lo agradecería mucho :P Sobre todo la utilidad y necesidad de Signed-Unsigned.
çMuchas gracias a ambos por las respuestas y la ayuda :)!
#58
Simplemente, leyendo un manual, y practicando de todas las maneras que se me ocurren, NO me sale un programa tan básico como este (El objetivo es pedir un nombre, un edad y mostrarlas. si, no tiene sentido, pero es para practicar). La idea es que para mostrarlos, llame a una funcion, y la idea es que lo haga 10 veces xD. En fin, me tira 500mil errores, y no llego a entender dónde me equivoco. Es mi primer programa que hago, asi que es un desastre seguramente, no se suiciden al verlo ni me insulten jaja.

Citar

#include <iostream.h>

char Nombre[30],RetornoMD;
char Edad[2];

void MostrarDatos(char N, int E);


int main() {
   //Pedir nombre
   cout << "Ingrese nombre su nombre: " <<endl;
   cin >>Nombre;
   cout << "Ingrese su edad: " << endl;
   cin >> Edad;
     for (int count = 1; count = 10; count = i++);
     MostrarDatos(Nombre, Edad);
   return 0;
}

void MostrarDatos(char N, char E) {
    cout << "Su nombre es: " << N << endl;
    cout << "Usted tiene " << E << " años" << endl;
     }



Desde ya ES UN DESASTRE, pero es lo que intento. Y otra cosa, si la función es void, no tengo que poner el return, no?xD

Tengo 500mil errores, pero bueno n.n espero que un alma generosa me diga algún consejito n.n

Gracias de antemano n.n un abrazo.

USO DEV-C++ :P
#59
ASM / Re: ASM 32Bits (Consola?)
30 Abril 2011, 18:59 PM
Creo que entonces tengo que intentar entender lo de DS/CS, etc, porque realmente, no entiendo la funcionalidad, y estoy leyendo pero seguramente ya lo voy a entender. No entiendo realmente qué es. (Entiendo, pero mal por lo visto). Ahora examino bien bien los códigos.
Yo busqué mucho en google, pero es que realmente la idea de los registros de segmento que tengo soy muy "vagas". Se que en DS se guardan los datos, (O eso entendí yo), pero no sé como guardarlos ahí, no sé exactamente como funciona todo, digamos, es algo bastante estúpido, pero ahora voy a ojear ambos códigos y voy a seguir intentando.

Muchas gracias..
Y si alguien puede darme una manita con lo del debug o lo que fuere lo agradecería ETERNAMENTE.

#60
ASM / ASM 32Bits (Consola?)
30 Abril 2011, 00:51 AM
De nuevo yo con mis inquietudes...

Es posible (Usando FASM), programar una aplicación de Consola?
Se puede usar interrupciones en FASM? Digamos, (Seguramente hablo guasadas para ustedes que la tienen mas clara que yo), puedo en vez de programar para 32bits usando APIS, usar en modo 16bits usando interrupciones o demás?


Y otro tema, (que hize en otro TH).
En ASM de 16bits, para crear un archivo tengo que hacer lo siguiente:

Poner 3C en AX
Poner en DS:DX el sector que contiene la cadena en ASCII de la ruta del archivo
Poner en CX los atributos del archivo
INT 21
Ahora bien, haciéndolo dede debug da:

Citar
-a100
jmp 125

-e 102 'RutaArchivo' 0a 0d '$'
-a125
MOV DX,0102
MOV CX,00
MOV AX,3C
INT 21H
INT 20H

Bueno, genero el .com y todo, y cuando lo ejecuto, no me crea el archivo. Estuve leyendo, y puede ser que tenga que ver con "modo protegido vs modo real"?

Ténganme paciencia, estoy dando los primeros pasos.

También, quiero que borren mi otro TH, ya que planteo una duda parecida acá. El TH es "Dudas asm 16bits".

Disculpen mi infinita ignorancia respecto a esto, y de antemano, mil gracias por la ayuda.