Programación General > ASM (Ensamblador)

 Colores En Ensamblador

<< < (3/5) > >>

Eternal Idol:
Lo que intenta hacer el programa esa cambiar el color de la letra y el fondo del programa block de notas? (notepad.exe)

 :blink:

pinguinospn:
No.  :D

Olvida el notepad.

Tengo que hacer un programa en masm que tenga un menu y con todo lo demas antes dicho cambiar color de letra y fondo.

Esta muy dificil de hacerlo?

Eternal Idol:
Me parece que tendrías que hacer menues owner draw, osea que los pintes vos mismo.

 :ph34r:  :comp:  :hola:

karen81:
:blink: No se porque se han enredado tanto en esto.
pinguinospn el programa que necesitas es bastante sencillo no te preocupes, como te dije tienes que usar las interrupciones de la bios, aqui te pongo un programita que acabo de hacer,te pongo el codigo fuente para que veas que es lo que le tienes que cambiar y el ejecutable para que veas que si funciona.
es un programa sencillo que solo muestra un mensaje en fondo azul y con letras verdes modificalo para hacer el tuyo.
cualquier pregunta aqui seguimos.
si tienes problema para ensamblarlo avisame y te mando mi version del masm.

lamento no haber escrito antes, y haber evitado este enredo, con todo respeto realmente no tengo idea de lo que esta hablando Eternal Idol jamas he usado lo que esta diciendo en ensamblador :alien:

--- Citar ---  datos segment

dibujo  db '                     ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»' ,13,10
           db '                     º        PRESIONE 0 PARA SALIR º',13,10
           db '                     ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ',13,10,'$'
   datos ends

pila segment stack

        db 128 dup ('pila')

                   pila ends
codigo segment

                assume cs:codigo, ss:pila, ds:datos




    PANTA  PROC NEAR              
 
                PUSH AX          ;la clave esta en esta rutina, por eso solo te voy
                PUSH BX          ; a explicar esta
   PUSH CX
   PUSH DX
   MOV CX,0
   MOV DX,2479h
   MOV BH,12h   ;es justamente aqui en BH que se especifica eso   
                                     ;ese 12h indica 1=fondo azul 2=letras verdes
                                ; si fuera 21h seria 2=fondo verde =letras azules
   ;4= es rojo 0=es negro , si pones 04 fondo negro letras rojas
                ;7 = es blanco
                MOV AX,0600H
                INT 10h         
   POP DX
   POP CX
   POP BX
   POP AX
        RET
   PANTA  ENDP

    CURSOR PROC NEAR
        PUSH AX
        PUSH BX
        PUSH CX
        MOV BH,00
        MOV AH,02
        INT 10h
        POP CX
        POP BX
        POP AX
        RET
    CURSOR ENDP
 
    STRING PROC NEAR
        PUSH AX
        PUSH BX
        PUSH CX
        MOV AH,09
        INT 21h
        POP CX
        POP BX
        POP AX
        RET  

     STRING ENDP

     PROGRA PROC FAR

INICIO: push ds
        sub ax,ax       ;para regresar al sistema operativo
        push ax

   
       mov ax,datos
       mov ds,ax       ;inicializa el ds al segmento de datos
 
        MOV AX,0000
        MOV BX,0000
        MOV CX,0000
        MOV DX,0000
      
        CALL PANTA
        MOV DX,0600h
        CALL CURSOR
        LEA DX,dibujo
        CALL STRING
        MOV AH,01
        INT 21h
        CMP AL,30h
        jz fin
        JMP INICIO
fin:    MOV AX,4C00h
        INT 21h
     PROGRA ENDP

codigo ends

end PROGRA


END    
--- Fin de la cita ---

adios y hasta pronto  :hola:

 :comp:

Eternal Idol:
Programaste para Windows alguna vez en ensamblador?

Porque me parece que eso no es código de 32 bits ...

 :whistling:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa