Programación General > ASM (Ensamblador)

 Color Para Modo Texto

(1/2) > >>

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 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

Toph:

--- 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


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


--- Código: Text ---MOV CX,0000&#59;rango  que tendra fondo negro letras amarillas MOV DX,184FH&#59;segun tu programa de 0000 a 184Fmov BH,0Eh&#59;fondo negro letras amarillasmov AX,0600h int 10h 
y lo mismo para pintarse de rojo solo que MOV BH,0Ch;fondo negro letras rojas






saludos  :hola:

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

fORU-:

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


--- Código: Text ---MOV CX,0000;rango  que tendra fondo negro letras amarillas MOV DX,184FH;segun tu programa de 0000 a 184Fmov BH,0Eh;fondo negro letras amarillasmov AX,0600h int 10h 
y lo mismo para pintarse de rojo solo que MOV BH,0Ch;fondo negro letras rojas
 
--- Fin de la cita ---
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  ;)

Eternal Idol:

--- 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
--- Fin de la cita ---
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

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa