Logo Studenta

Actividad_6_SernaSerna - Jose SernaS

¡Estudia con miles de materiales!

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.

Otros materiales

Materiales relacionados

240 pag.
kupdf net_a-prende-java_ejercicios

ULT

User badge image

Manuel Rodrigues Monameo

240 pag.
JAvA_CON_EJEMPLOS

ULT

User badge image

Manuel Rodrigues Monameo

7 pag.
Proyecto01 - Rogelio Manríquez Cobián (9)

User badge image

Desafío México Veintitrés