• Viernes 19 de Abril de 2024, 06:07

Mostrar Mensajes

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 - Enko

Páginas: [1] 2 3 ... 77
1
La taberna del BIT / Re:10 años
« en: Viernes 17 de Octubre de 2014, 23:56 »
Uy! años que no entro y mira con lo que me vengo a encontrar!

Felicidades por el excelente trabajo que has hecho a lo largo de todo este tiempo ;)

Un Saludo

Enko

2
ASM (Ensamblador) / Re: mi primer bootloader - orientacion
« en: Martes 21 de Junio de 2011, 06:31 »
Ultimamente esta parte del foro se ve inactiva. Yo entro muy de vez en cuando.

La PC arranca en modo REAL. 16 bit, con sus limitaciones. Pero la BIOS corre en modo REAL, por ende, estando en modo REAL tienes acceso a todas las interrupciones de la BIOS.

El modo PROTEGIDO, 32 bit, en el que corren la mayoria de los SO,  tiene un monton de ventajas, multihilo, direcciona 4gb de memoria, distintos niveles de privilegios etc....
Para una buena explicacion, no hay nada mejor que leer
intel x86 architecture manual
Estan en la pagina de INTEL.
Lo que si ocurre, es que las interrupciones de la BIOS ya no sirven, porque estas ulitmas solo funcionan en modo REAL.

Asi que la parte de armar tus propios drivers, en si es cierto, pero no te creas que en un driver de teclado es dificil de hacer, es tan solo comunicarte con el dispositivo usando IN/OUT.
Y para la salida en pantalla, es tan solo modificar una matriz de 80x25 que se encuentra en el espacio de memoria de video. Estando en modo texto claro.

una buen lugar para que busques referecias, es osdev.org.

Saludos.

3
Pascal / Re: pascal
« en: Domingo 19 de Junio de 2011, 00:05 »
Cita de: "antonelladiaz"
tengo problemas con una matriz10*12 me piden q escriba una matriz de números aleatorios entre100y999,y luego me pide q detecte los números que terminan en2.ya genere la matriz con sus respectivos números y se q debo usar dividir el numero en 10 y si este es 2 escribirlo.mi problema es q no se donde escribir la sentencia if,ya q si la pongo antes del de terminar de escribirla matriz se desordena, sino no lo tiene en cuenta.desde ya muchas gracias.
Es tan sencillo como tener 2 rutinas.

La primera que inicializa la matriz con los valores aleatorios. Y la segunda que recorre la matriz en busqueda de numeros pares. No hace falta hacer todo en una sola recorida.

4
Pascal / Re: pascal
« en: Domingo 19 de Junio de 2011, 00:05 »
Cita de: "antonelladiaz"
tengo problemas con una matriz10*12 me piden q escriba una matriz de números aleatorios entre100y999,y luego me pide q detecte los números que terminan en2.ya genere la matriz con sus respectivos números y se q debo usar dividir el numero en 10 y si este es 2 escribirlo.mi problema es q no se donde escribir la sentencia if,ya q si la pongo antes del de terminar de escribirla matriz se desordena, sino no lo tiene en cuenta.desde ya muchas gracias.
Es tan sencillo como tener 2 rutinas.

La primera que inicializa la matriz con los valores aleatorios. Y la segunda que recorre la matriz en busqueda de numeros pares.

5
C# / Re: Diferentes resoluciones de pantalla+como adaptar iconos
« en: Domingo 19 de Junio de 2011, 00:01 »
Cita de: "skabo"
Ok, osea la solucion es tener iconos en las diferentes resoluciones y mostrar los que corresponda segun la resolucion de pantalla del momento. Gracias, ahora los programas profesionales se hacen asi?
Los iconos se enlacan al recurso de la ejecutable. Luego windows mismo busca adentro de la ejecutable el icono con el tamaño mas adecuado. Es lo que viene dentro del ICONGROUP

Y en cuanto a los iconos que usas dentro de tu aplicacion, simplemente usas el que tenga el tamaño mas adecuado y listo.

6
Pascal / Re: Funcion Imprimir
« en: Sábado 18 de Junio de 2011, 23:58 »
Cita de: "Cardozo"
Hola necesito ayuda para mandar un archivo en pascal a la impresora alguien me podria ayudar?
Si estas usando Turbo Pascal se va volver imposible al menos que la impresora se conecte usando el puerto LPT1

7
ASM (Ensamblador) / Re: mi primer bootloader - orientacion
« en: Sábado 18 de Junio de 2011, 23:51 »
busca info sobre la interupcion 13 (int  0x13)
Es la que lee bloques de datos desde el disquet y los carga a la memoria.

Una vez cargado a la memoria el kernel, saltas hacia la direccion donde cargaste el kernel.

8
Pascal / Re: punteros
« en: Lunes 20 de Diciembre de 2010, 21:21 »
Citar
he GetMem procedure attempts to get the specified StorageSize bytes of storage, storing a pointer to the storage in StoragePointer.
 
