Domingo 22 de Diciembre de 2024, 13:03
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
) »
Ayuda Con Codigo
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Ayuda Con Codigo (Leído 2299 veces)
SAJOSUE
Nuevo Miembro
Mensajes: 5
Ayuda Con Codigo
«
en:
Viernes 10 de Septiembre de 2004, 22:07 »
0
Tengan ustede buenas tardes tengo el siguietne codio de ensamblador que lo que realiza es la captura de un nombre y lo centra en la pantalla pero hay un error que no logro descrifar si alguno de ustedes me pudiera ayudar se lo agradecere mucho el codigo es el siguiente:
PAGE 60,132
TITLE P09CTRN
.MODEL SMALL
.STACK 64
.DATA
NAMEPAR LABEL BYTE
MAXNLEN DB 20
NAMELEN DB ?
NAMEFLD DB 21 DUP (' ')
PROMPT DB 'NAME ?','$'
.CODE
BEGIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
CALL Q10CLR
A20LOOP:
MOV AX,0000
CALL Q20CURS
CALL B10PRMP
CALL D10INPT
CALL Q10CLR
CMP NAMELEN,00
JE A30
CALL E10CODE
CALL F10CENT
JMP A20LOOP
A30:
MOV AX,4C00H
INT 21H
BEGIN ENDP
B10PRMP PROC NEAR
MOV AH,09H
LEA DX,PROMPT
INT 21H
RET
B10PRMP ENDP
D10INPT PROC NEAR
MOV AH,0AH
LEA DX,NAMEPAR
INT 21H
RET
D10INPT ENDP
E10CODE PROC NEAR
MOV BH,00
MOV BL,NAMELEN
MOV NAMEFLD[BX],07
MOV NAMEFLD[BX+1],'$'
RET
E10CODE ENDP
F10CENT PROC NEAR
MOV DL,NAMELEN
SHR DL,1
NEG DL
ADD DL,40
MOV DH,12
CALL Q20CURS
MOV AH,09H
LEA DX,NAMEFLD
INT 21H
RET
F10CENT ENDP
Q10CLR PROC NEAR
MOV AX,0600H
MOV BX,30
MOV CX,0000
MOV DX,184FH
INT 10H
RET
Q10CLR ENDP
Q20CURS PROC NEAR
MOV AH,02H
MOV BH,00
INT 10H
RET
Q20CURS ENDP
END BEGIN
gracias por todo.
Tweet
misterwilliam
Miembro MUY activo
Mensajes: 291
Re: Ayuda Con Codigo
«
Respuesta #1 en:
Sábado 11 de Septiembre de 2004, 07:08 »
0
Sajosue, le sugiero que sea un poco más específico respecto al error que le aparece, pues quizás algún desarrollador no tenga al momento un compilador para probarlo. Podría analizarse el código, pero pues...si es un poco extenso y sería de mucha ayuda si coloca el inconveniente que se le presenta ó el segmento de código que no entiende bien. Le aseguro que de esa manera, recibirá alguna ayuda más pronto.
Éxitos y Chao!
¡ Todo está en la mente !
Logan
Nuevo Miembro
Mensajes: 19
Re: Ayuda Con Codigo
«
Respuesta #2 en:
Viernes 17 de Septiembre de 2004, 15:47 »
0
Hola SaJosue:
Acabo de checar tu programa, y el error que tienes no es grave, lo unico que estaba sucediendo es que al momento de LIMPIAR PANTALLA estabas cometiendo un error en la siguiente instruccion MOV BX,30 que se ubica en este procedimiento.
Q10CLR PROC NEAR
MOV AX,0600H
MOV BX,30 ;por esta instruccion tu programa no te permitia ver nada
MOV CX,0000
MOV DX,184FH
INT 10H
RET
Q10CLR ENDP
Lo correcto es MOV BH,30h la parte alta del registro BX es la que almacena el color de "fondo de texto" y del "texto". En este caso el numero 3 establece un color Verde turquesa como fondo de texto y el numero 0 establece un color Negro para el texto. puedes modificar estos valores (3 y 0) para buscar una mejor combinacion de fondo y texto.
Ojo, si al final de numero 30 escribes la letra H (es decir: mov bh,30h) obtienes diferente colores que si no la escribes, prueba para que lo veas.
Suerte y no pares en el esfuerzo!!!.
Estamos aqui porque jamás terminaremos de aprender....
SAJOSUE
Nuevo Miembro
Mensajes: 5
Re: Ayuda Con Codigo
«
Respuesta #3 en:
Viernes 17 de Septiembre de 2004, 19:22 »
0
Quiero darles las gracias por informar el error que no sabia, cual era ya que soy inexperto en la materia, Gracias Logan
Logan
Nuevo Miembro
Mensajes: 19
Re: Ayuda Con Codigo
«
Respuesta #4 en:
Viernes 17 de Septiembre de 2004, 19:42 »
0
Ha sido un placer Sajosue , yo tambien agradezco a todos los que aportan sus conocimientos en este foro ya que a mi me ha servido mucho y me ha sido de gran apoyo. Estamos aprendiendo unos de otros, retroalimentandonos y eso en muy gratificante.
Saludos a todo el Foro.
Estamos aqui porque jamás terminaremos de aprender....
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Ayuda Con Codigo