Alguien sabe como desbloquear el puerto paralelo para utilizarlo en asm? lo e utilizado en c y en java, pero esta vez toca hacerlo en asm y segun tengo entendido esta bloqueado el puerto....
Una ayudadita porfa
Una ayudadita porfa
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
init5:
mov ah,2ch ;dh=segundos
int 21h
mov bh, dh ;bh=segundos
add dh, 3 ; esto para modificar los segundos
mov bl, dh ;bl=segundos +5
cmp bl,60
ja mayor
jmp cinco
cinco:
cmp bl, bh
jne uno
jmp losdos
uno:
mov ah,2ch
int 21h
mov bh, dh ;aora bh=segundos
jmp cinco
mayor:
sub bl,60
jmp cinco
pila segment stack "STACK"
pila ends
data segment
data ends
code segment
assume cs:code,ds:data,ss:pila
inicio:
mov dl,01010000b ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h ;para imprimir 1
;uno:
;cmp dl,57
;ja sub dl 1
mov bx, 65000
cinco:
cmp bx, -65000
ja uno
jna dos
;mov dl,00010000b ; para imprimir 1
;mov ah,02h ;para imprimir 1
;int 21h
uno:
;mov dl,10000000b ; para imprimir 1
sub bx,1
mov dl, 'a' ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h
jmp cinco
dos:
mov dl, 'b' ; para imprimir 1
mov ah,02h ;para imprimir 1
int 21h
MOV AX, 4C00h ;halt dos dice que es la terminacion del programa
INT 21h ;;int rebisa lo que esta en 21h.
;es la interrupcion de pantalla con la funcion 4c que es la de hald
code ends
end inicio
code segment
assume cs:code,ds:data,ss:pila
inicio:
; esto es para iniciar el puerto
mov AH,00h ; aki inicio el puerto
mov AL, 0E7h ;paramertos de puerto, esto es correcto???
mov DX,00h ;= # de puerto osea el com1
;y esto para mandar un caracter
MOV AH,01; funcion 01h-enviando un caracter al COM
MOV AL, 52; caracter a ser enviado
INT 14
code ends
end inicio
pila segment stack "STACK"
pila ends
data segment
data ends
code segment
assume cs:code,ds:data,ss:pila
inicio:
mov ah,0 ;servicio 00 de INT 14h: inicializar puerto
;mov al,83 ;configuración: 1200 baudios, no paridad, ;un bit de parada, 8 bits de datos
mov dx,00 ;Seleccionar puerto COM1
mov al,32
int 14 ;interrupción del BIOS
mov ah,4ch ;servicio 4ch de INT 21h: terminar
int 21 ;interrupción servicio del DOS hald
MOV AX, 4C00h ;halt dos dice que es la terminacion del programa
INT 21h ;;int rebisa lo que esta en 21h.
code ends
end inicio
pila segment stack "STACK"
dw 4 DUP(0)
pila ends
data segment
data ends
code segment
assume cs:code,ds:data,ss:pila
inicio:
mov ax, data ;un db es una palabra de 16 its
mov ds, ax ;//cargar el segmento de codigo en memoria
MOV AH,01h ;Le meto 1 a ah para que meta en al
INT 21h ;Espera el teclado
mov ah,0h ;limpio ah
push ax ;lo meto en la pila
MOV AH,01h
INT 21h
mov ah,0h
push ax
MOV AH,01h
INT 21h
mov ah,0h
push ax
MOV AH,01h
INT 21h
mov ah,0h
push ax
;lo hice 4 veces, y ahora a hacer el pop
;POP
pop ax ;Y ya no se que mas hacer!
cmp ax,'a' ; una comparacion talvez?
jz salt ; asi se hace la comparacion?
salt proc near ;pero que pasa si no es una a?
sub al,31h ; como ponerle el else ???? (o algo asi)
mov dl,al
mov ah,02h
int 21h
salt endp
MOV AX, 4C00h ;halt dos dice que es la terminacion del programa
INT 21h ;;int rebisa lo que esta en 21h.
;es la interrupcion de pantalla con la funcion 4c que es la de hald
code ends
end inicio
; que perdido estoy,ayudenme :(