Cambiar color de fondo
Publicado por Mike (1 intervención) el 11/03/2014 21:13:54
Saludos, necesito agregarle un colo de fondo a la pantalla en cierto punto del programa. Exactamente en la parte donde dice MENSAJE RESPECTO A LA TECLA. Toda la parte de datos esta en la libreria. Cualquier ayuda se las agradezco mucho
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
include libreria2.lib
.model small ;Modelo del programa
.stack 100h ;Pila 256 bytes
.code ; Espacio para los codigos del programa
Inicio:
MOV AX, @data
MOV DS, AX ; Se ubica el segmento de datos
MOV AH,00 ; Selecciona modo de video
MOV AL,03 ; Modo de video 03H 80colx25filas
INT 10H ; Llama a la INT de video
; Imprimir el Titulo 1
MOV X,20
MOV Y,0
MOV AH,2
MOV DL,X
MOV DH,Y
INT 10H ; Coloca cursor para desplegar el mensaje
MOV AH, 9 ; Servicio 9 en AH = Imprimir string
MOV DX, OFFSET titulo1 ; Direccion del string
INT 21h ; Llamada a la interrupcion 21h DOS
;MOV AH,1 ;Espera tecla por medio del DOS INT 21H
;INT 21H
;MOV AH,0 ;Selecciona modo de video
;MOV AL,3 ; Modo de video 03H 80colx25filas
;INT 10H
; Imprimir el Titulo 2
MOV X,20
MOV Y,2
MOV AH,2
MOV DL,X
MOV DH,Y
INT 10H
MOV AH, 9
LEA DX, titulo2 ; otra forma de dar la direccion
INT 21h
MOV AH,1 ;Espera tecla por medio del DOS INT 21H
INT 21H
MOV AH,0 ;Selecciona modo de video
MOV AL,3 ; Modo de video 03H 80colx25filas
INT 10H
A20:
MOV AH,0 ;Selecciona modo de video(limpiar pantalla)
MOV AL,3
INT 10H
MOV X,10
MOV Y,1
CALL CURSOR
LEA DX,MENSAJE1
CALL MENSAJE
MOV X,10
MOV Y,3
CALL CURSOR
LEA DX,VALOR1
CALL MENSAJE
MOV X,10
MOV Y,4
CALL CURSOR
LEA DX,VALOR2
CALL MENSAJE
MOV X,10
MOV Y,5
CALL CURSOR
LEA DX,VALOR3
CALL MENSAJE
MOV X,10
MOV Y,6
CALL CURSOR
LEA DX,MENSAJE2
CALL MENSAJE
CALL LEER
CALL COMPARA
CALL SALIR
RET
ENDP
;*******************DESPLIEGA EL MENSAJE*******************************
MENSAJE PROC
MOV AH,9
INT 21H
RET
ENDP
;*******************LEE DEL TECLADO************************************
LEER PROC
MOV AH,1
INT 21H ; EL DATO QUEDA EN AL
RET
ENDP
;*********************COLOCA CURSOR*************************************
CURSOR PROC
MOV AH,2
MOV DL,X
MOV DH,Y
INT 10H ;Coloca cursor para dezplegar mensaje
RET
ENDP
;*********************DISCRIMINA LA TECLA*******************************
COMPARA PROC
CMP AL,31H ;1=31H
JE uno ;Salta si es igual
CMP AL,32H ;2=32H
JE dos ;Salta si es igual
CMP AL,33H ;3=33H
JE tres ;Salta si es igual
CMP AL,34H ;4=34H
JE SALIR ;Salta si es igual
JMP INICIO ;salto incondicional
RET
ENDP
;*********************SALIR DEL PROGRAMA*********************************
;SALIR: CALL SALIR1
SALIR PROC
MOV AH,0
MOV AL,3
INT 10H
MOV AH,4CH
INT 21H
RET
ENDP
OTRO PROC
MOV X,15
MOV Y,12
CALL CURSOR
LEA DX,MENSAJE6
CALL MENSAJE
RET
ENDP
;**********************MENSAJE RESPECTO A LA TECLA*************************
uno: MOV AH,2
MOV DL,15
MOV DH,10
MOV AH,0 ;Selecciona modo de video(limpiar pantalla)
MOV AL,3
INT 10H ;Coloca el cursor para el mensaje
MOV X,10
MOV Y,8
CALL CURSOR
MOV DX,OFFSET MENSAJE3 ;Despliega mensaje
MOV AH,9H
INT 21H
CALL OTRO
MOV AH,1
INT 21H
JMP A20
dos: MOV AH,2
MOV DL,15
MOV DH,10
MOV AH,0 ;Selecciona modo de video(limpiar pantalla)
MOV AL,3
INT 10H ;Coloca el cursor para el primer mensaje
MOV X,10
MOV Y,8
CALL CURSOR
MOV DX,OFFSET MENSAJE4 ;Despliega mensaje
MOV AH,9H
INT 21H
CALL OTRO
MOV AH,1
INT 21H
JMP A20
tres: MOV AH,2
MOV DL,15
MOV DH,10
MOV AH,0 ;Selecciona modo de video(limpiar pantalla)
MOV AL,3
INT 10H ;Coloca el cursor para el mensaje
MOV X,10
MOV Y,8
CALL CURSOR
MOV DX,OFFSET MENSAJE5 ;Despliega mensaje
MOV AH,9H
INT 21H
CALL OTRO
MOV AH,1
INT 21H
JMP A20
;MOV AH, 4Ch ; Terminar el programa retornando al DOS
;INT 21h
END INICIO
Valora esta pregunta
0