jb302@42: #LyX 2.0 created this file. For more info see http://www.lyx.org/ jb302@42: \lyxformat 413 jb302@42: \begin_document jb302@42: \begin_header jb302@42: \textclass article jb302@42: \begin_preamble jb302@42: \usepackage[export]{adjustbox}% http://ctan.org/pkg/adjustbox jb302@42: % Resize figures that are too wide for the page. jb302@42: \let\oldincludegraphics\includegraphics jb302@42: \renewcommand\includegraphics[2][]{% jb302@42: \oldincludegraphics[#1,max width=\linewidth,max height=\textheight]{#2} jb302@42: } jb302@42: \end_preamble jb302@42: \use_default_options true jb302@42: \maintain_unincluded_children false jb302@42: \language english jb302@42: \language_package default jb302@42: \inputencoding auto jb302@42: \fontencoding global jb302@42: \font_roman default jb302@42: \font_sans default jb302@42: \font_typewriter default jb302@42: \font_default_family default jb302@42: \use_non_tex_fonts false jb302@42: \font_sc false jb302@42: \font_osf false jb302@42: \font_sf_scale 100 jb302@42: \font_tt_scale 100 jb302@42: jb302@42: \graphics default jb302@42: \default_output_format default jb302@42: \output_sync 0 jb302@42: \bibtex_command default jb302@42: \index_command default jb302@42: \paperfontsize default jb302@42: \spacing single jb302@42: \use_hyperref false jb302@42: \papersize default jb302@42: \use_geometry false jb302@42: \use_amsmath 1 jb302@42: \use_esint 1 jb302@42: \use_mhchem 1 jb302@42: \use_mathdots 1 jb302@42: \cite_engine basic jb302@42: \use_bibtopic false jb302@42: \use_indices false jb302@42: \paperorientation portrait jb302@42: \suppress_date false jb302@42: \use_refstyle 1 jb302@42: \index Index jb302@42: \shortcut idx jb302@42: \color #008000 jb302@42: \end_index jb302@42: \secnumdepth 3 jb302@42: \tocdepth 3 jb302@42: \paragraph_separation indent jb302@42: \paragraph_indentation default jb302@42: \quotes_language english jb302@42: \papercolumns 1 jb302@42: \papersides 1 jb302@42: \paperpagestyle default jb302@42: \tracking_changes false jb302@42: \output_changes false jb302@42: \html_math_output 0 jb302@42: \html_css_as_file 0 jb302@42: \html_be_strict false jb302@42: \end_header jb302@42: jb302@42: \begin_body jb302@42: jb302@42: \begin_layout Title jb302@42: EDE: ELB816 Development Environment jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Author jb302@42: James Bowden (110104485) jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Description jb302@42: Programme: Electrical and Electronic Engineering jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Description jb302@42: Supervisor: Dr Christopher Andrew Harte jb302@42: \end_layout jb302@42: jb302@42: \begin_layout LyX-Code jb302@42: \begin_inset Newpage pagebreak jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Abstract jb302@42: ELB816 is an imagined processor design used for teaching micro-processor jb302@42: electronics. jb302@42: The ELB816 Development Environment project aims create to a working software jb302@42: emulator implementation of this micro-processor, along with a basic tool jb302@42: chains, consisting on an assembler and a debugger, for writing and debugging jb302@42: code for it. jb302@42: This report first outlines the the motivation for implementing these tools jb302@42: and the methodology used to realize them. jb302@42: This is followed by an overview for the development environment and various jb302@42: way in which it can be used. jb302@42: Designs for each component and then presented, along with implementation jb302@42: details that will aid the reader in understanding the source code provided jb302@42: in the Supporting Material. jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset Newpage pagebreak jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset toc jb302@42: LatexCommand tableofcontents jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "intro.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "ede.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "asm.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "emu.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "dbg.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "review.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \begin_layout Standard jb302@42: \begin_inset CommandInset include jb302@42: LatexCommand include jb302@42: filename "appendix.lyx" jb302@42: jb302@42: \end_inset jb302@42: jb302@42: jb302@42: \end_layout jb302@42: jb302@42: \end_body jb302@42: \end_document