
다음 x86 어셈블리 언어 목록 스타일을 만들려고 합니다.
그러나 나는 그것을 할 수 없었다. 내 목록 코드는 다음과 같습니다:
\documentclass{article}
\usepackage{listings}
\usepackage{color}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\lstdefinestyle{customasm}{
belowcaptionskip=1\baselineskip,
frame=single,
frameround=tttt,
xleftmargin=\parindent,
language=[x86masm]Assembler,
basicstyle=\footnotesize\ttfamily,
commentstyle=\itshape\color{green!60!black},
keywordstyle=\color{blue!80!black},
identifierstyle=\color{red!80!black},
tabsize=4,
numbers=left,
numbersep=8pt,
stepnumber=1,
numberstyle=\tiny\color{gray},
columns = fullflexible,
}
\begin{document}
\section*{x86 Listing}
\begin{lstlisting}[style=customasm, caption={x86 Code}, label=x86code]
.MODEL SMALL
.STACK 100H
.CODE
MOV AX, 0x3C
MOV BX, 0000000000001010B
ADD AX, BX
MOV BX, 14
SUB AX, BX
MOV AH, 04CH
INT 21H
\end{lstlisting}
\end{document}
답변1
minted
대신 패키지를 사용하는 listings
것이 해결책일까요? 어휘 nasm
분석기는 예제와 매우 유사한 출력을 생성합니다.
\documentclass{article}
\usepackage{caption}
\usepackage[newfloat]{minted}
\captionsetup[listing]{position=top}
\begin{document}
\section*{x86 Listing}
\begin{listing}[h]
\caption{x86 Code}
\begin{minted}[linenos,frame=single]{nasm}
.MODEL SMALL
.STACK 100H
.CODE
MOV AX, 0x3C
MOV BX, 0000000000001010B
ADD AX, BX
MOV BX, 14
SUB AX, BX
MOV AH, 04CH
INT 21H
\end{minted}
\end{listing}
\end{document}
결과: