|
@@ -77,9 +77,11 @@
|
|
|
\renewcommand{\lstlistingname}{C\'odigo}
|
|
\renewcommand{\lstlistingname}{C\'odigo}
|
|
|
\definecolor{DarkGreen}{rgb}{0.0,0.4,0.0} % Comentarios
|
|
\definecolor{DarkGreen}{rgb}{0.0,0.4,0.0} % Comentarios
|
|
|
% Lenguajes soportados: ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf
|
|
% Lenguajes soportados: ftp://ftp.tex.ac.uk/tex-archive/macros/latex/contrib/listings/listings.pdf
|
|
|
-\lstloadlanguages{[x86masm]Assembler}
|
|
|
|
|
-% FIXME: Me robe lo de abajo de otro ejemplo, estaba basado en Perl, ver si hay que cambiar algo
|
|
|
|
|
-\lstset{language=[x86masm]Assembler,
|
|
|
|
|
|
|
+\lstloadlanguages{[x86masm]Assembler, C}
|
|
|
|
|
+
|
|
|
|
|
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
+% Me robe lo de abajo de otro ejemplo, estaba basado en Perl, ver si hay que cambiar algo
|
|
|
|
|
+\lstdefinestyle{asmStyle}{language=[x86masm]Assembler,
|
|
|
frame=single,
|
|
frame=single,
|
|
|
breaklines=true, % Saltar de linea si supero el maximo
|
|
breaklines=true, % Saltar de linea si supero el maximo
|
|
|
basicstyle=\small\ttfamily,
|
|
basicstyle=\small\ttfamily,
|
|
@@ -87,29 +89,66 @@
|
|
|
keywordstyle=[2]\color{Purple}, % Color de parámetros especiales (registros, etc)
|
|
keywordstyle=[2]\color{Purple}, % Color de parámetros especiales (registros, etc)
|
|
|
identifierstyle=,
|
|
identifierstyle=,
|
|
|
commentstyle=\usefont{T1}{pcr}{m}{sl}\color{DarkGreen}\small,
|
|
commentstyle=\usefont{T1}{pcr}{m}{sl}\color{DarkGreen}\small,
|
|
|
- stringstyle=\color{Purple}, % Strings purpuras
|
|
|
|
|
|
|
+ stringstyle=\color{Purple}, % Strings purpuras
|
|
|
showstringspaces=false,
|
|
showstringspaces=false,
|
|
|
tabsize=4,
|
|
tabsize=4,
|
|
|
%
|
|
%
|
|
|
% Instrucciones no incluidas en el paquete Assembler
|
|
% Instrucciones no incluidas en el paquete Assembler
|
|
|
- morekeywords={global, define, section, .rodata, .text, jl, movd, movdqu, mulss, subss, addss, cmpss, pand, cvtss2si, cvttss2si, cvtsi2ss},
|
|
|
|
|
|
|
+ morekeywords={global, define, section, .rodata, .text, jl, movd, movdqu, mulss, subss, addss, cmpss, pand, cvtss2si, cvttss2si, cvtsi2ss, pxor, pslldq, movq, pshufb, paddb, pmaxub, punpcklbw, punpckhbw},
|
|
|
%
|
|
%
|
|
|
% Registros y esas otras cosas especiales que no son instrucciones
|
|
% Registros y esas otras cosas especiales que no son instrucciones
|
|
|
- morekeywords=[2]{rax,rdx,rcx,rbx,rsi,rdi,rsp,rbp,r8,r9,r10,r11,r12,r13,r14,r15,xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7
|
|
|
|
|
|
|
+ morekeywords=[2]{rax,al,rdx,rcx,rbx,rsi,rdi,rsp,rbp,r8,r9,r10,r11,r12,r13,r14,r15,xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7
|
|
|
xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15,r8b, r9b, r10b, r11b, r8d, r9d, r10d, r11d},
|
|
xmm8,xmm9,xmm10,xmm11,xmm12,xmm13,xmm14,xmm15,r8b, r9b, r10b, r11b, r8d, r9d, r10d, r11d},
|
|
|
- %
|
|
|
|
|
morecomment=[l][\color{Blue}]{...}, % Line continuation (...) like blue comment
|
|
morecomment=[l][\color{Blue}]{...}, % Line continuation (...) like blue comment
|
|
|
- numbers=left, % Numeros de linea en la izquiera
|
|
|
|
|
- firstnumber=1, % Se arranca en la linea 1
|
|
|
|
|
- numberstyle=\tiny\color{Blue}, % Numeros de linea en azul y chicos
|
|
|
|
|
- stepnumber=5 % Los numerros de linea se muestran cada 5
|
|
|
|
|
|
|
+ numbers=left, % Numeros de linea en la izquiera
|
|
|
|
|
+ firstnumber=1, % Se arranca en la linea 1
|
|
|
|
|
+ numberstyle=\tiny\color{Blue}, % Numeros de linea en azul y chicos
|
|
|
|
|
+ stepnumber=5, % Los numerros de linea se muestran cada 5
|
|
|
|
|
+ numbers=left % where to put the line-numbers; possible values are (none, left, right)
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
|
+% Declaro colores y cosas para C
|
|
|
|
|
+\lstdefinestyle{cStyle}{language=C,
|
|
|
|
|
+ frame=single,
|
|
|
|
|
+ breaklines=true, % Saltar de linea si supero el maximo
|
|
|
|
|
+ basicstyle=\small\ttfamily,
|
|
|
|
|
+ keywordstyle=[1]\color{Blue}\bf, % Color de las funciones de assembler
|
|
|
|
|
+ keywordstyle=[2]\color{Purple}, % Color de parámetros especiales (registros, etc)
|
|
|
|
|
+ identifierstyle=,
|
|
|
|
|
+ commentstyle=\usefont{T1}{pcr}{m}{sl}\color{DarkGreen}\small,
|
|
|
|
|
+ stringstyle=\color{Purple}, % Strings purpuras
|
|
|
|
|
+ showstringspaces=false,
|
|
|
|
|
+ tabsize=4,
|
|
|
|
|
+ %
|
|
|
|
|
+ morekeywords={define},
|
|
|
|
|
+ %
|
|
|
|
|
+ % Cosas especiales
|
|
|
|
|
+ morekeywords=[2]{rax},
|
|
|
|
|
+ morecomment=[l][\color{Blue}]{...}, % Line continuation (...) like blue comment
|
|
|
|
|
+ numbers=left, % Numeros de linea en la izquiera
|
|
|
|
|
+ firstnumber=1, % Se arranca en la linea 1
|
|
|
|
|
+ numberstyle=\tiny\color{Blue}, % Numeros de linea en azul y chicos
|
|
|
|
|
+ stepnumber=2, % Los numerros de linea se muestran cada 5
|
|
|
|
|
+ numbers=left % where to put the line-numbers; possible values are (none, left, right)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
% Comando para incluir un archivo de assembler, no hay que poner la extensión
|
|
% Comando para incluir un archivo de assembler, no hay que poner la extensión
|
|
|
-\newcommand{\asmscript}[2]{
|
|
|
|
|
|
|
+\newcommand{\asmscript}[5]{
|
|
|
|
|
+\\
|
|
|
|
|
+\begin{minipage}{\linewidth}
|
|
|
|
|
+\lstinputlisting[style=asmStyle,caption=#3,label=#1,firstline=#4,lastline=#5]{include/#2.asm}
|
|
|
|
|
+\end{minipage}
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+% Comando para incluir un archivo C, no hay que poner la extensión
|
|
|
|
|
+\newcommand{\cscript}[5]{
|
|
|
\\
|
|
\\
|
|
|
\begin{minipage}{\linewidth}
|
|
\begin{minipage}{\linewidth}
|
|
|
-\lstinputlisting[caption=#2,label=#1]{include/#1.asm}
|
|
|
|
|
|
|
+\lstinputlisting[style=cStyle,caption=#3,label=#1,firstline=#4,lastline=#5]{include/#2.c}
|
|
|
\end{minipage}
|
|
\end{minipage}
|
|
|
}
|
|
}
|
|
|
|
|
|