SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: fORU- en Miércoles 9 de Mayo de 2007, 02:40

Título: Color Para Modo Texto
Publicado por: fORU- en Miércoles 9 de Mayo de 2007, 02:40
hola que tal!!!

quisiera saber como puedo hacerle para utilizar un color diferente para cadena.
digamos:

msg   db 'colorRojo',0
msg1 db 'colorAma',0

lo trate con la int 10, que tiene la siguiente estructura:
                MOV BH,0eH
   MOV CX,0000
   MOV DX,184FH
   INT 10H

pero no me sirvio. para que se den una idea de lo que intente hacer ahi les va mi
codigo ahi si me pueden echar la mano diciendome que otra interrupcion puedo
usar se los agradeceria.

MODEL small
.STACK 100h

extrn clrscr:near
extrn putchar:near
extrn puts:near
extrn getchar:near
extrn getch:near
extrn gotoxy:near
extrn kbhit:near ; AH=0 si no hay tecla AH=1 si hay tecla; AL=TECLA




LOCALS
.DATA
   msg  db 'colorR',0
   msg1 db 'colorA',0


.CODE
PRIN PROC
   
   
   mov ax,@data   
   mov ds,ax   
   
   call clrscr
   
      
   call amar
   call getch
   mov bh,0fh ;/// coordenadas para
   mov bl,1h   ;/// para el gotoxy
   call gotoxy
   call rojo
   
   mov ah,04ch       
   mov al,0            
   int 21h          
ret
endp

rojo PROC ;//// procedimiento para pintar el mensaje en rojo
   MOV BH,0cH
   MOV CX,0000
   MOV DX,2045H
   INT 10H

   mov bx,0a00h
   mov dx,offset msg
   call puts
ret
endp

amar PROC ;/////////////procedimiento para pintar el mensaje en amarillo
      
   MOV BH,0eH
   MOV CX,0000
   MOV DX,2045H  
   INT 10H

   mov dx,offset msg1
   call puts  
ret
endp
Título: Re: Color Para Modo Texto
Publicado por: Toph en Jueves 10 de Mayo de 2007, 02:49
Cita de: "fORU-"
hola que tal!!!

quisiera saber como puedo hacerle para utilizar un color diferente para cadena.
digamos:

msg   db 'colorRojo',0
msg1 db 'colorAma',0

lo trate con la int 10, que tiene la siguiente estructura:
                MOV BH,0eH
   MOV CX,0000
   MOV DX,184FH
   INT 10H

pero no me sirvio

para que funcione correctamente te hace falta poner mov AX,0600h
para que se te pinte de amarillo:

Código: Text
  1. MOV CX,0000&#59;rango  que tendra fondo negro letras amarillas
  2. MOV DX,184FH&#59;segun tu programa de 0000 a 184F
  3. mov BH,0Eh&#59;fondo negro letras amarillas
  4. mov AX,0600h
  5. int 10h
  6.  

y lo mismo para pintarse de rojo solo que MOV BH,0Ch;fondo negro letras rojas






saludos  :hola:
Título: Re: Color Para Modo Texto
Publicado por: fORU- en Sábado 12 de Mayo de 2007, 20:48
ea ea encontre otra interrupcion es la 10h

   mov al,141 ; caracter a pintar
   mov ah,09h   
   mov bh,00h ; numero de pagina por lo regular siempre se esta en al 0
   mov bl,0eh  ; bl 0=color fondo  e=color caracter
   mov cx,01h ;numero de veces a mostar el caracter
                int 10h   

nota:no se ocupa putchar ni puts para desplegar el caracter pintado
Título: Re: Color Para Modo Texto
Publicado por: fORU- en Sábado 12 de Mayo de 2007, 21:10
Cita de: "Toph"
para que funcione correctamente te hace falta poner mov AX,0600h
para que se te pinte de amarillo:

Código: Text
  1. MOV CX,0000;rango  que tendra fondo negro letras amarillas
  2. MOV DX,184FH;segun tu programa de 0000 a 184F
  3. mov BH,0Eh;fondo negro letras amarillas
  4. mov AX,0600h
  5. int 10h
  6.  

y lo mismo para pintarse de rojo solo que MOV BH,0Ch;fondo negro letras rojas
 
hola compañera, ahora que me acuerdo nunca le di las gracias, asi que GRACIAS

De Eternal Idol: te lo edito, la proxima no cites tu propio mensaje, solo el de la persona a la cual le queres responder  ;)
Título: Re: Color Para Modo Texto
Publicado por: Eternal Idol en Sábado 12 de Mayo de 2007, 21:12
Cita de: "fORU-"
ea ea encontre otra interrupcion es la 10h

   mov al,141 ; caracter a pintar
   mov ah,09h   
   mov bh,00h ; numero de pagina por lo regular siempre se esta en al 0
   mov bl,0eh  ; bl 0=color fondo  e=color caracter
   mov cx,01h ;numero de veces a mostar el caracter
                int 10h   

nota:no se ocupa putchar ni puts para desplegar el caracter pintado
Esa no es otra interrupcion sin un servicio diferente de la misma interrupcion (10h), mas informacion aca:

http://www.ctyme.com/intr/rb-0099.htm (http://www.ctyme.com/intr/rb-0099.htm)
Título: Re: Color Para Modo Texto
Publicado por: Toph en Domingo 13 de Mayo de 2007, 03:48
Cita de: "fORU-"
hola compañera, ahora que me acuerdo nunca le di las gracias, asi que GRACIAS
De nada.  :hola:

y con respecto a

Cita de: "fORU-"
ea ea encontre otra interrupcion es la 10h

mov al,141 ; caracter a pintar
mov ah,09h
mov bh,00h ; numero de pagina por lo regular siempre se esta en al 0
mov bl,0eh ; bl 0=color fondo e=color caracter

 :huh: este servicio de la interrupcion 10 te permitira pintar un caracter ¿que no necesitabas pintar una cadena?

Citar
quisiera saber como puedo hacerle para utilizar un color diferente para cadena.

saludos  :hola: