ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ensamblador Porgrama


Enviado por   •  4 de Diciembre de 2013  •  373 Palabras (2 Páginas)  •  269 Visitas

Página 1 de 2

Lean este programa:

-Realice un programa en lenguaje ensamblador que dibuje en modo gráfico una línea vertical de

2 píxel de grosor (2 colores diferentes) y la desplace hacia la izquierda o a la derecha, 1

píxel, una vez pulsado el cursor correspondiente (S

ó U). Debe considerar que al llegar a los extremos de la pantalla, por ejemplo al extremo

izquierdo, si se pulsa el cursor que implique mover la línea hacia la izquierda (S),

aparecerá una línea vertical de 1 píxel en el extremo derecho

(color más a la izquierda) y la otra del mismo grosor en el extremo izquierdo

(color más a la derecha) y si se pulsa ese mismo cursor nuevamente aparecerá

la línea de 2 píxeles (colores originales) de grosor en el extremo derecho. El programa

termina si se pulsa la tecla ESC.

He intentado hacerlo de varias formas pero me he enredado a la hora de simular el

desplazamiento de la linea que dibujo, un pixel a la derecha o a la izquierda. Uso la instrucción

'shr' para rotar bits pero igual me enredo; pues hay que hacer varias validaciones las cuales me

pierden por completo. Me pregunto si alguno de ustedes conoce una manera mas facil de darle

solucion al problema.

.model small

.stack

.data

y1 dw 180

x01 dw 320 ;coordenadas línea 1

y01 dw ?

x02 dw 322 ;coordenadas linea 2

y02 dw ?

color1 db 0ch

color2 db 0ah

negro db 00h

.code

.startup

mov ax,@data

mov ds,ax

push ds

pop es

mov ax,0600h

mov bh,00h

mov cx,0000h

mov dx,314fh

int 10h

mov ah,0h

mov al,12h

int 10h

call dpixel

key:

mov ah,08h

int 21h

cmp al,27

je salir

cmp al,100 ;'d' minúscula

je der

cmp al,105 ;'i' minúscula

je izq

jmp key

der: call derecha

jmp key

izq: call izquierda

jmp key

salir: call termina

;.................................................................

borrow proc

mov ax,y1

mov y01,ax

mov y02,ax

pix1:

mov ah,0ch

mov al,negro

mov cx,x01

mov dx,y01

int 10h

cmp dx,280

je pix2

inc y01

jmp pix1

pix2:

mov ah,0ch

mov al,negro

mov cx,x02

mov dx,y02

int 10h

cmp dx,280

je s1

inc y02

jmp pix2

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com