Programación General > ASM (Ensamblador)
Colores En Ensamblador
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
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa