Código [Seleccionar]
[.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]
Código (asm) [Seleccionar]
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.