Examen Práctico de Ensamblador

Hoy fue mi examen práctico de ensamblador. Llegué tranquilo como de costumbre a los exámenes (eey aja, eey,..,eey)...

El objetivo: Realizar una aplicación funcional bajo MSDOS que utilice el modo gráfico, fondo azul, con un punto de color blanco en la pantalla (De preferencia en el centro), y permita moverlo con las teclas 8,4,6 y 2 del teclado numérico.

Y bueno... me tranquilicé y comencé a ordenar las ideas,... Tardé bastante tiempo para terminar, incluso, compañeros que normalmente no les gusta la programación terminaron antes que yo :P , pero bueno, terminé y he ahí el final.

[asm];cambiar el fondo a color azul ;poner un pixel color blanco ;usando la tecla ;usando la tecla 8,2,4,6 moveremos el pixel GRAPH MACRO ;iniciamos modo gráfico MOV AH,00H MOV AL,12H INT 10H ENDM PALETA MACRO color ;Permite definir la paleta MOV AH,0BH MOV BH,00H MOV BL,color INT 10H ENDM PUNTO MACRO x,y,color MOV AH,0CH MOV AL,color ;Color blanco MOV BH,0 MOV CX,x MOV DX,y INT 10H ENDM .model small .stack .data xx dw 1 yy dw 1 x dw 320 y dw 240 .code .startup GRAPH ;Seteamos modo gráfico 640*480 PALETA 1 ;Color azul PUSH AX PUSH BX mover: PUNTO xx,yy,0 PUNTO x,y,7 MOV AH,07H ;READKEY INT 21H ; CMP AL,56; Caracter '8' JE UP CMP AL,52; Caracter '4' JE LEFT CMP AL,54; Caracter '6' JE RIGHT CMP AL,50; Caracter '2' JE DOWN CMP AL,27; Salir JE SALIR JNE mover ;UP: DOWN: MOV AX,y MOV yy,AX ;Guardamos posicion anterior mov bx,x;X lo movemos a XX MOV xx,bx INC AX MOV y,AX JMP mover LEFT: MOV AX,x MOV xx,AX ;Guardamos posicion anterior mov bx,y;X lo movemos a XX MOV yy,bx DEC AX MOV x, AX JMP mover RIGHT: MOV AX,x MOV xx,AX ;Guardamos posicion anterior mov bx,y;X lo movemos a XX MOV yy,bx INC AX MOV X, AX JMP mover ;DOWN: UP: MOV AX,y MOV yy,AX ;Guardamos posicion anterior mov bx,x;X lo movemos a XX MOV xx,bx DEC AX MOV y, AX JMP mover JMP mover MOV AH,07H ;READKEY INT 21H ; SALIR: MOV AH,00H MOV AL,03H INT 10H .exit end[/asm]

Comentarios

2006-10-31 18:41:42
Victor
Olvide mensionar algo... Saqué 10 de calificación :D
2006-11-01 01:32:11
ImZyos!
Vaya asombroso, ASM, un lenguaje complicado, yo programo microcontroladores, claro que son de una arquitectura RISK 25 instrucciones unicamente, pero permite muchisimas cosas, si pudieras poner algun tuto de como cargarlo en el debug.exe de la consola del windows, Saludos, un blog exelente
2006-11-01 11:10:09
Victor
bueno, pues para cargarlo en el debug hmm,... recuerdo (tengo rato que no lo utilizo) que se tiene que poner debug seguido del nombre de la aplicación o creo que también el archivo con con código asm y empezará a recorrer línea por línea debugueando... ¿Si era esa la pregunta? se me fue el cuete :D
2006-11-01 19:41:52
ImZyos!
pues, no es mi maximo aprender asm, no es muy usable para lo que me agra programar, pero siempre es bueno hecharle ojo al code
2006-11-02 17:54:37
Mis Algoritmos » Blog Archive » Examen de ensamblador optimizado
[...] El código anterior fue es un asco jeje, me agarraron en curva, no sabía qué hacer,… Pero bueno, ya no importa, revisando mi anotaciones de Ensamblador y tratando de optimizar un poquito el código logre dejarlo un poco más pequeño en cantidad de líneas, más lógico :-S y documentado jeje (claro que se puede optimizar más, pero aún no se cómo)… [...]
2006-12-13 04:02:40
gaby
esta genial este programa... sabes que a nosotros nos dejaron hacerlo en la escuela pero no habia podido hacerlo.... asi que ya lo copie... gracias... saludos gaby
2006-12-13 04:05:18
gaby
bueno... perdon.. es que yo apenas voy comenzando con el lenguaje ensamblador asi que me es de mucha ayuda... hey si puedes contactame... gabrielacatano@hotmail.com
creo que me ayudarias bastante a aprender a programar.... gracias nuevamente!
2006-12-13 10:42:07
Victor
Gracias Gaby ;-), la única forma en la que podría ayudarte es ofreciendote el foro,... así no perderás la oportunidad de recibir una respuesta.
2007-06-05 11:32:53
Carlos
Oye esta elegante, voy a utilizarlo para un proyecto de la U.
Gracias
2007-11-09 08:48:25
PabloMDiez
Que tal? Y como puede aplicarse esto a la programación para celulares (específicamente para los Sony Ericsson)? Se crear patches básicos, pero los avanzados utilizan assembler y no se nada!! =( Algun curso básico como para aprender algo??

Saludos!
2007-11-09 08:53:18
Victor De la Rocha
No creo que pueda aplicarse a la programación de celulares esto, supongo que para eso hay aplicaciones al estilo de Visual Basic.
2007-11-26 18:49:43
Rubén
Hola Victor amigo buena tus apuntes, te felicito bueno quisiera pedirte un favor para que me autorices el uso de tu código soy principiante estoy llevando un curso "Microprocesadores I", claro que siempre he respetado el Copyrigth del autor bueno bye específicamente pienso usar el "editor basico de texto".
2007-11-26 18:52:24
Victor De la Rocha
Adelante, claro que puedes usarlo ;)
2008-01-08 23:09:17
Fern0S
he ecnontrado un buen tutorial de asm que estoy comenzando a leer. por si a alguien le interesa les dejo el link:

http://todoprogra.com/2007/09/04/tutorial-de-ensamblador-asm-1/

Salu2