Practicas Unidad 4 - JoseCorreaMorales/lenguajes-de-interfaz GitHub Wiki

Practica 1 - Pantalla

Resumen


El código utiliza códigos de escape ANSI para cambiar el color de fondo

Objetivo


El objetivo de este programa es mostrar cómo se pueden utilizar códigos de escape ANSI en lenguaje ensamblador para controlar el aspecto visual de la salida en la pantalla. A través de la manipulación de los códigos de escape ANSI, el programa busca cambiar el color de fondo, limpiar la pantalla y colocar el cursor en una posición deseada.

Introducción


El código de la practica es un programa escrito en lenguaje ensamblador x86 que utiliza llamadas al sistema para imprimir texto en la salida estándar y realizar operaciones de formato en la pantalla. El objetivo de este código es demostrar el uso de códigos de escape ANSI para cambiar el color de fondo, limpiar la pantalla y colocar el cursor en una posición específica.

Metodología


Descripción paso a paso del desarrollo de la práctica.

%macro imprime 2
    mov eax, 4
    mov ebx, 1
    mov ecx, %1
    mov edx, %2
    int 0x80
%endmacro

section .data
    texto db "----------texto----------"
    lontexto equ $-texto

    codigo db 0x1b, "[33;40m", 0x1b, "[2j", 0x1b, "[5;20f"
    loncodigo equ $-codigo

    codigo2 db 0x1b, "33;43m"
    loncodigo2 equ $-codigo2

section .text
    global _start

_start:

imprime codigo, loncodigo
imprime texto, lontexto
imprime codigo2, loncodigo
imprime texto, lontexto

mov eax, 1
mov ebx, 0
int 0x80
  1. codigo db 0x1b, "[33;40m", 0x1b, "[2j", 0x1b, "[5;20f": Esta secuencia de bytes contiene tres códigos de escape ANSI consecutivos. Cada código de escape ANSI comienza con el byte 0x1b, que es un carácter de escape. A continuación, se especifica una serie de caracteres que representan comandos de control y parámetros.
  • [33;40m: Este comando de escape ANSI establece el estilo de color de la pantalla. El código "33" representa el color de primer plano, en este caso, el color de la fuente se establece en amarillo. El código "40" representa el color de fondo, en este caso, el color de fondo se establece en negro.

  • [2j: Este comando de escape ANSI se utiliza para limpiar la pantalla. El código "2" indica que se debe borrar la pantalla completa.

  • [5;20f: Este comando de escape ANSI coloca el cursor en una posición específica en la pantalla. El código "5" indica que se debe mover el cursor a una posición absoluta. Los números "5" y "20" representan las coordenadas X e Y respectivamente. En este caso, el cursor se coloca en la fila 5 y la columna 20.

  1. codigo2 db 0x1b, "33;43m": Esta secuencia de bytes también utiliza un código de escape ANSI para cambiar el color de fondo en la pantalla.
  • 33;43m: Este comando de escape ANSI establece el estilo de color de la pantalla. El código "33" representa el color de primer plano, en este caso, el color de la fuente se mantiene sin cambios. El código "43" representa el color de fondo, en este caso, el color de fondo se establece en amarillo. En resumen, las secuencias de bytes mencionadas utilizan códigos de escape ANSI para cambiar el color de fondo, limpiar la pantalla y colocar el cursor en una posición específica. Estos códigos permiten controlar el aspecto visual de la salida en la pantalla.

Resultados


Al ejecutar el programa, se observará que el texto se imprime en la salida estándar con diferentes estilos de color de fondo, según las secuencias de escape ANSI utilizadas. Además, la pantalla se limpiará y el cursor se colocará en la posición especificada. Esto permitirá una salida visualmente atractiva y organizada en la pantalla.

Análisis


El programa define varias variables en la sección .data, incluyendo dos secuencias de bytes "codigo" y "codigo2" que contienen códigos de escape ANSI para cambiar el color de fondo. Estas secuencias se utilizan luego en llamadas a la macro "imprime" para imprimir texto en la salida estándar con diferentes estilos de color de fondo. El programa también utiliza comandos de escape ANSI para limpiar la pantalla y colocar el cursor en una posición específica.

Conclusiones


El código de la practica demuestra cómo se pueden utilizar códigos de escape ANSI en lenguaje ensamblador para controlar el formato y el estilo de la salida en la pantalla. Mediante el cambio del color de fondo, la limpieza de la pantalla y la manipulación del cursor, se pueden lograr efectos visuales interesantes y mejorar la presentación del texto en la salida estándar. Estos códigos de escape ANSI son una herramienta poderosa para personalizar y mejorar la experiencia de usuario en programas de línea de comandos.

Referencias


*(Build your own Command Line with ANSI escape codes, s/f) Build your own Command Line with ANSI escape codes. (s/f). Lihaoyi.com. Recuperado el 5 de junio de 2023, de https://www.lihaoyi.com/post/BuildyourownCommandLinewithANSIescapecodes.html

(S/f). Wikipedia.org. Recuperado el 5 de junio de 2023, de https://en.wikipedia.org/wiki/Escape_sequences_in_ansi_C

⚠️ **GitHub.com Fallback** ⚠️