DIAGONAL
Es bastante similar al anterior, pero en este caso solo utilizamos un LOOP y usamos CL para las Filas y las Columnas (si CL vale 10 se imprimirá MENSAJE en la posición 10,10 luego en la 9,9, etc.)
.MODEL SMALL
.STACK
.DATA
MENSAJE1 DB "Aqui debe ir el mensaje$"
MENSAJE2 DB "Presiona una tecla para continuar$"
.CODE
DIAGONAL PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV AH,00H
MOV AL,02H
INT 10H
MOV CX,20
RETORNO1:
MOV DH,CL
MOV DL,CL
MOV BH,00H
MOV AH,02H
INT 10H
MOV DX,OFFSET MENSAJE1
MOV AH,09H
INT 21H
LOOP RETORNO1
MOV DH,3
MOV DL,40
MOV BH,00H
MOV AH,02H
INT 10H
MOV DX,OFFSET MENSAJE2
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
MOV AX,4C00H
INT 21H
DIAGONAL ENDP
END DIAGONAL