1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| \lstdefinelanguage[riscv]{Assembler} {morekeywords={add,addi,addw,addiw,sub,subw,and,andi,or,ori,xor,xori,% sll,slli,sllw,slliw,srl,srli,srlw,srliw,sra,srai,sraw,sraiw,% slt,slti,sltu,sltiu,lui,auipc,jal,jalr,beq,bne,blt,bge,bltu,bgeu,% lb,lh,lw,ld,lbu,lhu,lwu,sb,sh,sw,sd,fence,fence.i,ecall,ebreak,% csrrw,csrrs,csrrc,csrrwi,csrrsi,csrrci,mul,mulh,mulhsu,mulhu,% mulw,div,divw,divu,divuw,rem,remw,remu,remuw,lr.w,sc.w,lr.d,sc.d,% amoswap.w,amoadd.w,amoxor.w,amoand.w,amoor.w,amomin.w,amomax.w,% amominu.w,amomaxu.w,amoswap.d,amoadd.d,amoxor.d,amoand.d,amoor.d,% amomin.d,amomax.d,amominu.d,amomaxu.d,flw,fld,fsw,fsd,fmadd.s,% fmsub.s,fnmsub.s,fnmadd.s,fadd.s,fsub.s,fmul.s,fdiv.s,fsqrt.s,% fsgnj.s,fsgnjn.s,fsgnjx.s,fmin.s,fmax.s,fcvt.w.s,fcvt.wu.s,% fmv.x.w,feq.s,flt.s,fle.s,fclass.s,fcvt.s.w,fcvt.s.wu,fmv.w.x,% fmadd.d,fmsub.d,fnmsub.d,fnmadd.d,fadd.d,fsub.d,fmul.d,fdiv.d,% fsqrt.d,fsgnj.d,fsgnjn.d,fsgnjx.d,fmin.d,fmax.d,fcvt.s.d,fcvt.d.s,% feq.d,flt.d,fle.d,fclass.d,fcvt.w.d,fcvt.wu.d,fcvt.d.w,fcvt.d.wu,% fcvt.l.s,fcvt.lu.s,fcvt.s.l,fcvt.s.lu,fcvt.l.d,fcvt.lu.d,% fmv.x.d,fcvt.d.l,fcvt.d.lu,fmv.d.x,% nop,NOP,ret},% morekeywords=[2]{.align,.balign,.p2align,.ascii,.asciiz,.string,.byte,% .half,.hword,.short,.word,.long,.dword,.quad,.octa,.float,.double,% .space,.zero,.fill,.skip,.org,.set,.equ,.equiv,.eqv,.macro,.endm,% .rept,.endr,.if,.ifdef,.ifndef,.else,.endif,.include,.globl,.global,% .weak,.local,.extern,.type,.size,.section,.text,.data,.rodata,.bss,% .file,.line,.loc,.cfi_startproc,.cfi_endproc,.cfi_def_cfa_offset,% .cfi_offset,.option,.attribute,.insn},% morekeywords=[3]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,% 21,22,23,24,25,26,27,28,29,30,31,32,63,64,127,128,255,256,511,% 512,1023,1024,2047,2048,4095,4096},% morekeywords=[4]{x0,zero,x1,ra,x2,sp,x3,gp,x4,tp,x5,t0,x6,t1,x7,t2,% x8,s0,fp,x9,s1,x10,a0,x11,a1,x12,a2,x13,a3,x14,a4,x15,a5,% x16,a6,x17,a7,x18,s2,x19,s3,x20,s4,x21,s5,x22,s6,x23,s7,% x24,s8,x25,s9,x26,s10,x27,s11,x28,t3,x29,t4,x30,t5,x31,t6,% f0,ft0,f1,ft1,f2,ft2,f3,ft3,f4,ft4,f5,ft5,f6,ft6,f7,ft7,% f8,fs0,f9,fs1,f10,fa0,f11,fa1,f12,fa2,f13,fa3,f14,fa4,f15,fa5,% f16,fa6,f17,fa7,f18,fs2,f19,fs3,f20,fs4,f21,fs5,f22,fs6,f23,fs7,% f24,fs8,f25,fs9,f26,fs10,f27,fs11,f28,ft8,f29,ft9,f30,ft10,f31,ft11}, morekeywords=[5]{IF,ID,EX,MEM,WB,IM,REG,ALU,DM}, alsoletter=.,alsodigit=?,% sensitive=f,% morestring=[b]",% morestring=[b]',% morecomment=[l]\# }[keywords,comments,strings]
\lstdefinestyle{riscvstyle}{ language=[riscv]Assembler, keywordstyle=\color{blue}, keywordstyle=[2]\color{teal}, keywordstyle=[3]\color{red}, keywordstyle=[4]\color{orange!70!black}, keywordstyle=[5]\color{purple}, keywordstyle=[6]\color{cyan!80!black}, commentstyle=\color{green!50!black}\itshape, literate= *{|}{{{\textcolor{cyan!80!black}{\textbf{|}}}}}1 {0(}{{{\color{red}0}{\color{black}(}}}2 {1(}{{{\color{red}1}{\color{black}(}}}2 {2(}{{{\color{red}2}{\color{black}(}}}2 {3(}{{{\color{red}3}{\color{black}(}}}2 {4(}{{{\color{red}4}{\color{black}(}}}2 {5(}{{{\color{red}5}{\color{black}(}}}2 {6(}{{{\color{red}6}{\color{black}(}}}2 {7(}{{{\color{red}7}{\color{black}(}}}2 {8(}{{{\color{red}8}{\color{black}(}}}2 {9(}{{{\color{red}9}{\color{black}(}}}2 {\ 0\ }{{{\color{red}\ 0 \ }}}3 {\ 1\ }{{{\color{red}\ 1 \ }}}3 {\ 2\ }{{{\color{red}\ 2 \ }}}3 {\ 3\ }{{{\color{red}\ 3 \ }}}3 {\ 4\ }{{{\color{red}\ 4 \ }}}3 {\ 5\ }{{{\color{red}\ 5 \ }}}3 {\ 6\ }{{{\color{red}\ 6 \ }}}3 {\ 7\ }{{{\color{red}\ 7 \ }}}3 {\ 8\ }{{{\color{red}\ 8 \ }}}3 {\ 9\ }{{{\color{red}\ 9 \ }}}3 {\ 0}{{{\color{red}\ 0}}}2 {\ 1}{{{\color{red}\ 1}}}2 {\ 2}{{{\color{red}\ 2}}}2 {\ 3}{{{\color{red}\ 3}}}2 {\ 4}{{{\color{red}\ 4}}}2 {\ 5}{{{\color{red}\ 5}}}2 {\ 6}{{{\color{red}\ 6}}}2 {\ 7}{{{\color{red}\ 7}}}2 {\ 8}{{{\color{red}\ 8}}}2 {\ 9}{{{\color{red}\ 9}}}2 {-1}{{{\color{red}-1}}}2 {-2}{{{\color{red}-2}}}2 {-3}{{{\color{red}-3}}}2 {-4}{{{\color{red}-4}}}2 {-5}{{{\color{red}-5}}}2 {-6}{{{\color{red}-6}}}2 {-7}{{{\color{red}-7}}}2 {-8}{{{\color{red}-8}}}2 {-9}{{{\color{red}-9}}}2 }
|