|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - Eternal Idol
Páginas: 1 ... 180 181 [182] 183 184 ... 205
4526
« en: Jueves 24 de Noviembre de 2005, 00:01 »
¿Y un codigo que dice return to dos te parece que es para Windows?
Ese codigo utiliza la instruccion out que te habia mencionado anteriormente.
4527
« en: Miércoles 23 de Noviembre de 2005, 21:21 »
Vamos por partes. En un Sistema Operativo de 32 bits como Windows no podes acceder al hardware directamente desde modo usuario. Tenes que usar la API de Windows para abrir el puerto que quieras (CreateFile), leer y escribir (Read/WriteFile) y ademas tenes que configurar el puerto correctamente. Mas informacion: http://msdn.microsoft.com/library/en-us/de...s_resources.asphttp://www.ontrak.net/mfc.htmSi no queres usar ningun S.O. dependes de las interrupciones que provee la BIOS o de usar las instrucciones in y out del microprocesador.
4528
« en: Miércoles 23 de Noviembre de 2005, 19:10 »
Hola, Como podría acceder a los puertos seri y paralelo?
SALUDOS ¿Para que Sistema Operativo?
4529
« en: Miércoles 23 de Noviembre de 2005, 08:47 »
hola. soy novato en ensamblador. tengo muy poco tiempo programando en este lenguaje.
La pregunta es, si se puede hacer en ensamblador una función similar al KBHIT de TC++, les agradeceria mucho si me dieran el codigo fuente. Esta es justamente una pregunta para novatos y no para expertos. kbhit: mov ah, 1 int 16h jnz hay xor ax, ax hay: ret
y mas elegante: kbhit: mov ah, 1 int 16h jnz @F xor ax, ax @@: ret
4530
« en: Miércoles 23 de Noviembre de 2005, 08:30 »
ok gracias pr las respuestas De nadas, despues nos contas como te fue
4531
« en: Martes 22 de Noviembre de 2005, 08:43 »
lo hice correr desde debug y me pasa lo mismo yo tengo windows xp tendra algo que ver??, lo raro es que ya me habia funcionado 1 vez y habia funcionado suepr bien pero ahora me sigue saliendo el mismo mensaje, no se que mas puedo hacer Lo primero que podes hacer es aprender como funciona DEBUG que te sera muy util siempre bajo MS-DOS. Cuando mas o menos lo domines tenes que saber que instrucciones hay en esa direccion, si es que las hay, y como se llego hasta ahi para poder dar con la causa de la excepcion. No creo que sea un error por Windows pero podrias probarlo en un MS-DOS real, de ser un problema de Windows no pasaria nada y de ser un problema del programa se te colgaria o reiniciaria.
4532
« en: Lunes 21 de Noviembre de 2005, 21:50 »
hola hice un timer y la primera vez me funciono perfecto despues se corto la luz en mi casa y no me funciono mas solo llega a 00:59:01 y ahi se detiene no se si eso tendra algo que ver pero antes de eso estaba funcionando super bien , no se que puede ser ahora:
el mensaje que me aparece dice asi "la CPU NTVDM ha encontrado una instruccion no permitida. CS:0fa0 IP:e3c7 OP:63 b7 14 00 00 Elija cerrrar para finalizar la aplicacion" y la cierro y el tiemr queda en ese numero y no hace nada, no le hecho ningun cambio al programa no se que puede ser porfa ayudenme Esta dando una excepcion, ahi ves la direccion, fijate si podes depurarlo con debug.com y que pasa si lo ejecutas desde MS-DOS puro y no desde Windows NT.
4534
« en: Sábado 19 de Noviembre de 2005, 23:36 »
4535
« en: Sábado 19 de Noviembre de 2005, 10:05 »
En Windows NT tenes una sola interrupcion util y es la 2Eh que se utiliza para pasar al Kernel y ejecutar alguna llamada al sistema. Por lo general en este S.O. lo que necesitas usar son sus servicios (la API de Windows) y esta viene en una serie de DLLs (Kernel32, Advapi32, User32, NTDLL, etc). En este caso en particular podes usar ShowCursor (solo para TU ventana). http://msdn.microsoft.com/library/en-us/wi.../showcursor.asp
4536
« en: Viernes 18 de Noviembre de 2005, 23:03 »
Aca en España mucho no se gana lamentablemente
4537
« en: Miércoles 16 de Noviembre de 2005, 19:24 »
¿Para que lo queres? No lo entenderias ...
4538
« en: Martes 15 de Noviembre de 2005, 20:58 »
No podes usar el .H sin que lo compile, si nos posteas los errores tal vez te podamos ayudar.
4539
« en: Martes 15 de Noviembre de 2005, 17:13 »
4540
« en: Martes 15 de Noviembre de 2005, 00:47 »
4541
« en: Lunes 14 de Noviembre de 2005, 19:05 »
Además siendo un funcion de windos SEGURO que es más lenta. En este caso en concreto no, incluso es mas lento usar una funcion de la biblioteca standard de C que finalmente termina llamando a HeapAlloc.
4543
« en: Domingo 13 de Noviembre de 2005, 21:42 »
Si te referis al indicador de paridad este se encuentra en el registro de indicadores y es exactamente el tercer bit del mismo. Con pushfd pones el registro de indicadores en la pila, despues lo podes poner en ax con pop y con and sacas todo lo que no sea el bit de paridad, entonces si esta a 0 el bit de paridad no estaba puesto de otra manera (es 4) el bit de paridad estaba puesto: pushfd pop ax and ax, 4 jnz puesto nopuesto: ;hacer puesto: ;hacer
4544
« en: Domingo 13 de Noviembre de 2005, 11:33 »
Yo te recomendaria que C y C++ primero y despues assembly.
En cuanto a ensamblador y codigo maquina son exactamente lo mismo solo que el primero es una representacion grafica del segundo mas amigable para nuestros ojos.
4545
« en: Sábado 12 de Noviembre de 2005, 20:55 »
Hola amigos nesecito mas ayuda sobre estas funciones. con un pequeño codigo logre mostrar la hora en pantalla, pero nesecito manipular los parametros de la hora como ser horas minutos segundos y milisegundos. pero dentro de la estructura SYSTEMTIME contiene una variable tipo word y que no tengo idea de como usarla pregunte en la universidad y tampoco tienen idea de como usarla por favor si alguien me podria decir como convertir el valor de la variable word a entero.
salu2 
gracias de antemano. Cada dia compruebo que en las universidad no se aprende a programar ... En x86, un WORD equivale a dos bytes sin signo por lo tanto en C/C++ es lo mismo que un unsigned short. BYTE=unsigned char WORD=unsigned short DWORD=unsigned int
4546
« en: Sábado 12 de Noviembre de 2005, 19:21 »
Olvidate de esas funciones en un compilador de 32 bits para Windows. Podes intentar usar un compilador viejo, de 16 bits para MS-DOS. Pero no vale la pena realmente usar esas funciones ...
4547
« en: Sábado 12 de Noviembre de 2005, 10:51 »
judamo: gotoxy es una funcion para situar el cursor en la consola, es arcaica, obsoleta y la trajo al mundo la infame Borland. Amilius: ¿Delphi? Estamos mezclando lenguajes entonces ...
bob esponja: esos tipos tienen tiempo libre eh
4548
« en: Sábado 12 de Noviembre de 2005, 10:50 »
hola necesito hacer un timer en tiempo real de hasta 1 hora, con pasos de un minuto donde al finalizar el tiempo programado emita un tono de1 a 2 Khz por 5 segundos, es para un trabajo y la verdad es que programar no es mi fuerte porque me cuesta mucho y no se como hacerlo ojala alguien me pueda ayudar y me diga como hacerlo, gracias
saludos ¿Para que Sistema Operativo es? Supongo que MS-DOS. ¿Que hiciste hasta ahora?
4549
« en: Viernes 11 de Noviembre de 2005, 20:24 »
4550
« en: Viernes 11 de Noviembre de 2005, 19:56 »
a=b?c:d;
P.D.2. Si quieres tener todos tus valores iniciados a 0 si trabajas en windows existe una funcion del sistema operativo, un malloc especial no recuerdo exactamente el nombre pero solo cambia una o dos letras. Reserva un bloque de memoria e inicializa a 0 todo el bloque (que es mas rapido que hacerlo de otras formas). Es muy recomendable hacer este tipo de reserva de memoria por que atenua en gran medida los desastres de un error de administracion de memoria, por que generalmente al intentar escribir usando un puntero no inicializado genera una excepcion por intentar escribir en una zona de memoria no permitida, que viene a ser el 0 con el que inicializamos. Si intentamos acceder a una estructura de datos este acceso sera a otras posiciones pero generalmente suficientemente "chicas" (20,30,150,) para ser salvados por la excepcion de intento de escritura o lectura de una zona de memoria que no podemos utilizar. El operador ternario es muy bueno realmente, te permite aplicar la misma logica que un if else en una sola linea. En cuanto a la memoria en el heap, justamente HeapAlloc es la funcion que provee Windows. Poniendo el segundo parametro a HEAP_ZERO_MEMORY conseguis el efecto indicado. De cualquier manera no tiene mucho sentido lo que decis sobre evitar problemas de excepciones ya que un puntero no inicializado puede apuntar a cualquier lado, a lo que haya en la pila en esa posicion de la variable y no tiene nada que ver con reservar memoria. Si sirve para cuando usamos funciones de cadenas pero yo les recomiendo la practica habitual: char *str = (char*)malloc(len); memset(str, 0, len); //yo uso que es una macro en VC++ ZeroMemory(str, len); free(str);
Si se acostumbran a escribir los tres como si fueran atomicos dificilmente tengan memory leaks.
Páginas: 1 ... 180 181 [182] 183 184 ... 205
|
|
|