If the allocation fails, then a EOutOfMemory exception is raised.
 
The storage is not initialised in any way.
Por lo visto en Delphi lanza una excepcion tambien en vez de devolver nil.

9
Pascal / Re: punteros
« en: Domingo 19 de Diciembre de 2010, 04:53 »
Puntero es solo una variable que apunta a una direccion de memoria... medio dificil que no tengas espacio para punteros. Si te puede pasar que no tengas memoria para reservar.

si getmem te devuelve nil es que ya no hay  memoria para reservar.

Si programas en DOS creo que el limite son 64kb si mal no recuerdo.
En el modo protegido de 32 bin (windows xp) la arquitectura est'a hecha de tal manera del CPU que solo puede redireccionar 4gb de memoria.

10
Pascal / Re: metodos de ordenacion
« en: Viernes 10 de Diciembre de 2010, 19:54 »
para el de burbuja suelo hacer:
Código: Delphi
  1.  
  2. for i:=1 to N do
  3.    for j:= i+1 to N do
  4.          if v[i]<v[j] then
  5.              intercambiar(v[i], v[j]);
  6.              
  7.            
  8.  
  9.  

11
Pascal / Re: metodos de ordenacion
« en: Viernes 10 de Diciembre de 2010, 00:20 »
Código: Delphi
  1. procedure Switch(v:vector;N:byte);
  2.   var i,j,index:integer;
  3.    cambiado: boolean;
  4.  begin
  5.    clrscr;
  6.    repeat
  7.      cambiado := false;
  8.      for i := N downto 2 do
  9.      if v[i] < v[j+1] then {esta es la linea que da error}
  10.          begin
  11.          index:=v[j];
  12.  
  13.  

Si te fijas, pones if v < v[j+1]

A que equivale j+1?
J no tiene valor definido.
1) o le pones algun valor
2) o bien, me parece que en vez de j+1 es "i+1"

Saludos ^^

12
Pascal / Re: procedure dentro de procedure
« en: Viernes 10 de Diciembre de 2010, 00:12 »
Si, sin problemas, el sub-procedimiento solo será visto por el procedimiento en el que es definido.


Código: Delphi
  1.  
  2. procedure Ejemplo(x: integer);
  3.  
  4. procedure SubEjemplo(i: integer);
  5. begin
  6. end;
  7.  
  8. begin { comienza procedure Ejemplo}
  9.     x := etc....
  10.     SubEjemplo(x);
  11. end;
  12.  
  13.  
  14. begin {begin principal del programa}
  15.  Ejemplo(23); {valido}
  16.  SubEjemplo(23); {invalido, no es visible en este ambito.}
  17.  
  18.  
  19.  

13
C/C++ / Re: calendario con funciones
« en: Jueves 9 de Diciembre de 2010, 13:58 »
La formula debe de ser del algoritmo Doomsday.

aqui hay info y explicacion:
http://es.wikipedia.org/wiki/Algoritmo_Doomsday

14
Pascal / Re: problema pascal matrices y suma
« en: Miércoles 8 de Diciembre de 2010, 05:53 »
De nada xD
aunque creo que te las arreglas solo bastante bien tambien   :rolleyes:

cualquier duda, ya sabes  :P

15
C/C++ / Re: Imprimir texto mostrado en la consola.
« en: Miércoles 8 de Diciembre de 2010, 05:41 »
Como no dices para que sistema operativo esta hecha tu aplicacion esta algo complicado...

La alternativa sencilla, es la que dijo mosquito, guardar el lo que sacaste por pantalla en un txt y luego imprimirlo, si tiene que ser interactivo desde el programa, podrias ejecutar el notepad con el parametro /p  cosa que abriria notepad  directamente para  imprimirlo
Código: Text
  1.  
  2. system("%systemroot%\system32\NOTEPAD.EXE /p C:/direccion_archivo/mi_archivo_de_texto.txt");
  3.  
  4.  



La otra alternativa, para que tu programa lo imprima directamente y no pedirle a notepad que lo haga, seria si estas en DOS tener una impresora que se conecte por el puerto de impresora  LPT (si es que tu computadora tiene ese puerto xD y si aun consigues la impresora.... porque DOS y USB no es muy compatible que digamos)
Y si es una aplicacion de windows, pero usas una consola, pues deberias utilizar la WINAPI, abrir un Handle al Canvas de la impresora e imprimir las cosas alli. Si nunca trabajaste con la WINAPI se te va hacer complicado.

16
Pascal / Re: gato atog toga ogat
« en: Miércoles 8 de Diciembre de 2010, 05:02 »
En si, la matriz contruida no debe estar almacenada.
asi que por ejemplo, en la palabra gato, hay 4 caracteres. Para hacer lo que te pide el ejemplo debes mostrar los elementos 1234,2341,3412,4123
Si fuesen 5 caracteres, "gatos" por ejemplo, deberias mostrar 12345,23451,34512,45123,51234.

