Ensamblador - ups .. me olvide, alli mando mi codigo assembler

 
Vista:

ups .. me olvide, alli mando mi codigo assembler

Publicado por ayudiita control de impresora (2 intervenciones) el 14/12/2006 15:48:19
PILA SEGMENT STACK 'STACK' ; Abre el segmento de PILA.
DW 100h DUP (?) ; Reserva 100 palabras para la PILA.
PILA ENDS ; Cierra el segmento de PILA.

DATOS SEGMENT 'DATA' ; Abre el segmento de DATOS.
mensaje DB 13,10,"Programa Servicios de Impresora",13,10,13,10,'$' ; Mensaje a escribir.
mensaje1 DB "1. Estado de impresora",13,10,'$'
mensaje2 DB "2. Inicializar impresora",13,10,'$'
mensaje3 DB "3. Imprimir caracter",13,10,'$'
mensaje4 DB "4. Salir",13,10,13,10,'$'
mensaje5 DB "Ingrese opcion:",'$'
mensaje6 DB 10,13,"Existe un Error",'$'
mensaje7 DB 10,13,"Ingrese cadena:",'$'
mensaje8 DB 10,13,"El estado de la impresora es:",'$'

DATOS ENDS ; Cierra el segmento de DATOS.

CODIGO SEGMENT 'CODE' ; Abre el segmento de CODIGO.
ASSUME CS:CODIGO, DS:DATOS, SS:PILA
ENTRADA:
MOV ax, DATOS ; Valor de segmento para DATOS.
MOV ds, ax ; Para acceder a "mensaje".
MOV dx, OFFSET mensaje ; Para la interrupción 21h, función 09.
MOV ah, 09 ; Especifica el servicio o función 09.
INT 21h ; Invoca el servicio 09: Imprimir Cadena.
MOV dx, OFFSET mensaje1
INT 21h
MOV dx, OFFSET mensaje2
INT 21h
MOV dx, OFFSET mensaje3
INT 21h
MOV dx, OFFSET mensaje4
INT 21h
MOV dx, OFFSET mensaje5
INT 21h

MOV ah, 01h
INT 21h

cmp al,31h
je L1
cmp al,32h
je L2
cmp al,33h
je L3
jmp Salir

;----------------------------------------------------------------
L1:

MOV dx, OFFSET mensaje8
mov ah,09
INT 21h
call Estado
jmp ENTRADA
;----------------------------------------------------------------
L2:

MOV dx, OFFSET mensaje8
mov ah,09
INT 21h
call Inicializa
jmp ENTRADA

;----------------------------------------------------------------
L3:

MOV dx, OFFSET mensaje8
mov ah,09
INT 21h
call Imprime
jmp ENTRADA

;----------------------------------------------------------------
Estado proc
MOV AH, 02H
MOV DX, 00
INT 17H

;TEST AH, 00101001B
;JNZ errormsg

mov dl,ah
mov ah,02h
int 21h

ret
Estado endp
;----------------------------------------------------------------

Inicializa proc
MOV AH, 01H ; Petición para inicializar el puerto
MOV DX, 00 ; Selecciona el puerto 0 para la impresora
INT 17H ; Llama al BIOS

mov dl,ah
mov ah,02h
int 21h

ret
inicializa endp

;----------------------------------------------------------------
Imprime proc

MOV AH,02h
MOV DX,00
int 17h

mov dl,ah
mov ah,02h
int 21h

MOV dx, OFFSET mensaje7
mov ah,09
INT 21h

label1:
MOV AH,01h
int 21h
CMP AL,0Dh
je exit

mov ah,00h
mov dx,00
int 17h
jmp label1

exit:

ret
Imprime endp
;----------------------------------------------------------------

errormsg:
mov dx, offset mensaje5
mov ah, 09
int 21h
jmp ENTRADA
;----------------------------------------------------------------
Salir:
MOV ax, 4C00h ; Servicio (Función) 4Ch, con valor de retorno 0.
INT 21h ; Invoca servicio 4Ch: Retorno al DOS.
CODIGO ENDS ; Cierra el segmento de CODIGO.
END ENTRADA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

control del escaner en asembler

Publicado por grover (1 intervención) el 20/11/2007 15:18:38
alguien tubiera un programa en asembler acerca de entrada
de datos del escaner o control del escaner por favor se los agradeseria mucho gracias..........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ups .. me olvide, alli mando mi codigo assemble

Publicado por oscar (1 intervención) el 04/12/2009 00:18:09
Oye disculpa pero tengo un pequeño ploblema con tu codigo descrito en esta pagina.

mi pregunta es como puedo seleccionar el puerto para la impresora conectada a un usb, por ejemplo me da esta direccion #0001 pero no me acepta el primer caracter.

Inicializa proc
MOV AH, 01H ; Petición para inicializar el puerto
MOV DX, 00 ; Selecciona el puerto 0 para la impresora
INT 17H ; Llama al BIOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar