• Viernes 8 de Noviembre de 2024, 04:47

Autor Tema:  Semaforo  (Leído 5623 veces)

Keidy

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Semaforo
« en: Viernes 24 de Agosto de 2007, 00:02 »
0
Buenas tardes, tengo una duda acabo de hacer este programa en ensamblador, tengo el circuito hecho en el protoboar, el circuito esta bien, lo que me falta es que funcione el programa... me lo han revisado los profesores diciendo que esta bien el programa, mas sin embargo cuando lo pongo los conecto al cable paralelo en el circuito no fuinciona no hace nada .

Tendre problemas en el codigo? ... el o tendre problemas con mi programa 8086?? o el sistema xp no me da permisos.


; Hello World Sample!

; Standard header:
#make_COM#
ORG 100H

; Jump to start:
JMP START

RESET DB 128

BEEP DB 64

SEM DB 0,33,34,12,20

START:
MOV CX, 0FFFFH
MAIN:
MOV BX,CX

MOV CX, 4
FOR:
MOV SI,CX
MOV AL, SEM[SI]
OR AL, BEEP
MOV DX, 0378H
OUT DX, AL
IN AL, DX
AND AL, RESET
CLC
SAL AL, 1
JC MAIN

LOOP FOR
MOV CX, BX
LOOP MAIN

RET

mjesun

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Semaforo
« Respuesta #1 en: Viernes 24 de Agosto de 2007, 00:07 »
0
Hola!, en principio tu codigo esta bien, tengo que reconocer que no lo he revisado entero, pero el nucleo, que es este, esta perfecto.

Código: Text
  1. OR AL, BEEP
  2. MOV DX, 0378H
  3. OUT DX, AL
  4.  

si estas intentandolo bajo windows xp, es bastante complicada.. :D windows no te deja acceder así por las buenas al puerto paralelo... prueba el código siguiente:

Código: Text
  1.  
  2. xor ax, ax
  3. dec ax
  4. mov dx, 0378h
  5. out dx, al
  6. a:
  7. jmp a
  8.  
  9.  

si te sigue sin ir... dimelo e intentamos buscar una solución

P.D. el código escrito por mi TAMPOCO vale para windows xp... si este es tu problema, entonces... dimelo y se busca tb una solucion :lol:

saludos, miguel

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Semaforo
« Respuesta #2 en: Viernes 24 de Agosto de 2007, 00:13 »
0
¿Lo probaste en un 9x? Eso es codigo de 16 bits ... en un S.O. de la gama NT esta emulado, en teoria deberia funcionar ...

http://www.cmkrnl.com/faqvdd.html

Igual proba a depurarlo con debug.exe para ver que hace "exactamente".

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.

mjesun

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Semaforo
« Respuesta #3 en: Viernes 24 de Agosto de 2007, 00:16 »
0
por cierto eternal, al margen de este foro...

¿sabes como se pueden controlar los puertos lpt y com bajo winxp? busque informacion hace tiempo, pero no encontre ni formas, ni API's.

un saludo, miguel

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Semaforo
« Respuesta #4 en: Viernes 24 de Agosto de 2007, 00:19 »
0
Cita de: "mjesun"
por cierto eternal, al margen de este foro...

¿sabes como se pueden controlar los puertos lpt y com bajo winxp? busque informacion hace tiempo, pero no encontre ni formas, ni API's.
Igual que cualquier otro dispositivo con la funciones de archivos (CreateFile, ReadFile, WriteFile, etc), DeviceIoControl y configurandolo. En la MSDN viene todo:

CreateFile
Communications

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.

mjesun

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Semaforo
« Respuesta #5 en: Viernes 24 de Agosto de 2007, 00:40 »
0
vaya.. :D ni idea de su existencia... muchas gracias!!

:lol:

para keidy, ya tienes algo de donde empezar (si dominas ASM, Visual, C, etc, en 32 bits)..

Keidy

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Semaforo
« Respuesta #6 en: Sábado 25 de Agosto de 2007, 04:22 »
0
Para poder controlar los puertos en XP ycompania, he encontrado un aplicacion llamada UsePort que te permite desbloquear el puerto que tu le especifiques.


Debes seguir unos sencillos pasos. Incluye un pdf.

De momento no tengo a la mano de donde la halle.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Semaforo
« Respuesta #7 en: Sábado 25 de Agosto de 2007, 08:57 »
0
Cita de: "Keidy"
Para poder controlar los puertos en XP ycompania, he encontrado un aplicacion llamada UsePort que te permite desbloquear el puerto que tu le especifiques.


Debes seguir unos sencillos pasos. Incluye un pdf.

De momento no tengo a la mano de donde la halle.
Es mejor NO usar ese tipo de soluciones que se basan en quebrar la seguridad del sistema.

Esto lo escribi en otras ocasiones:
Es por seguridad, asi como se separan los espacios de memoria, no se permite el acceso directo al hardware ya que se considera una accion privilegiada y peligrosa. Ademas de el problema que acarrea el acceso simultaneo por diferentes procesos que no se sincronizan entre si en lo mas minimo. Dificilmente usen IN e OUT directamente ya que los drivers en NT tienen el objetivo de ser portables entonces se usan funciones o macros del HAL para este tipo de acceso.

Y aca hay un hilo donde se trata una libreria que debe hacer algo similar cuanto menos:
http://foros.solocodigo.com/index.php?show...4&hl=iodll&st=0

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.

mjesun

  • Miembro activo
  • **
  • Mensajes: 56
    • Ver Perfil
Re: Semaforo
« Respuesta #8 en: Sábado 25 de Agosto de 2007, 16:28 »
0
wa  :huh: quebrar la seguridad de XP? con una DLL? no pienso hacerlo, pero acabas de despertar mi curiosidad... yo pensaba que para ejecutar intstrucciones privilegiadas la unica manera era hacer un VxD o similares que corriera en ring-0...

podrias aclararme esto de la seguridad xfa¿

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Semaforo
« Respuesta #9 en: Sábado 25 de Agosto de 2007, 16:40 »
0
Cita de: "mjesun"
wa  :huh: quebrar la seguridad de XP? con una DLL? no pienso hacerlo, pero acabas de despertar mi curiosidad... yo pensaba que para ejecutar intstrucciones privilegiadas la unica manera era hacer un VxD o similares que corriera en ring-0...

podrias aclararme esto de la seguridad xfa¿
No me referia a una DLL, dije libreria en sentido general, todas esas solucioones involucran un driver de modo  Kernel (los VxD son de 9x). Si lees el hilo enlazado anteriormente lo entenderas mejor.

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.