diff --git a/app-isaquick-riscv-macros.tex b/app-isaquick-riscv-macros.tex index 8539f648..2a0fb5cd 100644 --- a/app-isaquick-riscv-macros.tex +++ b/app-isaquick-riscv-macros.tex @@ -1,14 +1,20 @@ \input{app-isaquick-table-macros} \makeatletter -\newcommand{\rvcherienctabletop}{\@cherienctable{@rvcheriencusetablestr}{top}{8}} -\newcommand{\rvcherienctablesrcsrcdest}{\@cherienctable{@rvcheriencusetablestr}{srcsrcdest}{128}} -\newcommand{\rvcherienctablesrcsrc}{\@cherienctable{@rvcheriencusetablestr}{srcsrc}{32}} -\newcommand{\rvcherienctablesrc}{\@cherienctable{@rvcheriencusetablestr}{src}{32}} -\newcommand{\rvcherienctablesrcdest}{\@cherienctable{@rvcheriencusetablestr}{srcdest}{32}} -\newcommand{\rvcherienctabledest}{\@cherienctable{@rvcheriencusetablestr}{dest}{32}} -\newcommand{\rvcherienctableexpload}{\@cherienctable{@rvcheriencusetablestr}{expload}{32}} -\newcommand{\rvcherienctableexpstore}{\@cherienctable{@rvcheriencusetablestr}{expstore}{32}} +% class count +\newcommand{\@rvcherimakeenctablecmd}[2]{% + \ea\newcommand\csname rvcherienctable#1\endcsname{% + \@cherienctable{@rvcheriencusetablestr@#1}{#2}% + }% +} +\@rvcherimakeenctablecmd{top}{8} +\@rvcherimakeenctablecmd{srcsrcdest}{128} +\@rvcherimakeenctablecmd{srcsrc}{32} +\@rvcherimakeenctablecmd{src}{32} +\@rvcherimakeenctablecmd{srcdest}{32} +\@rvcherimakeenctablecmd{dest}{32} +\@rvcherimakeenctablecmd{expload}{32} +\@rvcherimakeenctablecmd{expstore}{32} \let\rvcheriasminsnref\insnriscvref \let\rvcheriasminsnnoref\insnnoref diff --git a/app-isaquick-table-macros.tex b/app-isaquick-table-macros.tex index 61150a05..c2a43bc3 100644 --- a/app-isaquick-table-macros.tex +++ b/app-isaquick-table-macros.tex @@ -13,10 +13,10 @@ \newcount\@cherienctable@tmp \def\@cherienctable@addtoformat#1{\ea\global\ea\def\ea\@cherienctable@format\ea{\@cherienctable@format #1}} \def\@cherienctable@addtobody#1{\ea\global\ea\def\ea\@cherienctable@body\ea{\@cherienctable@body #1}} -% [cols] func2str class count -\newcommand{\@cherienctable}[4][8]{% +% [cols] func2str count +\newcommand{\@cherienctable}[3][8]{% \@cherienctable@cols=\numexpr(#1)\relax% - \@cherienctable@rows=\numexpr(#4+\@cherienctable@cols-1)\relax% + \@cherienctable@rows=\numexpr(#3+\@cherienctable@cols-1)\relax% \divide\@cherienctable@rows\@cherienctable@cols% % \let\@cherienctable@format\@empty% @@ -64,7 +64,7 @@ \ifnum\@cherienctable@col>0% \@cherienctable@addtobody{ & }% \fi% - \edef\@cherienctable@cell{\csname #2\endcsname{#3}{\@cherienctable@row*\@cherienctable@cols + \@cherienctable@col}}% + \edef\@cherienctable@cell{\csname #2\endcsname{\@cherienctable@row*\@cherienctable@cols + \@cherienctable@col}}% \ifx\@cherienctable@cell\@empty% \@cherienctable@addtobody{-}% \else% diff --git a/def-riscv-insns-macros.tex b/def-riscv-insns-macros.tex index 8dff7bb7..fba42914 100644 --- a/def-riscv-insns-macros.tex +++ b/def-riscv-insns-macros.tex @@ -20,6 +20,19 @@ \fi% } \newcommand{\@rvcheriencusetablestr}[2]{\csuse{@rvcheri@enc@func2tablestr@#1@\the\numexpr(#2)}} +\newcommand{\@rvcherimakeencusetablestrcmd}[1]{% + \ea\newcommand\csname @rvcheriencusetablestr@#1\endcsname[1]{% + \@rvcheriencusetablestr{#1}{##1}% + }% +} +\@rvcherimakeencusetablestrcmd{top} +\@rvcherimakeencusetablestrcmd{srcsrcdest} +\@rvcherimakeencusetablestrcmd{srcsrc} +\@rvcherimakeencusetablestrcmd{src} +\@rvcherimakeencusetablestrcmd{srcdest} +\@rvcherimakeencusetablestrcmd{dest} +\@rvcherimakeencusetablestrcmd{expload} +\@rvcherimakeencusetablestrcmd{expstore} \let\@rvcherisubclass@tablesuffix\@empty \define@key{@rvcherisubclass}{tablesuffix}{\def\@rvcherisubclass@tablesuffix{#1}}