• Viernes 17 de Mayo de 2024, 05:54

Autor Tema:  Leds 8088 8255 Modo 0 Puerto Paralelo  (Leído 2320 veces)

osw

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Leds 8088 8255 Modo 0 Puerto Paralelo
« en: Martes 21 de Septiembre de 2004, 16:16 »
0
Disculpenme este es el mensaje original los otros no se que paso ...  a todos bueno sigo con algunas dudas pero no tantas como antes bueno al grano tengo esto y quisiera que entre todos tratemos de explicar para que sirve esto:

Pila Segment Para Stack
DB 64 DUP(' ')
PILA ENDS

DATOS SEGMENT PARA 'DATA'
MENSAJE DB ----> "SALIDA POR EL PUERTO PARALELO"
PUERTO DW 378H
DATOS ENDS

RETARDO MACRO MUN
LOCAL LX,L2
MOV CX,NUM
L1: PUSH CX
MOV CX,0FFFFH
L2:NOP
LOOP L2
POP CS
LOOP L1
END MACRO

// Bueno esto disque es macro assembler pero la verdad de las verdad es no lo entiendo  porfavor ayudenme con esto
Bueno para este trabajo que me dejaron en mi universidad estoy usando 8088 74138 8253 ya esta configurado como MODO 0 bueno eso creo  ahora lo que me piden es lo de arriba que por el puerto paralelo de el computador haga prender unos leds, por ejemplo :
Implementar el hardware respectivo y realice un programa que permita convertir al computador a un contador binario de 8bits up/dn y como desplazador de lucesdel siguiente MODO
1- CONTADOR UP (1 -255 )
2-CONTADOR DOWN (osea descendente 255 - 1)
3- desplazador a la derecha
4- desplazador a la isquierda
5- intermintente
bueno yo dige esto nos pedira que lo hagamos en c++  pero noooo en macro assembler  y bueno tengo estos avances

CODIGO SEGMENT PARA CODE
SALIDA PROC FAR
ASSUME CS:CODIGO, DS=DATOS, SS=PILA
INICIO = PUS DX
SUB SX SX
MOV SX DATOS
MOV DS AX
lee a dx, mensaje mov ah 09 int 21h
;salida

MOV DX PUERTO
MOV AL 0AAH
OUT DX AL
RETARDO 0FFFFH
NOT AL
OUT AX AL
MOV AH 9CH
INT 21H
SALIDA ENDP
CODIGO ENDS
END INICIO


bueno eso es todo lo que disque yo se pero la verdad que necesito ayuda por que los dias se me estan pasando y yo estoy todo  pero ahora tengo que poner ganas para resolver esto  ayudenme pofavor lo que mas quiero es que me expliquen la primera parte por que la primera parte no entidendo nada y si pudieran darme algunas nociones de como puedo hacer lo que me piden en la mitad e mi mensaje gracias ante todo

osw

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Leds 8088 8255 Modo 0 Puerto Paralelo
« Respuesta #1 en: Jueves 23 de Septiembre de 2004, 00:42 »
0
Bueno hasta aca   no me manda errores el link
pero cuando lo quiero ejecutar en el win2000 me manda un error de "ESTA APLICACION NO SE PUEDE EJECUTAR  EN WIN32"  pero igual lo estoy ejecutando de otra forma lo que me preocupa son lo que me pidieron

hacer un contador en forma ascendente y desendente intermitente   pero  mi problema es que no entiendo muy bien lo que esta aca abajo quisiera que me lo explicaran porfabovor :hola:
pila segment para stack
db 100 dup ('')
pila end


datos gement para 'data'
mensaje db " salida del dato para el puerto para lelo "
puerto db 378h
datos ends


retardo macro num
local l1 l2
mov cx , num
l1: push cx
nov cx 0fffffh
l2: mov
loop l2
pop cx
loop l1
end


codigo segment para 'code'
salida poc far
assume
cs:codigo, ds:dato, ss:pila
inicio :
push dx
sub ax,ax
mov ds,ax
lea dx,mensaje
mov ah,09
int 21h
; salida
mov dx,puerto
mov al,0aah
out dx,al
retardo 0fffffh
not al
out dx,al
mov ah,9ch
int 21h
salida endp
codigo end

Sr. ASM

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Leds 8088 8255 Modo 0 Puerto Paralelo
« Respuesta #2 en: Jueves 30 de Septiembre de 2004, 22:08 »
0
OSW. por lo que veo el programa que copiaste tiene errores crasos, como
sub sx sx ?

El macro es un retardo y la explicacion esta en lo que haya en Cx y la instrucciòn LOOP L2. que va a saltar a L2 , luego decrementa CX y sigue el lazo hasta que CX sea 0. es decir un retardo dado por el valor de CX

Por lo demás tiene un programa similar a la utilizaciòn del puerto paralelo LPT en C.
defines el puerto y el dato a votar por el  mismo.
___________________________________________________

Nada esta dicho hasta el final.
Tenemos tiempo para aprender cada vez un poquito más
___________________________________________________