esta evaluacion consistia en pintar unas espirales, dependiendo de lo que se escribia en el puerto
1: ORG 2000H
2: LD SP,3DFFH
3: LD IX,DATOS
4: LD A,11001111B
5: OUT (CONTA),A
6: LD A,11111111B
7: OUT (CONTA),A
8: LD A,8
9: OUT (CONTA),A
10: LD A,10110111B
11: OUT (CONTA),A
12: LD A,11111110B
13: OUT (CONTA),A
14: LD A,26H
15: LD I,A
16: IM 2
17: EI
18:
19:
20: LAZO00: CALL LIMPIAR
21: LD A,(IX)
22: CP 1
23: JP Z,INTERR1
24: CP 2
25: JP Z,INTERR2
26: CP 3
27: JP Z,INTERR3
28: CP 4
29: JP Z,INTERR4
30: LD IY,MEMORIA
31: LD DE,56
32: ADD IY,DE
33: LD (IY),"$"
34: LD B,7
35: LAZO01: CALL ARRIBA
36: DJNZ LAZO01
37: LD B,7
38: LAZO02: CALL IZQUIERDA
39: DJNZ LAZO02
40: LD B,7
41: LAZO03: CALL ABAJO
42: DJNZ LAZO03
43: LD B,6
44: LAZO04: CALL DERECHA
45: DJNZ LAZO04
46: LD B,6
47: LAZO05: CALL ARRIBA
48: DJNZ LAZO05
49: LD B,5
50: LAZO06: CALL IZQUIERDA
51: DJNZ LAZO06
52: LD B,5
53: LAZO07: CALL ABAJO
54: DJNZ LAZO07
55: LD B,4
56: LAZO08: CALL DERECHA
57: DJNZ LAZO08
58: LD B,4
59: LAZO09: CALL ARRIBA
60: DJNZ LAZO09
61: LD B,3
62: LAZO10: CALL IZQUIERDA
63: DJNZ LAZO10
64: LD B,3
65: LAZO11: CALL ABAJO
66: DJNZ LAZO11
67: LD B,2
68: LAZO12: CALL DERECHA
69: DJNZ LAZO12
70: LD B,2
71: LAZO13: CALL ARRIBA
72: DJNZ LAZO13
73: LD B,1
74: LAZO14: CALL IZQUIERDA
75: DJNZ LAZO14
76: LD B,1
77: LAZO15: CALL ABAJO
78: DJNZ LAZO15
79: JP LAZO00
80: IZQUIERDA: INC IY
81: LD (IY),"$"
82: RET
83: DERECHA: DEC IY
84: LD (IY),"$"
85: RET
86: ARRIBA: LD DE,8
87: CALL RESTA
88: LD (IY),"$"
89: RET
90: ABAJO: LD DE,8
91: ADD IY,DE
92: LD (IY),"$"
93: RET
94: LIMPIAR: LD IY,MEMORIA
95: LD B,64
96: LAZO16: LD (IY),0
97: INC IY
98: DJNZ LAZO16
99: RET
100: CUADRO1: LD (IY),"$"
101: LD B,3
102: LAZO20: CALL ARRIBA
103: DJNZ LAZO20
104: LD B,3
105: LAZO21: CALL IZQUIERDA
106: DJNZ LAZO21
107: LD B,3
108: LAZO22: CALL ABAJO
109: DJNZ LAZO22
110: LD B,2
111: LAZO23: CALL DERECHA
112: DJNZ LAZO23
113: LD B,2
114: LAZO24: CALL ARRIBA
115: DJNZ LAZO24
116: LD B,1
117: LAZO25: CALL IZQUIERDA
118: DJNZ LAZO25
119: LD B,1
120: LAZO26: CALL ABAJO
121: DJNZ LAZO26
122: RET
123: CUADRO2: LD (IY),"$"
124: LD B,3
125: LAZO27: CALL ARRIBA
126: DJNZ LAZO27
127: LD B,3
128: LAZO28: CALL DERECHA
129: DJNZ LAZO28
130: LD B,3
131: LAZO29: CALL ABAJO
132: DJNZ LAZO29
133: LD B,2
134: LAZO30: CALL IZQUIERDA
135: DJNZ LAZO30
136: LD B,2
137: LAZO31: CALL ARRIBA
138: DJNZ LAZO31
139: LD B,1
140: LAZO32: CALL DERECHA
141: DJNZ LAZO32
142: LD B,1
143: LAZO33: CALL ABAJO
144: DJNZ LAZO33
145: RET
146: SUROES: PUSH DE
147: LD DE,7
148: ADD IY,DE
149: LD (IY),"$"
150: POP DE
151: RET
152: NOREST: PUSH DE
153: LD DE,7
154: CALL RESTA
155: LD (IY),"$"
156: POP DE
157: RET
158: RESTA: PUSH HL
159: PUSH IY
160: POP HL
161: SCF
162: CCF
163: SBC HL,DE
164: PUSH HL
165: POP IY
166: POP HL
167: RET
168:
169: INTERR1: LD IY,MEMORIA
170: LD DE,24
171: ADD IY,DE
172: CALL CUADRO1
173:
174: LD IY,MEMORIA
175: LD DE,59
176: ADD IY,DE
177: CALL CUADRO2
178:
179: LD IY,MEMORIA
180: LD DE,60
181: ADD IY,DE
182: CALL CUADRO1
183:
184: LD IY,MEMORIA
185: LD DE,31
186: ADD IY,DE
187: CALL CUADRO2
188: JP LAZO00
189: INTERR2: LD IY,MEMORIA
190: LD B,8
191: LAZO36: LD C,7
192: PUSH IY
193: LD (IY),"$"
194: LAZO35: CALL ABAJO
195: DEC C
196: JR NZ,LAZO35
197: POP IY
198: INC IY
199: DJNZ LAZO36
200: JP LAZO00
201: INTERR3: LD IY,MEMORIA
202: LD DE,63
203: ADD IY,DE
204: LD B,8
205: LAZO38: LD C,7
206: PUSH IY
207: LD (IY),"$"
208: LAZO37: CALL ARRIBA
209: DEC C
210: JR NZ,LAZO37
211: POP IY
212: DEC IY
213: DJNZ LAZO38
214: JP LAZO00
215: INTERR4: LD IY,MEMORIA
216: LD (IY),"$"
217: LD B,1
218: LD DE,8
219: ADD IY,DE
220: PUSH IY
221: LD (IY),"$"
222: LAZO39: CALL NOREST
223: DJNZ LAZO39
224: POP IY
225: ADD IY,DE
226: PUSH IY
227: LD (IY),"$"
228: LD B,2
229: LAZO40: CALL NOREST
230: DJNZ LAZO40
231: POP IY
232: ADD IY,DE
233: PUSH IY
234: LD (IY),"$"
235: LD B,3
236: LAZO41: CALL NOREST
237: DJNZ LAZO41
238: POP IY
239: ADD IY,DE
240: PUSH IY
241: LD (IY),"$"
242: LD B,3
243: LAZO42: CALL NOREST
244: DJNZ LAZO42
245: POP IY
246: ADD IY,DE
247: PUSH IY
248: LD (IY),"$"
249: LD B,3
250: LAZO43: CALL NOREST
251: DJNZ LAZO43
252: POP IY
253: ADD IY,DE
254: PUSH IY
255: LD (IY),"$"
256: LD B,3
257: LAZO44: CALL NOREST
258: DJNZ LAZO44
259: POP IY
260: ADD IY,DE
261: PUSH IY
262: LD (IY),"$"
263: LD B,3
264: LAZO45: CALL NOREST
265: DJNZ LAZO45
266: POP IY
267: INC IY
268: PUSH IY
269: LD (IY),"$"
270: LD B,2
271: LAZO46: CALL NOREST
272: DJNZ LAZO46
273: POP IY
274: INC IY
275: PUSH IY
276: LD (IY),"$"
277: LD B,1
278: LAZO47: CALL NOREST
279: DJNZ LAZO47
280: POP IY
281: INC IY
282: LD (IY),"$"
283:
284: LD IY,MEMORIA
285: LD DE,63
286: ADD IY,DE
287: LD (IY),"$"
288: LD B,1
289: LD DE,8
290: CALL RESTA
291: PUSH IY
292: LD (IY),"$"
293: LAZO48: CALL SUROES
294: DJNZ LAZO48
295: POP IY
296: CALL RESTA
297: PUSH IY
298: LD (IY),"$"
299: LD B,2
300: LAZO49: CALL SUROES
301: DJNZ LAZO49
302: POP IY
303: CALL RESTA
304: PUSH IY
305: LD (IY),"$"
306: LD B,3
307: LAZO50: CALL SUROES
308: DJNZ LAZO50
309: POP IY
310: CALL RESTA
311: PUSH IY
312: LD (IY),"$"
313: LD B,3
314: LAZO51: CALL SUROES
315: DJNZ LAZO51
316: POP IY
317: CALL RESTA
318: PUSH IY
319: LD (IY),"$"
320: LD B,3
321: LAZO52: CALL SUROES
322: DJNZ LAZO52
323: POP IY
324: CALL RESTA
325: PUSH IY
326: LD (IY),"$"
327: LD B,3
328: LAZO53: CALL SUROES
329: DJNZ LAZO53
330: POP IY
331: CALL RESTA
332: PUSH IY
333: LD (IY),"$"
334: LD B,3
335: LAZO54: CALL SUROES
336: DJNZ LAZO54
337: POP IY
338: DEC IY
339: PUSH IY
340: LD (IY),"$"
341: LD B,2
342: LAZO55: CALL SUROES
343: DJNZ LAZO55
344: POP IY
345: DEC IY
346: PUSH IY
347: LD (IY),"$"
348: LD B,1
349: LAZO56: CALL SUROES
350: DJNZ LAZO56
351: POP IY
352: DEC IY
353: LD (IY),"$"
354: JP LAZO00
355:
356:
357: ORG 2500H
358: MEMORIA DS 32
359: DS 32
360: DATOS DB 0
361: DATA EQU 04
362: CONTA EQU 06
363:
364: ORG 2608H
365: DW 2650H
366:
367: ORG 2650H
368: EI
369: INC (IX)
370: LD A,(IX)
371: CP 5
372: JR NZ,AQUI
373: LD (IX),0
374: AQUI: RETI
375: END
No hay comentarios:
Publicar un comentario