17
Pascal / Re: problema pascal matrices y suma
« en: Miércoles 8 de Diciembre de 2010, 04:50 »
Te cito tu codigo:
Código: Delphi
  1. for j:=2 to 3 do begin
  2. suma:=0;
  3. for i:=2 to 3 do begin
  4. suma:=suma+x[i,j];
  5. end;
  6. x[1,4]:=suma
  7.  
  8. end;
  9.  
si la matriz es 4x4, en el caso tuyo sumaria los campos que marco aqui con una X
Código: C
  1.  
  2. ····
  3. ·XX·
  4. ·XX·
  5. ····
  6.  
  7.  
como ya te habia dicho antes, eso sumaria los campos 2x2, 2x3, 3x2,3x3

Si lo que quieres es sumar la linea diagonal, 1x1,2x2,3x3,4x4 asi:
Código: C
  1.  
  2. x···
  3. ·X··
  4. ··X·
  5. ···X
  6.  
el codigo es más sencillo, solo alcanza un for
Código: Pascal
  1.  
  2. for 1:=1 to 4 do
  3.     suma:=suma+x[i,i];
  4.  
  5.  

18
Pascal / Re: problema pascal matrices y suma
« en: Miércoles 8 de Diciembre de 2010, 00:43 »
Código: Delphi
  1. for j:=2 to 3 do
  2. begin
  3. suma:=suma+x[i,j];
  4. i:=i+1;
  5. j:=j+1;
  6. end;
  7.  
  8.  
Hay algo mal ahí, el bucle es j de 2  a 3.
luego dentro del bucle, asignas a j:=j+1  para la primer ejecucion 2+1=3  
Es decir, en teoria habría una ejecucion única del bucle y no sería un bucle propiamente dicho, es decir, algo así como for j:=2 to 2.... no tiene sentido.
Código: Delphi
  1. for i:=2 to 3 do
  2.     begin
  3.         for j:=2 to 3 do
  4.         begin
  5.             x[i,j]:=random(11);
  6.         end;
  7.     end;
  8.  
Por lo que veo, no asignas valores a toda la matriz, solo las casilas 2x2,2x3,3x2,3x3

19
ASM (Ensamblador) / Re: ventajas de asm
« en: Miércoles 8 de Diciembre de 2010, 00:32 »
Sabiendo programar en assembly, podrías entender mejor de como funciona realmente una computadora. Pero para hacer aplicaciones de escritorio no es la mejor alternativa lejos.
Es uno de los lenguajes más rapidos de leer el manual, es decir, en 2-3 dias tienes el panorama completo. Ahora aprender a usarlo de alguna manera lleva meses/años.

Por el tema del virus, pues en teoria, si sabes cual es la ejecutable que infectó el sistema, con ensamblador podrías desensamblarla, ver como infecta y hacer una herramienta para desinfectar... pero para llegar a ese nivel requiere años de experiencia. Para el caso, algun antivirus o aplicacion antimalware sería mucho mas sencillo.

20
La taberna del BIT / Re: ¿Cómo va?
« en: Lunes 6 de Diciembre de 2010, 17:03 »
curiosamente este hilo en v4beta está desaparecido :S

21
La taberna del BIT / Re: me presento
« en: Lunes 6 de Diciembre de 2010, 17:02 »
bienvenido :)

22
La taberna del BIT / Re: ¿Cómo va?
« en: Lunes 6 de Diciembre de 2010, 15:36 »
Cita de: "Eternal Idol"
Tal vez ahora con la nueva version aumente el trafico  :comp:
En que sentido la "nueva version"? Este Theme no es de hace 2 años?

23
ASM (Ensamblador) / Re: Enlazar ensamblador y C
« en: Lunes 6 de Diciembre de 2010, 15:35 »
Para compilar con el tcc sería tan facil como poner Projec>>Build.

Compiladores gratuitos sobran:
http://www.thefreecountry.com/compilers/cpp.shtml

24
ASM (Ensamblador) / Re: Enlazar ensamblador y C
« en: Sábado 4 de Diciembre de 2010, 23:46 »
Asumo que el programa compilado en C, no tienes el codigo fuente, sino usarias inline assembly alli y pondrías tus rutinas en asm.

si quieres tener los dos programas en un mismo exe, deberías tenerlos empaquetados y en runtime desenpaquetar el que quieres ejecutar y con algun llamado del sistema operativo ejecutarlo. En el caso de Windows  WinExec (puedes ver el msnd, hay info de sobra)

25
La taberna del BIT / Re: Como ha estado el foro los últimos dos años
« en: Sábado 4 de Diciembre de 2010, 23:40 »
Buenas, no se hace cuanto que no entro, debe ser que hace mucho que no programo y ando liadisimo con no se cuantas cosas.

Es lindo volver a ver algunos de los avatares de siempre ;)

Páginas: [1] 2 3 ... 77