Título: lenguaje ensamblador , dividir pantalla en cuatro colores y algo mas
Publicado por: edwardjoanmedina en 4 Junio 2013, 05:37 am
[.MODEL SMALL .STACK 100H .DATA
DATO DB "EDWARD MEDINA","$" FILA DB 00H COLU DB 00H FILA1 DB 00H COLU1 DB 00H FILA2 DB 00H COLU2 DB 00H FILA3 DB 00H COLU3 DB 00H FILA4 DB 00H COLU4 DB 00H
.CODE MOV AX,@DATA MOV DS,AX MOV ES,AX MOV BH,26H MOV CX,0000H MOV DX,0C27H CALL LIMPI1 MOV BH,16H MOV CX,0027H MOV DX,0C4FH CALL LIMPI2 MOV BH,46H MOV CX,0C00H MOV DX,1827H CALL LIMPI3 MOV BH,0E6H MOV CX,0C27H MOV DX,184FH CALL LIMPI4 MOV DH,FILA MOV DL,COLU CALL CURSOR CALL MUESTRA LAZO1:CALL TECLAB CMP AL,"D" JE LIMPIA CMP AL,"I" JE LIMPIB JMP LAZO1 LIMPIA:MOV BH,46H MOV CX,0000H MOV DX,0C27H CALL LIMPI5 MOV BH,26H MOV CX,0027H MOV DX,0C4FH CALL LIMPI6 MOV BH,0E6H MOV CX,0C00H MOV DX,1827H CALL LIMPI7 MOV BH,16H MOV CX,0C27H MOV DX,184FH CALL LIMPI8 MOV DH,FILA1 MOV DL,COLU1 CALL CURSOR1 LIMPIB:MOV BH,16H MOV CX,0000H MOV DX,0C27H CALL LIMPI9 MOV BH,0E6H MOV CX,0027H MOV DX,0C4FH CALL LIMPI10 MOV BH,26H MOV CX,0C00H MOV DX,1827H CALL LIMPI11 MOV BH,46H MOV CX,0C27H MOV DX,184FH CALL LIMPI12 MOV DH,FILA2 MOV DL,COLU2 CALL CURSOR2 LAZO2:CALL TECLAC CMP AL,"D" JE LIMPIC CMP AL,"I" JE LIMPID JMP LAZO2 LIMPIC:MOV BH,0E6H MOV CX,0000H MOV DX,0C27H CALL LIMP1 MOV BH,46H MOV CX,0027H MOV DX,0C4FH CALL LIMP2 MOV BH,16H MOV CX,0C00H MOV DX,1827H CALL LIMP3 MOV BH,26H MOV CX,0C27H MOV DX,184FH CALL LIMP4 MOV DH,FILA3 MOV DL,COLU3 CALL CURSOR3 LIMPID:MOV BH,0E6H MOV CX,0000H MOV DX,0C27H CALL LIMP5 MOV BH,46H MOV CX,0027H MOV DX,0C4FH CALL LIMP6 MOV BH,16H MOV CX,0C00H MOV DX,1827H CALL LIMP7 MOV BH,26H MOV CX,0C27H MOV DX,184FH CALL LIMP8 MOV DH,FILA4 MOV DL,COLU4 CALL CURSOR4 .EXIT(0) LIMPI1:MOV AH,06H MOV AL,00H INT 10H RET LIMPI2:MOV AH,06H MOV AL,00H INT 10H RET LIMPI3:MOV AH,06H MOV AL,00H INT 10H RET LIMPI4:MOV AH,06H MOV AL,00H INT 10H RET LIMPI5:MOV AH,06H MOV AL,00H INT 10H RET LIMPI6:MOV AH,06H MOV AL,00H INT 10H RET LIMPI7:MOV AH,06H MOV AL,00H INT 10H RET LIMPI8:MOV AH,06H MOV AL,00H INT 10H RET LIMPI9:MOV AH,06H MOV AL,00H INT 10H RET LIMPI10:MOV AH,06H MOV AL,00H INT 10H RET LIMPI11:MOV AH,06H MOV AL,00H INT 10H RET LIMPI12:MOV AH,06H MOV AL,00H INT 10H RET LIMP1:MOV AH,06H MOV AL,00H INT 10H RET LIMP2:MOV AH,06H MOV AL,00H INT 10H RET LIMP3:MOV AH,06H MOV AL,00H INT 10H RET LIMP4:MOV AH,06H MOV AL,00H INT 10H RET LIMP5:MOV AH,06H MOV AL,00H INT 10H RET LIMP6:MOV AH,06H MOV AL,00H INT 10H RET LIMP7:MOV AH,06H MOV AL,00H INT 10H RET LIMP8:MOV AH,06H MOV AL,00H INT 10H RET CURSOR: MOV AH,02H MOV BH,00H INT 10H RET CURSOR1: MOV AH,02H MOV AL,00H INT 10H RET CURSOR2: MOV AH,02H MOV AL,00H INT 10H RET CURSOR3: MOV AH,02H MOV AL,00H INT 10H RET CURSOR4:MOV AH,02H MOV AL,00H INT 10H RET MUESTRA: MOV AH,09H LEA DX,DATO INT 21H RET TECLAB: MOV AH,10H INT 16H RET TECLAC: MOV AH,10H INT 16H RET END code=mpasm]
foro del elhacker estoy haciendo un programa en assembler, usando turbo debugger, donde la pantalla me la divida en cuatro colores: verde,azul,rojo,amarillo. quiero que cuando pulse la tecla "d" varias veces, rote lo colores en sentido de las agujas del reloj y que cuando pulse la tecla "i" rote los colores en sentido contrario a las aguajs del reloj.coye trate de hacer el programa, cuando le doy a la "i" me rota los colores en sentido contrario a las agujas del reloj, pero cuando le doy a la "d". este es el programa que hize, revisenlo para ver si tengo un error mi nombre edward joan medina
el problema que se me presenta es que cuando le doy a la de "d" para rotar colores. me los rota a la izquierda y realmente quiero q me rote a la derecha.
|