|
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 - Super_G
Páginas: 1 ... 6 7 [8] 9 10 ... 15
176
« en: Miércoles 9 de Junio de 2004, 23:50 »
si; para poder leer datos del puerto paralelo antes debes enviar un numero al puerto de control, el numero exacto puede variar yo lo hago el el # 33(decimal
177
« en: Miércoles 2 de Junio de 2004, 00:58 »
La funcion 3fh de la int 21h permite leer archivos: ;;************* ;****ABRIR****** mov ah,3dh ;funion para ller un archico mov dx,offset nombre;nombre de archivo mov cx,1 ;atributo(solo lectura) int 21h ;abre el archivo mov H_AR,ax ; retorna el manejador de archivo en ax ;*******LEER************ mov ah,3fh ;funcion leer archico mov bx,H_AR ;manejador de archivo mov cx,1 ;numero de bytes a leer mov dx,offset buffer;direccion de memoria donde se leera los datos int 21h ;******************* nombre db 'c:\datos.txt',0 ;nombre en formato ASIIZ H_AR dw 0 ;localidad para el manejador buffer db 0 ;buffer de lectura
178
« en: Sábado 29 de Mayo de 2004, 01:42 »
Los datos o numeros que vas a leer de cuantos digitos son?? la ordenacion debe ser de todo el archivo? Se necesita un algoritmo que transforme los nuemeros del archivo,que son una cadena ASCII, a numeros en decimal(hex,binario...);despues llevar cada numero a un acadena(sin ordenar) y unaves los datos esten en la cadena se hace el ordenamiento, y se almacenan nuevamente los datos en otro archivo. para el ordeanmiento a en la cadena seira algo asi: ;;;;******en CX elnumero de datos mov si,offset cadena mov di,offset cadena inc si C2: push cx ;contador C1: mov al,[si] cmp al,[di] jb N1 mov ah,[di] mov [di],al mov [si],ah N1: inc si loop C1 pop cx inc di mov si,di inc si loop C2 ;;***************************
179
« en: Sábado 29 de Mayo de 2004, 01:27 »
Entoces necesitas hacer tu propio driver de mouse(en DOS)?? si es asi creo que primero debes registrar los datos que el mouse(hardware) envia al PC para esto necesitas saver la "dirección de puerto" segun sea el mouse RS-232, PS/2, USB, son los mas comunes. para elcaso del rs-232 es simplemente la diracion del puerto serial al que esta conectado(COM1, COM2...); para el PS/2 ¿? no lo se es algo que me gustaria saber!!!!. el USB creo que esa informacion se puede sacar del mismo ordenador; Despues nesecitas conocer el protocolo de comunicación en cada caso para PS/2 y RS-232 se comnetan en los siguientes documentos: http://www.microchip.ru/cdrom/download/app...6c5x/00519c.pdf. http://www.mechatronics.me.vt.edu/DataShee...assp/40101C.pdfpara USB no tengo idea. Y por ultimo conociendo elprotocolo de comunicacion Mouse-PC(y el puerto) solo faltaria el entorno que le des al mouse (texto grafico) y algunas funciones basicas.
180
« en: Martes 18 de Mayo de 2004, 02:34 »
"Memoria externa" externa al uProcesador? Segun recuerdo el microprocesador(en la acualidad) utiliza primero la memoria cache que es una memoria de alta velocidad pero cara y se encuantra en el encapsulado el uP y es de solo algunos cientos de KBytes. despues esta la memoria principal o memoria RAM que es mas lenta que la anterior pero existe comercialmente de capacidades mas grandes de varios MBytes, esta es la memoria a la que normalmente acedemos lo progrmadores, finalmente la memoria de almacenamiento masivo que se encuentra el los discos duros que es donde se almacena los archivos.
Si bamos a lo que seria el sisteam minimo de un uP tendria su memoria ROM y RAM sus puertos y sus BUSes basicamente, en los distintos puestos estan memorias externas al micro, que utilizan para lamacenar datos que el procesador maneja muy rapido y a voltajes bajos comparados con el de los puertos que son mas lentos, los programadores podemos acceder a la memoria de los puertos por medio de sus direcciones(eso creo); y en ASM con las instrucciones de IN y OUT.
181
« en: Martes 18 de Mayo de 2004, 02:07 »
Bueno primero "se hace lo que se puede" y "no hay de queso no mas de papa". y yo no utilizo un emulador sino un compilador que es el TASM de Borland, bajo el DOS de win98. ver 2.0(creo) tambien con el TASM del BorlandC++ 3.11, y alguna ves con el MASM32 de Microsoft.
182
« en: Lunes 10 de Mayo de 2004, 18:21 »
entoces podrias hacer el ordenamiento con mas controles 'A' = 65 ----'Z' = 90 'a' = 97 ----'z' = 122 primero te fijas si es mayuscula o mi nuscula para como proceder. por decir: . 1 a) si es mayscula le restare 64  si es minuscula le resto 96 . 2 consulto si es mayuscula o minuscula el num con el que lo comparo a) si es mayscula le restare 64  si es minuscula le resto 96 . 3 comparo cual es menor y hago el ordemaniento, en el momneto de la macenarlo primero debo saber si era mayuscula o minuscula para almacenarlo adecuadamente.
183
« en: Lunes 10 de Mayo de 2004, 16:14 »
INT 1A 01-- - TIME - SET SYSTEM TIME
Copied from Ralf Brown's Interrupt List
Category: B - BIOS
Inp.: AH = 01h CX:DX = number of clock ticks since midnight
Copied from Ralf Brown's Interrupt List
184
« en: Lunes 10 de Mayo de 2004, 15:42 »
La verdad no y estoy casi seguro de que no la encontrare, pero se podria intentar "VER" el codigo mediante la captura de su vetor de interrupcion asi teniendo la direccion de alguna forma copiar el codigo(maquina) e intentar entenderla o codificarla en asembler. Yo me encuentro ralizando un proyecto con el mouse(Hardware) y me intereza conocer las direcciones que utiliza un DRIVER de mouse(en windows), de puertos PS/2, conociendo esta informacion, y como ya se como es que el mouse manda la informacion al ordenador intentare hacer mi seudo driver de mouse.
185
« en: Martes 4 de Mayo de 2004, 17:08 »
Bueno, para empezar no se como podriamos obtener la informacion del microfono, asi que si digitalizamos la señal por nuestra cuenta y madamos por decir al puerto paralelo esatria resuelto esa parte, pero implica uso extra de hardwere; despues almacenar los datos en una arreglo ó matriz para hacer el proceso, tambien se puede guaradr en un archivo, como es un "afinador" supongo que los datos no seran muchos si hacemos la finacion cuerda por cueda(corta duracion), yo diria unos segundos y si las señales estaran en un rango de 400 a 500 Hz(si no me equivoco o confundo) sera necesario una frecuencia de muestreo de digamos 250Hz y con una configuracion basica del ADC0804(100ns) esta parte estaria cubierta ademas de hacer la toma de datos del puerto con un retardo que se satisfactoria para la frecuencia de muestreo. En fin el proceso en si necesitara un algoritmo que detecte que detecte o compare una señal(datos del puerto con otro dato almacenado) y esto no lo conosco, creo que se puede encontrar en lo que se llama el "Procesamiento Digital De Señales".
186
« en: Martes 4 de Mayo de 2004, 16:50 »
"no hay de queso, no'mas de papa"
188
« en: Lunes 3 de Mayo de 2004, 18:28 »
en si mandar a imprimir(por imtpresora) el contenido de la pantalla no es muy dificil con la ayuda de un servicio de DOS es menos complicado(siempre y cuando el DOS no se haga problemas con ciertas impresora por decir impresorascon puertos USB),de modo que mandamos a imprimir byte por byte y los byte que mandamos a imprimir podemos leer en un arreglo de memria o hacerlo de la mismoa forma byte por byte,leyendo del direccinde memria de la pantalla ubicada en 0b800h(cada caracter de la pantalla esta representado por 2 bytes en memoria el codigo ASCII y su propiedad color y color de fondo), para esto hay que tener en cuenta lagunos detalles como la resolucion de la pantalla(modo texto,eje:80x25), el orden de la impresion no aumenta tanto la dificultad, haber que tal esto: ;;IMPRIMIR PANTALLA EN MODO TEXTO DE 40x80 mov cx,200;;80x25;;# de caracteres a imprimir mov ax,0b800H;;direccion de la pantalla[segmento] mov es,ax xor si,si;;puntero a memoria de pantalla[desplazamiento] G1: mov dx,es:[si];;DH->propiedad vvvv DL->caracter mov ah,5 ;; servicio para imprimir DL en la imresora int 21h add si,2 ;; la lectura de la memoria se hace de 2 en 2 loop G1
eso es basicamente, ahora se puede jugar con el orden de impresion; pero el hecho de como hacer dicha impresion fue la principal duad en este tema pues si se va a sustituir la INT 5h por otra interrupcion se debe alterar el vector de interrupcion...... aqui le dejo el codigo funete + el ejecutable, este se ejecuta e imprime no hece nada con el vector de interrupcion.
189
« en: Lunes 3 de Mayo de 2004, 17:22 »
mostrar el contenido de un registro en la pantalla no es muy dificil eso depende tambien en que formato ponerlo(eje: decimal,hexadecimal, binario), por decir que lo mostramos en decimal: ;;;;;;;mostrar el contenido de AL ,en la pantalla, en decimal mov bl,10 c1: xor ah,ah div bl ;;dividimos entre 10 para separa , por digitos decimales mov dl,ah add dl,48;; se convierte el digito en ASCII para ser mostrado en pantalla mov ah,2;;mostrar caracter int 21 cmp al,0;; si es cero terminar jz fin jmp c1;; sino seguir mostrnado los digitos decimales
190
« en: Viernes 30 de Abril de 2004, 16:29 »
Talves al recibir los datos haya un error en el tipo de datos como suele pasar. aqui pongo un codigo de winsock que hice hace algun tiempo, haber si te ayuda.
191
« en: Viernes 30 de Abril de 2004, 16:19 »
Muchas gracias amigos!!!!!!!!!!!!!!!!!
192
« en: Miércoles 28 de Abril de 2004, 17:05 »
por favor si hay alguin que me pueda dar este dato: ¿cual es la dirección del puerto PS/2 del mouse?
193
« en: Lunes 26 de Abril de 2004, 16:30 »
¿existe alguna funcion de alguna DLL o del mismo VBASICque me permita capturar la pantalla actual en un archivo BMP?
194
« en: Lunes 26 de Abril de 2004, 16:20 »
bueno para el cable necesitas un cable NULLMODEM en el que basicamente los cables para el TX y RX estan "cruzados" uno con otro en los pines del DB9
hay mucha informacion sobre esto en la red.
195
« en: Lunes 26 de Abril de 2004, 16:14 »
antes ¿el programa debe funcoanr con la tecla PRSCR (interrupcion)? entoces si es asi hay que jugar con la sinterrupciones, de no ser asi pienso que puede ser mas facil:
el proble ma se reduciria a: leer el los datos de la pantalla que se encuentran en la direccion 0b80h y despues imprimirlo segun el orden que te pidan utilizando interrupcione d eDOS para imprimir(en este for existe un ejeplo para imprimir por puerto paralelo) y creo que eso es todo.
196
« en: Lunes 26 de Abril de 2004, 16:07 »
pues si estas en DOS, utiliza las funciones de la int 21h.
197
« en: Lunes 26 de Abril de 2004, 15:54 »
lo unico que se me ocurre es que el proceso se active al mismo tiempo que windows, pero no estoy seguro con el win200 y menos con el winxp, en win98 seria junto con el DOS pero no se como poder hacer para que interactue de forma mas poderoza con el mismo windows, ya que esatria muy restringido, talves tambien seria hacer que se ejecute como un virus dentro el mismo kernel del windows pero ese ya es otro negocio.
198
« en: Lunes 26 de Abril de 2004, 15:51 »
si mal no recuerdo es en esta parte:
************ d01: mov ah,9 lea dx,char int 21h loop d01
***********
199
« en: Lunes 26 de Abril de 2004, 15:49 »
Entoces solo hay que ver si el numero es primo ó no, nada mas: ********* mov si,offset cadena mov cl,[si] mov al,cl xor ah eti1: div cl cmp ah,0 ;residuo ==0? jnz noprimo dec cx jcxz esprimo jmp eti1:
no primo: ;;****** esprimo: ;;******* ******************* creo qiue eso seria basicamente
200
« en: Lunes 26 de Abril de 2004, 15:40 »
existe en el foro bastente informacion sobre calculadoreas en asembler, pero ¿que es una calcuyaldora rpn?
Páginas: 1 ... 6 7 [8] 9 10 ... 15
|
|
|