Practicas Unidad 4 - JoseCorreaMorales/lenguajes-de-interfaz GitHub Wiki
Practica 1 - Pantalla
El código utiliza códigos de escape ANSI para cambiar el color de fondo
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.
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.
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
- 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.
- 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.
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.
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.
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.
*(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