Programa 5:
Limpia la pantalla.
Código:
FIN_4C00H EQU 4C00H DOS_21H EQU 21H BIOS_10H EQU 10H PILA SEGMENT STACK DW 100 DUP('0') PILA ENDS CODIGO SEGMENT CLS PROC FAR ASSUME CS: CODIGO, SS: PILA CALL LIMPIA_PANTALLA MOV AX, FIN_4C00H INT DOS_21H CLS ENDP LIMPIA_PANTALLA PROC NEAR MOV AX, 0600H MOV BH, 0AH MOV CX, 000H MOV DX, 484FH INT BIOS_10H RET LIMPIA_PANTALLA ENDP CODIGO ENDS END CLS
Resultado:
Programa 6:
Posición del cursor
Código:
CR EQU 13 LF EQU 10 TECLADO_8 EQU 8 IMPRIMIR_9 EQU 9 FIN_4C00H EQU 4C00H DOS_21H EQU 21H BIOS_10H EQU 10H TAB EQU 09H BELL EQU 07H DATOS SEGMENT RENGLON DB 0 COLUMNA DB 0 MENSAJE DB CR, LF, 'POSICION(X,Y), DEL MENSAJE:GRIS', CR, LF,'$' DATOS ENDS PILA SEGMENT STACK DW 100 DUP('0') PILA ENDS CODIGO SEGMENT PC PROC FAR ASSUME CS:CODIGO, DS:DATOS, SS:PILA MOV AX, DATOS MOV DS, AX LEA DX, MENSAJE CALL POSICIONA_CURSOR MOV AH, IMPRIMIR_9 INT DOS_21H MOV AX, FIN_4C00H INT DOS_21H PC ENDP POSICIONA_CURSOR PROC NEAR MOV AH, 02 MOV DH, 00 MOV DH, RENGLON MOV DL, COLUMNA INT BIOS_10H RET POSICIONA_CURSOR ENDP CODIGO ENDS END PC
Resultado:
Programa 7:
BORRA PANTALLA Y POSICIONA CURSOR.
Código:
CR EQU 13 LF EQU 10 TECLADO_8 EQU 8 IMPRIMIR_9 EQU 9 FIN_4C00H EQU 4C00H DOS_21H EQU 21H BIOS_10H EQU 10H TAB EQU 09H BELL EQU 07H DATOS SEGMENT RENGLON DB 0 COLUMNA DB 0 MENSAJE DB CR, LF, 'POSICION (X,Y), DEL MENSAJE:GRIS ' DB 'DESPUES DE BORRAR PANTALLA', CR, LF, '$' DATOS ENDS PILA SEGMENT STACK DW 100 DUP('0') PILA ENDS CODIGO SEGMENT CLSP PROC FAR ASSUME CS:CODIGO, DS:DATOS, SS:PILA MOV AX, DATOS MOV DS, AX LEA DX, MENSAJE CALL LIMPIA_PANTALLA CALL POSICIONA_CURSOR MOV AH, IMPRIMIR_9 INT DOS_21H MOV AX, FIN_4C00H INT DOS_21H CLSP ENDP LIMPIA_PANTALLA PROC NEAR MOV AX, 0600H MOV BH, 0AH MOV CX, 000H MOV DX, 484FH INT BIOS_10H RET LIMPIA_PANTALLA ENDP POSICIONA_CURSOR PROC NEAR MOV AH, 02 MOV BH, 00 MOV DH, RENGLON MOV DL, COLUMNA INT BIOS_10H RET POSICIONA_CURSOR ENDP CODIGO ENDS END CLSP
Resultado:
Programa 8:
PIDE 3 CADENAS.
Código:
CR EQU 13 LF EQU 10 TECLADO EQU 8 IMPRIMIR EQU 9 FIN EQU 4C00H DOS EQU 21H BIOS EQU 10H TAB EQU 09H BELL EQU 07H DATOS SEGMENT NOMBRE DB 30 DUP(32), '$' DIR DB 30 DUP(32), '$' TLF DB 15 DUP(32), '$' MENS1 DB 'NOMBRE: ', '$' MENS2 DB 'DIRECCION: ', '$' MENS3 DB 'TELEFONO:', '$' ENTERR DB CR, LF, '$' DATOS ENDS PILA SEGMENT STACK DB 64 DUP('PILA') PILA ENDS CODIGO SEGMENT INICIO PROC FAR ASSUME CS:CODIGO, DS:DATOS, SS:PILA MOV AX, DATOS MOV DS, AX CALL MODO_DE_VIDEO MOV DX, OFFSET MENS1 CALL ESCRIBE MOV SI, OFFSET NOMBRE MOV CX, 5 CALL PEDIR CALL SALTO_DE_LINEA MOV DX, OFFSET MENS2 CALL ESCRIBE MOV SI, OFFSET DIR MOV CX, 8 CALL PEDIR CALL SALTO_DE_LINEA MOV DX, OFFSET MENS3 CALL ESCRIBE MOV SI, OFFSET TLF MOV CX, 10 CALL PEDIR CALL SALTO_DE_LINEA CALL ESCRIBE CALL ESCRIBE CALL ESCRIBE MOV DX, OFFSET NOMBRE CALL ESCRIBE CALL SALTO_DE_LINEA MOV DX, OFFSET DIR CALL ESCRIBE CALL SALTO_DE_LINEA MOV DX, OFFSET TLF CALL ESCRIBE CALL SALTO_DE_LINEA CALL SALIR PEDIR PROC NEAR BUCLE: MOV AH, TECLADO INT DOS MOV [SI], AL MOV AH, 2 MOV DL, AL INT DOS INC SI LOOPNZ BUCLE PEDIR ENDP ESCRIBE PROC NEAR MOV AH, IMPRIMIR INT DOS RET ESCRIBE ENDP SALTO_DE_LINEA PROC NEAR MOV DX, OFFSET ENTERR CALL ESCRIBE RET SALTO_DE_LINEA ENDP MODO_DE_VIDEO PROC NEAR MOV AX,3 INT BIOS RET MODO_DE_VIDEO ENDP SALIR PROC NEAR MOV AX, FIN INT DOS RET SALIR ENDP CODIGO ENDS END INICIO
Resultado:
Referencia:
No hay comentarios:
Publicar un comentario