<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-07-16T01:16:07Z</responseDate><request verb="GetRecord" identifier="oai:riubu.ubu.es:10259/11914" metadataPrefix="uketd_dc">https://riubu.ubu.es/oai/request</request><GetRecord><record><header><identifier>oai:riubu.ubu.es:10259/11914</identifier><datestamp>2026-07-15T00:05:23Z</datestamp><setSpec>com_10259_9416</setSpec><setSpec>com_10259_5087</setSpec><setSpec>com_10259_2728</setSpec><setSpec>col_10259_9417</setSpec></header><metadata><uketd_dc:uketddc xmlns:uketd_dc="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uketdterms="http://naca.central.cranfield.ac.uk/ethos-oai/terms/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://naca.central.cranfield.ac.uk/ethos-oai/2.0/ http://naca.central.cranfield.ac.uk/ethos-oai/2.0/uketd_dc.xsd">
<dc:title>Simulador del microprocesador 80386: un enfoque orientado a docencia</dc:title>
<dc:creator>González Pampliega, Miguel</dc:creator>
<uketdterms:advisor>Sánchez Ortega, Pedro L.</uketdterms:advisor>
<dcterms:abstract>El objetivo de este trabajo es la concepción y posterior desarrollo&#xd;
de un simulador del microprocesador 80386 desarrollado por Intel.&#xd;
Dicho procesador, también conocido como i386, es un procesador de&#xd;
32 bits. La finalidad del simulador reside en ser utilizado para docencia en varias asignaturas de la titulación de Ingeniería Informática&#xd;
de la Universidad de Burgos u otras universidades. Algunos ejemplos&#xd;
de estas asignaturas podrían ser Fundamentos de Computadores o&#xd;
Ciberseguridad.&#xd;
La idea principal del simulador, es ofrecer una interfaz clara y sencilla&#xd;
al usuario, que permita seguir y comprender la ejecución de programas&#xd;
en ensamblador paso a paso, tanto para aprender cómo funcionan&#xd;
los microprocesadores y su programación, como para entender la&#xd;
explotación de programas vulnerables con CWE conocidos. Esto se&#xd;
consigue a través de la consecución de que el simulador pueda ejecutar&#xd;
ficheros ejecutables compilados para el i386 (o bien ELF32 o bien&#xd;
bytecode ejecutable sin cabeceras).&#xd;
Esta herramienta está concebida para ser ejecutada en un entorno&#xd;
Linux, a través de la línea de comandos. Este entorno resulta ideal&#xd;
por su facilidad para escribir scripts, compilar ejecutables, efectuar&#xd;
redirecciones a descriptores de ficheros, la utilización de tuberías,&#xd;
desensamblar programas en hexadecimal, y sobre todo, para la ejecución de syscalls o llamadas al sistema de Linux usando la ABI del i386.&#xd;
De manera adicional, se ha desarrollado, como otra rama del mismo&#xd;
proyecto, una interfaz gráfica que permite ejecutar el simulador desde&#xd;
el sistema operativo Windows. Esta rama está orientada a la docencia&#xd;
de Fundamentos de Computadores, ya que algunas funcionalidades&#xd;
avanzadas han sido recortadas por su incompatibilidad en Windows.&#xd;
Para ello, el software se implementa como una librería multiplataforma que pueda ser compilada y utilizada de igual manera en&#xd;
distintos sistemas operativos, donde lo único que varía es la interfaz&#xd;
gráfica o la manera en la que se compila el programa final.</dcterms:abstract>
<dcterms:abstract>The aim of this project is the conception and subsequent development of an Intel 80386 microprocessor simulator. This microprocessor,&#xd;
widely known as the i386, is a 32-bit CPU. The main goal of the&#xd;
simulator is to serve as a teaching resource for several subjects within&#xd;
the Computer Engineering Degree at the University of Burgos (or&#xd;
any other university), including Cybersecurity and Computer Fundamentals.&#xd;
The main idea of the simulator is to provide a clean and intuitive interface to the user, that allows them to follow and comprehend&#xd;
the execution of assembly programs step by step. This makes it possible to learn how microprocessors work (and their programming) while&#xd;
also demonstrating how vulnerable programs, with known CWEs, can&#xd;
be exploited. This is achieved by enabling the simulator to execute&#xd;
both ELF32 and assembly programs.&#xd;
This tool is designed to be run in a Linux environment, through&#xd;
the command line. Such environment is particularly suitable due&#xd;
to its capacity to run scripts, compile object files, use pipes and&#xd;
redirections, disassemble programs to hexadecimal code, and above&#xd;
all, to execute system calls using the Linux i386 ABI.&#xd;
In addition, a Graphical User Interface (GUI) has been developed&#xd;
as another branch of the same project, allowing the simulator to be&#xd;
executed under the Windows operating system. This branch is mainly&#xd;
focused on teaching Computer Fundamentals, since some advanced&#xd;
functionalities have been removed due to their incompatibility with&#xd;
Windows.&#xd;
To achieve this, the software has been implemented as a cross-platform&#xd;
library that can be compiled and used in the same way across different&#xd;
operating systems, where only the graphical interface or the method&#xd;
used to compile the final program varies.</dcterms:abstract>
<dcterms:issued>2026-05</dcterms:issued>
<dc:type>info:eu-repo/semantics/bachelorThesis</dc:type>
<dc:language xsi:type="dcterms:ISO639-2">spa</dc:language>
<dcterms:isReferencedBy>https://hdl.handle.net/10259/11914</dcterms:isReferencedBy>
<dcterms:license>https://riubu.ubu.es/bitstream/10259/11914/4/license.txt</dcterms:license>
<uketdterms:checksum xsi:type="uketdterms:MD5">5d013bfa6e473ff0db22cd82a4d71a70</uketdterms:checksum>
<dc:identifier xsi:type="dcterms:URI">https://riubu.ubu.es/bitstream/10259/11914/1/Gonzalez_Pampliega_Miguel-TFG.pdf</dc:identifier>
<uketdterms:checksum xsi:type="uketdterms:MD5">679f3efdc8d9ec7c3995ee244011eb53</uketdterms:checksum>
<dc:identifier xsi:type="dcterms:URI">https://riubu.ubu.es/bitstream/10259/11914/2/Gonzalez_Pampliega_Miguel-TFG_Anexos.pdf</dc:identifier>
<uketdterms:checksum xsi:type="uketdterms:MD5">38eec1c4b8c8957993717deda3f19ddf</uketdterms:checksum>
<dc:rights>Attribution-NonCommercial-NoDerivatives 4.0 Internacional</dc:rights>
<dc:subject>Simulador</dc:subject>
<dc:subject>Ensamblador</dc:subject>
<dc:subject>i386</dc:subject>
<dc:subject>Ciberseguridad</dc:subject>
<dc:subject>Compilador</dc:subject>
<dc:subject>Llamadas al sistema</dc:subject>
<dc:subject>ABI</dc:subject>
<dc:subject>Compilación estática</dc:subject>
<dc:subject>ELF-32</dc:subject>
<dc:subject>CWE</dc:subject>
<dc:subject>Exploits</dc:subject>
<dc:subject>32-bit</dc:subject>
<dc:subject>Docencia</dc:subject>
<dc:subject>Simulator</dc:subject>
<dc:subject>Assembly</dc:subject>
<dc:subject>Cybersecurity</dc:subject>
<dc:subject>Compiler</dc:subject>
<dc:subject>System calls</dc:subject>
<dc:subject>Static Compiling</dc:subject>
<dc:subject>Teaching</dc:subject>
<dc:subject>Intel 80386 (Microprocesador)</dc:subject>
<dc:subject>Simulación por ordenador</dc:subject>
<dc:subject>Intel 80386 (Microprocessor)</dc:subject>
<dc:subject>Computer simulation</dc:subject>
</uketd_dc:uketddc></metadata></record></GetRecord></OAI-PMH>