Programación en ensamblador

Page 86

CC-BY-SA • PID_00178132

86

donde ESC corresponde al código ASCII del carácter de escape 27 decimal o 1Bh, F corresponde a la fila donde queremos colocar el cursor, expresada como un valor decimal, y C corresponde a la columna donde queremos colocar el cursor, expresada como un valor decimal. Ejemplo Podemos mover el cursor a la fila 5 columna 10, escribiendo la secuencia ESC[05;10H. section .data escSeq db 27,"[05;10H" escLen equ 8 section .text mov rax,4 mov rbx,1 mov rcx, escSeq mov rdx, escLen int 80h

2)�Limpiar�la�consola. Para limpiar la consola debemos escribir la secuencia ESC[2J. section .data escSeq db 27,"[2J" ;ESC[2J escLen equ 4 ; tamaño de la cadena escSeq section .text mov rax,4 mov rbx,1 mov rcx, escSeq mov rdx, escLen int 80h

3)�Secuencias�de�escape�en�C. En lenguaje C podemos conseguir el mismo resultado escribiendo la secuencia que emplea la función printf; el carácter ESC se puede escribir con su valor hexadecimal 1B. Ejemplo #include <stdio.h> int main(){ printf("\x1B[2J"); //Borra la pantalla printf("\x1B[5;10H"); //Sitúa el cursor en la posición (5,10) }

5.7. Funciones del sistema operativo (system calls) Desde un programa en ensamblador podemos hacer llamadas a diferentes funciones del núcleo (kernel) del sistema operativo; es lo que se conoce como system calls o kernel system calls. El lenguaje de ensamblador proporciona dos mecanismos para poder hacer llamadas al sistema operativo: 1)� int� 80h: este es el mecanismo tradicional en procesadores x86 y, por lo tanto, también está disponible en los procesadores con arquitectura x86-64.

Programación en ensamblador (x86-64)


Turn static files into dynamic content formats.

Create a flipbook

Articles inside

6.8. IDIV: división entera con signo

2min
pages 98-99

5.7.3. Retorno al sistema operativo (exit

0
page 90

6. Anexo: manual básico del juego de instrucciones

1min
page 91

5.6. Controlar la consola

1min
page 85

5.7. Funciones del sistema operativo (system calls

1min
page 86

5.7.1. Lectura de una cadena de caracteres desde el teclado

1min
page 87

5.4.4. Llamadas a subrutinas y paso de parámetros desde C

6min
pages 78-82

4.2.6. Apuntadores

1min
page 56

4.2.4. Control de flujo

3min
pages 51-53

4.2.5. Vectores

2min
pages 54-55

4.2.3. Operadores

1min
page 50

4.1.1. Generación de un programa ejecutable

1min
page 47

4.2.2. Variables

1min
page 49

3.4.2. Modos de direccionamiento

7min
pages 39-42

3.4.3. Tipos de instrucciones

3min
pages 43-45

3.4.1. Tipos de operandos de las instrucciones x86-64

5min
pages 36-38

3.2.3. Definición de otros elementos

2min
pages 31-32

2. Lenguajes de programación

1min
page 22

1.1.2. Modo heredado de 16 y 32 bits

1min
page 14

1.2.1. Organización de la memoria

1min
pages 16-17

2.1. Entorno de trabajo

2min
pages 23-24

1.2.2. Registros

5min
pages 18-21

Objetivos

0
pages 9-10

3.2.2. Definición de variables

5min
pages 27-30

Introducción

2min
pages 7-8
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.