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,DE33: LD (IY),"$"
34: LD B,735: LAZO01: CALL ARRIBA
36: DJNZ LAZO01 37: LD B,738: LAZO02: CALL IZQUIERDA
39: DJNZ LAZO02 40: LD B,741: LAZO03: CALL ABAJO
42: DJNZ LAZO03 43: LD B,644: LAZO04: CALL DERECHA
45: DJNZ LAZO04 46: LD B,647: LAZO05: CALL ARRIBA
48: DJNZ LAZO05 49: LD B,550: LAZO06: CALL IZQUIERDA
51: DJNZ LAZO06 52: LD B,553: LAZO07: CALL ABAJO
54: DJNZ LAZO07 55: LD B,456: LAZO08: CALL DERECHA
57: DJNZ LAZO08 58: LD B,459: LAZO09: CALL ARRIBA
60: DJNZ LAZO09 61: LD B,362: LAZO10: CALL IZQUIERDA
63: DJNZ LAZO10 64: LD B,365: LAZO11: CALL ABAJO
66: DJNZ LAZO11 67: LD B,268: LAZO12: CALL DERECHA
69: DJNZ LAZO12 70: LD B,271: LAZO13: CALL ARRIBA
72: DJNZ LAZO13 73: LD B,174: LAZO14: CALL IZQUIERDA
75: DJNZ LAZO14 76: LD B,177: LAZO15: CALL ABAJO
78: DJNZ LAZO15 79: JP LAZO00 80: IZQUIERDA: INC IY81: LD (IY),"$"
82: RET 83: DERECHA: DEC IY84: LD (IY),"$"
85: RET 86: ARRIBA: LD DE,887: CALL RESTA
88: LD (IY),"$"
89: RET 90: ABAJO: LD DE,8 91: ADD IY,DE92: 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: RET100: CUADRO1: LD (IY),"$"
101: LD B,3102: LAZO20: CALL ARRIBA
103: DJNZ LAZO20 104: LD B,3105: LAZO21: CALL IZQUIERDA
106: DJNZ LAZO21 107: LD B,3108: LAZO22: CALL ABAJO
109: DJNZ LAZO22 110: LD B,2111: LAZO23: CALL DERECHA
112: DJNZ LAZO23 113: LD B,2114: LAZO24: CALL ARRIBA
115: DJNZ LAZO24 116: LD B,1117: LAZO25: CALL IZQUIERDA
118: DJNZ LAZO25 119: LD B,1120: LAZO26: CALL ABAJO
121: DJNZ LAZO26 122: RET 123: CUADRO2: LD (IY),"$"
124: LD B,3125: LAZO27: CALL ARRIBA
126: DJNZ LAZO27 127: LD B,3128: LAZO28: CALL DERECHA
129: DJNZ LAZO28 130: LD B,3131: LAZO29: CALL ABAJO
132: DJNZ LAZO29 133: LD B,2134: LAZO30: CALL IZQUIERDA
135: DJNZ LAZO30 136: LD B,2137: LAZO31: CALL ARRIBA
138: DJNZ LAZO31 139: LD B,1140: LAZO32: CALL DERECHA
141: DJNZ LAZO32 142: LD B,1143: LAZO33: CALL ABAJO
144: DJNZ LAZO33 145: RET 146: SUROES: PUSH DE 147: LD DE,7 148: ADD IY,DE149: LD (IY),"$"
150: POP DE 151: RET 152: NOREST: PUSH DE 153: LD DE,7154: 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,DE172: CALL CUADRO1
173: 174: LD IY,MEMORIA 175: LD DE,59 176: ADD IY,DE177: CALL CUADRO2
178: 179: LD IY,MEMORIA 180: LD DE,60 181: ADD IY,DE182: CALL CUADRO1
183: 184: LD IY,MEMORIA 185: LD DE,31 186: ADD IY,DE187: CALL CUADRO2
188: JP LAZO00 189: INTERR2: LD IY,MEMORIA 190: LD B,8 191: LAZO36: LD C,7 192: PUSH IY193: 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 IY207: 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,MEMORIA216: LD (IY),"$"
217: LD B,1 218: LD DE,8 219: ADD IY,DE 220: PUSH IY221: LD (IY),"$"
222: LAZO39: CALL NOREST
223: DJNZ LAZO39 224: POP IY 225: ADD IY,DE 226: PUSH IY227: LD (IY),"$"
228: LD B,2229: LAZO40: CALL NOREST
230: DJNZ LAZO40 231: POP IY 232: ADD IY,DE 233: PUSH IY234: LD (IY),"$"
235: LD B,3236: LAZO41: CALL NOREST
237: DJNZ LAZO41 238: POP IY 239: ADD IY,DE 240: PUSH IY241: LD (IY),"$"
242: LD B,3243: LAZO42: CALL NOREST
244: DJNZ LAZO42 245: POP IY 246: ADD IY,DE 247: PUSH IY248: LD (IY),"$"
249: LD B,3250: LAZO43: CALL NOREST
251: DJNZ LAZO43 252: POP IY 253: ADD IY,DE 254: PUSH IY255: LD (IY),"$"
256: LD B,3257: LAZO44: CALL NOREST
258: DJNZ LAZO44 259: POP IY 260: ADD IY,DE 261: PUSH IY262: LD (IY),"$"
263: LD B,3264: LAZO45: CALL NOREST
265: DJNZ LAZO45 266: POP IY 267: INC IY 268: PUSH IY269: LD (IY),"$"
270: LD B,2271: LAZO46: CALL NOREST
272: DJNZ LAZO46 273: POP IY 274: INC IY 275: PUSH IY276: LD (IY),"$"
277: LD B,1278: LAZO47: CALL NOREST
279: DJNZ LAZO47 280: POP IY 281: INC IY282: LD (IY),"$"
283: 284: LD IY,MEMORIA 285: LD DE,63 286: ADD IY,DE287: LD (IY),"$"
288: LD B,1 289: LD DE,8290: CALL RESTA
291: PUSH IY292: LD (IY),"$"
293: LAZO48: CALL SUROES
294: DJNZ LAZO48 295: POP IY296: CALL RESTA
297: PUSH IY298: LD (IY),"$"
299: LD B,2300: LAZO49: CALL SUROES
301: DJNZ LAZO49 302: POP IY303: CALL RESTA
304: PUSH IY305: LD (IY),"$"
306: LD B,3307: LAZO50: CALL SUROES
308: DJNZ LAZO50 309: POP IY310: CALL RESTA
311: PUSH IY312: LD (IY),"$"
313: LD B,3314: LAZO51: CALL SUROES
315: DJNZ LAZO51 316: POP IY317: CALL RESTA
318: PUSH IY319: LD (IY),"$"
320: LD B,3321: LAZO52: CALL SUROES
322: DJNZ LAZO52 323: POP IY324: CALL RESTA
325: PUSH IY326: LD (IY),"$"
327: LD B,3328: LAZO53: CALL SUROES
329: DJNZ LAZO53 330: POP IY331: CALL RESTA
332: PUSH IY333: LD (IY),"$"
334: LD B,3335: LAZO54: CALL SUROES
336: DJNZ LAZO54 337: POP IY 338: DEC IY 339: PUSH IY340: LD (IY),"$"
341: LD B,2342: LAZO55: CALL SUROES
343: DJNZ LAZO55 344: POP IY 345: DEC IY 346: PUSH IY347: LD (IY),"$"
348: LD B,1349: LAZO56: CALL SUROES
350: DJNZ LAZO56 351: POP IY 352: DEC IY353: 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