Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Centro universitario de ciencias exactas e ingenierías Ingeniería en computación Traductores de lenguajes 1 Sección D05 José Luis Serna Serna Código: 218292327 Actividad 6, 2020A, señal senoidal 04/Mar/2020 Objetivo. Implementar el dibujo de una señal senoidal Código fuente. org 100h jmp inicio array: db 100,121,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,13,5,1,1,5,13,26,41,59,79,1 00,121,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,135,1,1,5,13,26,41,59,79,10 0,121,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,13,5,1,1,5,13,26,41,59,79,100 ,121,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,13,5,1,1,5,13,26,41,59,79,100, 121,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,13,5,1,1,5,13,26,41,59,79,100,1 21,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41,26,13,5,1,1,5,13,26,41,59,79,100,12 1,141,159,174,187,195,199,199,195,187,174,159,141,121,100,79,59,41 inicio: mov bx,0h ;inicio un contador para array en 0 mov al,13h ;set color mov ah,0h ;codigo de funcion set display int 10h ; set interrupcion 10h ;realizando primera iteracion del array mov cx,0 ;iniciar contador en 0 mov bx,cx ;mover lo que tenga cx para las posiciones del array mov dl,array[bx] ;poner en dl lo que tenga el arreglo en dicha posicion mov al,03h ;imprimir pixel color verde mov ah,0Ch ;modo int 10h ;llamando interrupcion 10h jmp seno seno: inc cx ;incremento el contador mov ax,cx ;muevo temporalmente el incremento a ax para pasarlo a bx inc cx ;incremento el contaor porque debe ir uno arriba para lidiar el decremento mov bx,ax;se cambia el valor del contador a bx para que vaya ;avanzando en el array mov dl,array[bx] ;poner en dl lo que tenga el arreglo en dicha posicion mov al,03h ;imprimir pixel color verde mov ah,0Ch ;modo int 10h ;llamando interrupcion 10h cmp bx,198 ;comparar que llegue a 198 posiciones loopne seno ;funcion loopne mientras Cx diferente de 0 fin:mov ah,0h ;fin del programa int 16h ret Capturas de pantalla de la ejecución. Primero en una tabla de Excel calculamos los valores usando una función senoidal, en este caso yo saque 198 valores, que son los de la columna de la derecha. Con los valores hice mi programa y este fue el resultado mostrando los valores como pixeles en la consola. Se dibuja la señal senoidal con los 198 valores que ingrese a mi programa. Conclusión. La interrupción 10h controla los servicios de pantalla de la pc, en esta actividad aprendí a cómo usarla para realizar un dibujo de una señal senoidal, aprendí como se activa la interrupción, como se le activa un color y su modo, entre otras cosas sobre su funcionamiento. También en esta actividad hice uso de un arreglo y pude ver cómo acceder a sus posiciones, fue de gran ayuda para lograr dibujar los pixeles en la posición correspondiente, finalmente vi cómo se puede utilizar el LOOPNE para realizar iteraciones, fue de gran ayuda en esta actividad y lo seguirá siendo mas adelante.
Compartir