Domingo 22 de Diciembre de 2024, 07:38
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Re: como imprimo con Ensamblador?
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: como imprimo con Ensamblador? (Leído 3739 veces)
Logan
Nuevo Miembro
Mensajes: 19
Re: como imprimo con Ensamblador?
«
en:
Miércoles 22 de Octubre de 2003, 19:48 »
0
Hola, estoy tratando de imprimir algo en ensamblador, lo que sea, palabras o numeros, he estado checando la int 17h, tambien la instrucciones IN y OUT, pero creo que la 17 maneja el puerto paralelo, mi impresora es USB, no he encontrado la forma de transferis datos a la impresora, por lo consiguiente no he impreso nada verdad, bueno espero que alguien me pueda dar algun tip al respecto porque la verdad no le encuentro.
Este es un programa que probe para imprimir 10 veces una cadena, lo probe en una impresora con puerto paralelo pero solo jala la hoja y no imprime nada.
title cprint
comment*
Programa que lee caracteres provenientes del teclado utilizando
INT 21h y los escribe en la pantalla de exhibici¢n y los imprime
en impresora*
stack segment para stack 'stack'
db 64 dup ('stack')
stack ends
data segment para public 'data'
msg db 'introduce caracteres','$'
buff1 db 80
buff2 db ? ;longitud del buffer de entrada
char db 80 dup (' '),'$'
blank db ' '
nprint dw 26 ;linea limite de la salida de entrada
data ends
cseg segment para public 'code'
cprint proc far
assume cs:cseg,ds:data;ss:stack
push ds
sub ax,ax
push ax
mov ax,seg data
mov ds,ax
mov ah,6
mov al,0
mov cx,0
mov dh,23
mov dl,79
mov bh,7
int 10h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
lea dx,msg
mov ah,9
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
lea dx,buff1
mov ah,10
int 21h
mov cx,10
mov bh,0
mov bl,buff2
mov si,bx
lea bx,char
mov ah,blank
mov byte ptr [bx+si],ah
d01:
mov ah,9
lea dx,char
int 21h
loop d01
mov dx,0
mov ah,1
int 17h
mov si,1
d03:
lea bx,char
mov di,0
mov ah,0
mov al,buff2
mov cx,ax
d02:
mov ah,5
mov dl,byte ptr [bx+di]
inc di
int 21h
loop d02
mov ah,5
mov dl,0ah
int 21h
mov ah,5
mov dl,0dh
int 21h
inc si
cmp si,nprint
jb d03
ret
cprint endp
cseg ends
end cprint:ouch:
Tweet
Estamos aqui porque jamás terminaremos de aprender....
Super_G
Miembro MUY activo
Mensajes: 375
como imprimo con Ensamblador?
«
Respuesta #1 en:
Miércoles 22 de Octubre de 2003, 21:45 »
0
tu programa funciona con una imprsora con puerto paralelo, no compilaba bien y le cambie solo el formato:
;;;;;;********************************
.model small
.stack 100
.data
msg db 'introduce caracteres','$'
buff1 db 80
buff2 db ? ;longitud del buffer de entrada
char db 80 dup (' '),'$'
blank db ' '
nprint dw 26 ;linea limite de la salida de entrada
.code
inicio:
mov ax,_data
mov ds,ax
mov ah,6
mov al,0
mov cx,0
mov dh,23
mov dl,79
mov bh,7
int 10h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
lea dx,msg
mov ah,9
int 21h
mov ah,2
mov dl,0ah
int 21h
mov ah,2
mov dl,0dh
int 21h
lea dx,buff1
mov ah,10
int 21h
mov cx,10
mov bh,0
mov bl,buff2
mov si,bx
lea bx,char
mov ah,blank
mov byte ptr [bx+si],ah
d01:
mov ah,9
lea dx,char
int 21h
loop d01
mov dx,0
mov ah,1
int 17h
mov si,1
d03:
lea bx,char
mov di,0
mov ah,0
mov al,buff2
mov cx,ax
d02:
mov ah,5
mov dl,byte ptr [bx+di]
inc di
int 21h
loop d02
mov ah,5
mov dl,0ah
int 21h
mov ah,5
mov dl,0dh
int 21h
inc si
cmp si,nprint
jb d03
mov ah,4ch
int 21h
end inicio
;;********************************
;;compilado con TASM
drakkem
Nuevo Miembro
Mensajes: 3
Re: como imprimo con Ensamblador?
«
Respuesta #2 en:
Martes 13 de Abril de 2004, 23:40 »
0
Oye agradeceria que pusieras los comentarios del programa, para asi saber en que parte mandas a imprimir y en que parte haces cada cosa
si no te es mucha molestia
Super_G
Miembro MUY activo
Mensajes: 375
Re: como imprimo con Ensamblador?
«
Respuesta #3 en:
Lunes 26 de Abril de 2004, 15:51 »
0
si mal no recuerdo es en esta parte:
************
d01:
mov ah,9
lea dx,char
int 21h
loop d01
***********
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Re: como imprimo con Ensamblador?