|edZddlZddlmZmZmZmZmZmZm Z ddl m Z m Z ddl mZddlmZmZmZmZmZmZmZmZmZmZgdZGdd eZd ZGd d eZGd deZGddeZGddeZ GddeZ!GddeZ"GddeZ#GddeZ$GddeZ%GddeZ&Gdd eZ'Gd!d"eZ(Gd#d$eZ)y)%z pygments.lexers.asm ~~~~~~~~~~~~~~~~~~~ Lexers for assembly languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludebygroupsusingwordsDelegatingLexerdefault)CppLexerCLexer)DLexer) TextNameNumberStringComment PunctuationOtherKeywordOperator Whitespace)GasLexer ObjdumpLexer DObjdumpLexerCppObjdumpLexer CObjdumpLexer HsailLexer LlvmLexerLlvmMirBodyLexer LlvmMirLexer NasmLexerNasmObjdumpLexer TasmLexer Ca65Lexer Dasm16LexerceZdZdZdZddgZddgZdgZdZd Z d e zd ze zd zZ d Z de zdzZ e de dzejfde zej dfdej fe ej"dfdefge ej&feefde zej fe ej,fe ej.fdedfdej4dfdej6fdej6dfe de dg de zdzeej:eeej&efde zdze zdzeej:eeej&eej,efe ej&fe ej,fe ej.fd e zej,fd!ej>fdedfdej4dfdej6fdej6dfe de dg d"efd#efdej4fd$ej6fgd%efgd&Z d'Z!y())rz' For Gas (AT&T) assembly code. GASgasasm*.sz*.Sz text/x-gas "(\\"|[^"])*"z[\w$.@-] (?:[a-zA-Z$_]*|\.+)z(?:0[xX][a-fA-F0-9]+|#?-?\d+)%\b whitespace:\.directive-argszlock|rep(n?z)?|data\d+instruction-args[\r\n]+@#popz([;#]|//).*?\nz /[*].*?[*]/z/[*].*?\n[\w\W]*?[*]/ punctuationz([a-z0-9]+)( )(<)(z)(>)z)([-+])($z $'(.|\\')'\n\s+z/[*][\w\W]*?[*]/z[-*,.()\[\]!:{}]+)rootr3r4r0r8ctjd|tjrytjd|tjryy)Nz^\.(text|data|section)Tz^\.\w+g?)researchMtexts 5/usr/lib/python3/dist-packages/pygments/lexers/asm.py analyse_textzGasLexer.analyse_textfs6 99.bdd ; YYy$ -.N)"__name__ __module__ __qualname____doc__namealiases filenames mimetypesstringchar identifiernumberregisterrrLabel AttributeFunctionr ConstantrrIntegerVariablerrSingle MultilinerHexrChartokensrDrErCrrs DenGIIF D!D(72T9D@J -FZ%'H L ! # tzz * Z 1A B & 7 (: ;     ' V  : t~~ . V^^ $ t}} % V ,  7 W.. / %w'8'8& A M " L !  ""* ,V 3T; $& '"* ,Z 7 >v ET; $fnnkC D  ' V^^ $ t}} % Z ( FKK ( V ,  7 W.. / %w'8'8& A M " L !1 6J  Z  / '"3"3 4  "; / o:FxrErcrd}ddttjttt fdtttjtfd|zdztt jtttjtt jtfd|zdztt jtttjtfd|zd z|z|zd ztttjtt jtt|fd|zd ztttjtt|fd|zd z|z|zd ztttjtt jtt fd|zd z|z|zd ztttjtt jfdtfd|zdz|zdztttjttjttjtt jfd|zdztttjttjttjfdtfg iS)z; Common objdump lexer tokens to wrap an ASM lexer. z [0-9A-Za-z]r<z(.*?)(:)( +file format )(.*?)$z"(Disassembly of section )(.*?)(:)$(z++)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$z+)( )(<)(.*?)(>:)$z( *)(z +:)(\t)((?:z )+)( * )([a-zA-Z].*?)$z+:)( *\t)([a-zA-Z].*?)$z )+)( *)(.*?)$z )+)$z \t\.\.\.$z (\t\t\t)(z +:)( )([^\t]+)(\t)(.*?)([-+])(0xz+)$z+:)( )([^\t]+)(\t)(.*?)$z[^\n]+\n)rrrSrr rrr[rrUrPropertyrVr) asm_lexerhex_res rC_objdump_lexer_tokensrdms7F -[$? A2tzz;7 9ZE EZdmm$fjj+? @Z, ,Zdmm$& 'V^N *6 1& 89S STZZVZZy)+ ,V^6 6TZZy)+ ,V^N *6 1& 89I ITZZVZZU[\ ^V^N *6 1& 8 @TZZVZZH J4 & !D DV KE QTZZT]]J VZZA B& !< <TZZT]]J( )% U+ - -rEc6eZdZdZdZdgZdgZdgZee Z y)rz, For the output of ``objdump -dr``. objdumpz *.objdumpztext/x-objdumpN) rFrGrHrIrJrKrLrMrdrr]r^rErCrrs. DkG I!"I "8 ,FrErc8eZdZdZdZdgZdgZdgZfdZxZ S)rz@ For the output of ``objdump -Sr`` on compiled D files. z d-objdumpz *.d-objdumpztext/x-d-objdumpc 8t|ttfi|yN)super__init__r rselfoptions __class__s rCrkzDObjdumpLexer.__init__ 99rE rFrGrHrIrJrKrLrMrk __classcell__ros@rCrr/ DmGI#$I::rErc<eZdZdZdZgdZgdZdgZfdZxZ S)rzB For the output of ``objdump -Sr`` on compiled C++ files. cpp-objdump)rvz c++-objdumbz cxx-objdump)z *.cpp-objdumpz *.c++-objdumpz *.cxx-objdumpztext/x-cpp-objdumpc 8t|ttfi|yri)rjrkr rrls rCrkzCppObjdumpLexer.__init__s <;7;rErqrss@rCrrs+ D;GCI%&I<{}\[\]()*.,:;!]|x\bz(\n|\s)+z /\*.*?\*/z//.*?\nkernargz+\$(full|base|small|large|default|zero|near))module extensionpragmaprogindirect signaturedeclkernelfunctionenablebreakexceptionsenabledetectexceptionsmaxdynamicgroupsizemaxflatgridsizemaxflatworkgroupsize requireddimrequiredgridsizerequiredworkgroupsizerequirenopartialworkgroupsr/suffixz_(|)_kernargz(nop|imagefence)\b)cleardetectexceptclockcuid debugtrapdimgetdetectexcept groupbaseptrkernargbaseptrlaneidmaxcuid maxwaveidpacketidsetdetectexceptwaveidworkitemflatabsidworkitemflatidnullptrabsbitrevcurrentworkgroupsizecurrentworkitemflatidfractncosnegnexp2nlog2nrcpnrsqrtnsinnsqrt gridgroupsgridsizenotsqrt workgroupid workgroupsize workitemabsid workitemidceilfloorrinttruncaddbitmaskborrowcarrycopysigndivremsubshlshrandorxorunpackhiunpacklomaxminfmamad bitextract bitselectshufflecmovbitalign bytealignlerpnfmamulmulhimul24himul24mad24mad24hi bitinsertcombineexpandldamovpackunpackpackcvt unpackcvtsadsementpftosstofcmpldst_eq_ne_lt_le_gt_ge_equ_neu_ltu_leu_gtu_geu_num_nan_seq_sne_slt_sle_sgt_sge_snum_snan_sequ_sneu_sltu_sleu_sgtu_sgeuatomic_ld_st_cas_add_and_exch_max_min_or_sub_wrapdec_wrapinc_xorretcvt _readonlyr_globalbrcbrsbr_scacq_screl_scar_rlx_wave_wg_agent_systemldimagestimage_v2_v3_v4_1d_2d_3d_1da_2da_1db_2ddepth _2dadepth_width_height_depth_array _channelorder _channeltype querysampler_coord_filter _addressingbarrier wavebarrierinitfbarjoinfbarwaitfbar arrivefbar leavefbar releasefbarldf activelaneidactivelanecountactivelanemaskactivelanepermutecallscallicallallocapacketcompletionsigaddqueuewriteindexcasqueuewriteindexldqueuereadindexstqueuereadindexreadonlyglobalprivategroupspillarg_upi_downi_zeroi_neari_upi_sat _downi_sat _zeroi_sat _neari_sat_supi_sdowni_szeroi_sneari _supi_sat _sdowni_sat _szeroi_sat _sneari_sat_pp_ps_sp_ss_s_p_pp_sat_ps_sat_sp_sat_ss_sat_s_sat_p_sat i[1-9]\d*)r<r0rrN)(rFrGrHrIrJrKrLrMrNrPregister_numberrR alignQual widthQual allocQual roundingMod datatypeModfloathexfloat ieeefloatrrrrSrX AnonymousGlobalrr[FloatrWrrrrZrYrTyperr]r^rErCrrs  DG I I F#JO069H!I'I#I6K :K 0E^HRI L ! J  V  J  %tzz 2 t}}.. / I  J  4 4 5 J  . vzz " !6:: .  % FLL ! V^^ $ ' 5+ 0* % 7,, -  ( + %w|| 4{}\[\]()*.,!]|x\bz (\n|\s+)+;.*?\n(aarch64_sve_vector_pcsaarch64_vector_pcsacq_relacquirer addrspace addrspacecastafnaliasaliaseealign alignLog2 alignstackrX allocsizeallOnes alwaysinline alwaysInline amdgpu_cs amdgpu_es amdgpu_gfx amdgpu_gs amdgpu_hs amdgpu_kernel amdgpu_ls amdgpu_ps amdgpu_vsranyanyregcc appendingarcp argmemonlyargsarm_aapcs_vfpcc arm_aapcscc arm_apcsccashrr(r atomicrmw attributesavailable_externally avr_intrcc avr_signalccbitbitcastbitMask blockaddress blockcountr& branchFunnelbuiltinbyArgbyrefbyte byteArraybyvalcrUcallbrcalleecallercalls canAutoHidecatchcatchpadcatchret catchswitchccccccfguard_checkcccleanup cleanuppad cleanupretcmpxchgcoldcoldcccomdatcommonconstantcontract convergentcriticalcxx_fast_tlscc datalayoutdeclarer definedeplibsdereferenceabledereferenceable_or_nulldistinct dllexport dllimport dso_localdso_local_equivalentdso_preemptabledsoLocaleqexact exactmatch extern_weakexternalexternally_initializedextractelement extractvaluefaddfalsefastfastccfcmpfdivfencefilterflagsfmulfnegfpextfptosifptouifptruncfreezefremfromfsub funcFlagsrgc getelementptrghcccr_guidgvhashhhvm_ccchhvmcchiddenhothotnessicmpifuncinaccessiblemem_or_argmemonlyinaccessiblememonlyinallocainboundsindir indirectbrinfo initialexecinline inlineBits inlinehintinrangeinreg insertelement insertvalueinstsintel_ocl_bicc inteldialectinternalinttoptrinvoke jumptablekind landingpadlargestlinkagelinkonce linkonce_odrliveloadlocal_unnamed_addr localdynamic localexeclshrrmetadatarminsizer monotonic msp430_intrccr mustprogressmusttailnakedrJnandnenestninfnnannoalias nobuiltin nocallback nocapture nocf_check noduplicate noduplicatesnofreenoimplicitfloatnoinlinenoInlinenomergenone nonlazybindnonnull noprofile norecurse noRecurse noredzonenoreturnnosyncnotailnotEligibleToImportnoundefnounwindnswnsznullnull_pointer_is_validnuwoeqoffsetogeogtoleoltoneopaque optforfuzzingoptnoneoptsizerordparamparams partitionpath personalityphipoison preallocatedprefixpreserve_allccpreserve_mostccr`prologue protectedptrtoint ptx_device ptx_kernelreadnonereadNoner^readOnlyreassocrefsrelbfreleaseresByArgresumer"returnDoesNotAliasreturned returns_twice safestacksamesizesanitize_addresssanitize_hwaddresssanitize_memorysanitize_memtagsanitize_threadsdivsectionselectseq_cstsextsgesgtshadowcallstackr shufflevector sideeffectsignextsingle singleImplsingleImplNamesitofpsizeM1sizeM1BitWidthslesltsource_filename speculatablespeculative_load_hardening spir_func spir_kernelsremsretsspsspreq sspstrongstorestrictfpr summariessummaryswiftcc swifterror swiftselfswitch syncscopetailtailcctarget thread_localtotokentripletruertypetypeCheckedLoadConstVCallstypeCheckedLoadVCallstypeidtypeidCompatibleVTable typeIdInfotypeTestAssumeConstVCallstypeTestAssumeVCalls typeTestRes typeTestsudivuequgeugtuitofpuleultumaxuminundefune uniformRetVal uniqueRetValunknown unnamed_addruno unordered unreachableunsatunwindurem uselistorderuselistorder_bbuwtableva_argvarFlagsvariablevcall_visibilityvFuncIdvirtFuncvirtualConstPropvoidvolatilevscale vTableFuncsweakweak_odr webkit_jsccwin64ccwithinwpdReswpdResolutions writeonlyx x86_64_sysvccx86_fastcallcc x86_intrccx86_mmx x86_regcallcc x86_stdcallccx86_thiscallccx86_vectorcallccxchgrzeroextzeroinitializerzextimmarg willreturnr/r)rhalfbfloatrdoublefp128x86_fp80 ppc_fp128labelr9rx86_amxrptrr)r<r0rN)rFrGrHrIrJurlrKrLrMrNrP block_labelrrrSrXrrrrrrrrrrr]r^rErCrr\s D .ChGIIF+f4s:J#j0K L !7 "DJJ / I  J  . J  4 4 5 dmm-- . dmm** + dmm** + J  . dmm-- . V^V $ !6 * rzT For LLVM MIR examples without the YAML wrapper. .. versionadded:: 2.6 z LLVM-MIR Body%https://llvm.org/docs/MIRLangRef.htmlz llvm-mir-body)liveins successorsr1rz4bb\.[0-9]+(\.[a-zA-Z0-9_.-]+)?( \(address-taken\))?:z5bb\.[0-9]+ \(%[a-zA-Z0-9_.-]+\)( \(address-taken\))?:z%bb\.[0-9]+(\.\w+)?z%stack\.[0-9]+(\.\w+\.addr)?z %subreg\.\w+z%[a-zA-Z0-9_]+ *vregr_zintrinsic\(\@[a-zA-Z0-9_.]+\)) rrArrrrrrrrz intpred\(z\))rwr) rcrirfrerhrgrrrrz floatpred\(z\$\w+=a(G_ANYEXT|G_[SZ]EXT|G_SEXT_INREG|G_TRUNC|G_IMPLICIT_DEF|G_PHI|G_FRAME_INDEX|G_GLOBAL_VALUE|G_INTTOPTR|G_PTRTOINT|G_BITCAST|G_CONSTANT|G_FCONSTANT|G_VASTART|G_VAARG|G_CTLZ|G_CTLZ_ZERO_UNDEF|G_CTTZ|G_CTTZ_ZERO_UNDEF|G_CTPOP|G_BSWAP|G_BITREVERSE|G_ADDRSPACE_CAST|G_BLOCK_ADDR|G_JUMP_TABLE|G_DYN_STACKALLOC|G_ADD|G_SUB|G_MUL|G_[SU]DIV|G_[SU]REM|G_AND|G_OR|G_XOR|G_SHL|G_[LA]SHR|G_[IF]CMP|G_SELECT|G_GEP|G_PTR_MASK|G_SMIN|G_SMAX|G_UMIN|G_UMAX|G_[US]ADDO|G_[US]ADDE|G_[US]SUBO|G_[US]SUBE|G_[US]MULO|G_[US]MULH|G_FNEG|G_FPEXT|G_FPTRUNC|G_FPTO[US]I|G_[US]ITOFP|G_FABS|G_FCOPYSIGN|G_FCANONICALIZE|G_FMINNUM|G_FMAXNUM|G_FMINNUM_IEEE|G_FMAXNUM_IEEE|G_FMINIMUM|G_FMAXIMUM|G_FADD|G_FSUB|G_FMUL|G_FMA|G_FMAD|G_FDIV|G_FREM|G_FPOW|G_FEXP|G_FEXP2|G_FLOG|G_FLOG2|G_FLOG10|G_FCEIL|G_FCOS|G_FSIN|G_FSQRT|G_FFLOOR|G_FRINT|G_FNEARBYINT|G_INTRINSIC_TRUNC|G_INTRINSIC_ROUND|G_LOAD|G_[ZS]EXTLOAD|G_INDEXED_LOAD|G_INDEXED_[ZS]EXTLOAD|G_STORE|G_INDEXED_STORE|G_ATOMIC_CMPXCHG_WITH_SUCCESS|G_ATOMIC_CMPXCHG|G_ATOMICRMW_(XCHG|ADD|SUB|AND|NAND|OR|XOR|MAX|MIN|UMAX|UMIN|FADD|FSUB)|G_FENCE|G_EXTRACT|G_UNMERGE_VALUES|G_INSERT|G_MERGE_VALUES|G_BUILD_VECTOR|G_BUILD_VECTOR_TRUNC|G_CONCAT_VECTORS|G_INTRINSIC|G_INTRINSIC_W_SIDE_EFFECTS|G_BR|G_BRCOND|G_BRINDIRECT|G_BRJT|G_INSERT_VECTOR_ELT|G_EXTRACT_VECTOR_ELT|G_SHUFFLE_VECTOR)\bz6(COPY|PHI|INSERT_SUBREG|EXTRACT_SUBREG|REG_SEQUENCE)\b)killedimplicitz (i[0-9]+)( +) constantintz(half|float|double) + constantfloatintegerz(::)( *)mmo;.*z [a-zA-Z0-9_]+z [(), \n]+z(?=.)r7rz ( *)(:(?!:)))r7vreg_bank_or_classz( *)(\() vreg_typez( *)(_)z( *)([a-zA-Z0-9_]+)z( *)([sp][0-9]+)z( *)(<[0-9]+ *x *[sp][0-9]+>)z\(z +) r4ronintorrr;rrrrz%ir\.[a-zA-Z0-9_.-]+z%ir-block\.[a-zA-Z0-9_.-]+z[-+],z\), \(z-?[0-9]+z-?[0-9]+\.[0-9]+(e[+-][0-9]+)?z\@[a-zA-Z0-9_.]+) r<rrrrrrrrr_N)rFrGrHrIrJr rKrLrMrrrrSrXrrBuiltinrrYrrrrrr MagicrrrWrr]r^rErCrrs D 1CGII ,S 97 C Ddjj Q Etzz R #TZZ 0 ,d 3 d # $-- 8 H  -t}}/C/C D #/?@D  N "*8H \\ v}} % 8 $0\\1 4G \\ ) *G 4 x jA= Q %w||_ E I  (8Z8% @ W  t $ 4 OH V I  tV $ G  tV $ hz7;=[ \ (:t4k B tV $  *dmm.A.AB C #Xj$--%H I (:t4k B tV $  !(:w||"D E -x GLL/Q R D& ! tV $  DM J  @A  %d + *D 1 h  I  H  ;    D& ! !&..134fllCD')=)=>?y}FrErc~eZdZdZdZdZdgZdgZdefde dfd e d fd e fgd e d fde e e fgdefd e d fde dfedde dfedde dfedde fde dfde fdefg defed gdej$fed gdefed gd e dfd e e efd!e e efgd"Zy#)$ran Lexer for the overall LLVM MIR document format. MIR is a human readable serialization format that's used to represent LLVM's machine specific intermediate representation. It allows LLVM's developers to see the state of the compilation process at various points, as well as test individual pieces of the compiler. .. versionadded:: 2.6 zLLVM-MIRrzllvm-mirz*.mir#.*z--- \|$llvm_irz---llvm_mirz[^-#]+|.z(\.\.\.|(?=---))r7z((?:.|\n)+?)(?=(\.\.\.|---))zname:rJ) alignmentr1rrQ) legalizedregBankSelectedtracksRegLivenessselectedexposesReturnsTwiceboolean) registersstack fixedStackr frameInfomachineFunctionInfoz body: *\| llvm_mir_bodyz.+r:z[^\n]+z *(true|false)z *[0-9]+z#pop:2z((?:.|\n)+?)(?=\.\.\.|---)z(?!\.\.\.|---)((?:.|\n)+))r<r%r&rJr-rQr3N)rFrGrHrIrJr rKrLrrr rrrrrrr r!rrr]r^rErCrrvs  D 1ClG I W  ) , Wj ) $   !'6 2 ,huY7G.H I  W  '6 2 w ' ? ' 3 7 ' 4+ ' )7O 4 DM J ) .  FO  - FO & ! FO !'8 4 *HU;K5L,M N*8E:J4K+L M  g=FrErcReZdZdZdZdgZgdZdgZdZdZ dZ d Z d Z d Z e d ze zZd ZdZdZdZdZdZej,ej.zZdej4dfede dzej:fde zeej>e e!jDdfee!dfee!jDdfe ejFdfde fgee$fe e%jLfe e%jNfe e%jPfee%jRfe e%jTfedeejVfe ejXfde dfedg dej4fdejZdfdej4dfgde fde fd ejZfd!ejZfgd"e.fd#e/fd$e!j>fee/j`fee!jbfgd%Z2d&Z3y')(r z) For Nasm (Intel) assembly code. NASMnasm)*.asm*.ASMz*.nasmz text/x-nasmg?z[a-z$._?][\w$.?#@~]*,(?:0x[0-9a-f]+|$0[0-9a-f]*|[0-9]+[0-9a-f]*h)[0-7]+q[01]+br\.e?/"(\\"|[^"\n])*"|'(\\'|[^'\n])*'|`(\\`|[^`\n])*`(?:res|d)[bwdqt]|timesz(r[0-9][0-5]?[bwd]?|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]|k[0-7]|[xyz]mm(?:[12][0-9]?|3[01]?|[04-9]))\bzseg|wrt|strict|rel|absbyte|[dq]?wordz(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|EXPORT|LIBRARY|MODULE)(?=\s)^\s*%preprocr0r1z(%s)(\s+)(equ)r4r5r8r7[^;\n]+rr:[ \t]+rr$z [,{}():\[\]]+z[&|^<>+*/%~-]+[$]+r<r4rAr0r8cPtjd|tjryy)NPROCF)r>match IGNORECASErAs rCrDzNasmLexer.analyse_texts 88GT2== 1 2rEN)4rFrGrHrIrJrKrLrMpriorityrPhexnoctnbinndecnfloatnrNdeclkwrRwordopr directivesr>rI MULTILINErrPreprocrrrSrrVrr DeclarationrUrrr[OctBinrrWr!rXrYrrWordrr]rDr^rErCr r s6 DhG,IIH(J :D D D D G^d "F KF &F:H'F D2J MMBLL (Ew 2 L ! # tzz *  + G4G4GH" $"4 5 W((*< = (: ;  $  V  6::  6::  6::  V\\ " 6>> " M " t|| $  ' V , L !   )  / GOOV , J   # W^^ $ W^^ $  { +  ) g&& ' X]] # 7<<  K,F\rEr c6eZdZdZdZdgZdgZdgZee Z y)r!zO For the output of ``objdump -d -M intel``. .. versionadded:: 2.0 z objdump-nasmz*.objdump-intelztext/x-nasm-objdumpN) rFrGrHrIrJrKrLrMrdr r]r^rErCr!r!s0 DG"#I&'I "9 -FrEr!ceZdZdZdZdgZgdZdgZdZdZ dZ d Z d Z e d ze zZ d Zd ZdZdZdZdZdZej,ej.zZdej4dfededzej:feedfdededeej@e!ejDdfeejDdfeejFdfde!fgee$fe e%jLfe e%jNfe e%jPfe e%jRfe e%jTfedeejVfeejXfdee-e!ej\e!fde!dfedg dej4fd ej\dfd!ej4dfgd"e!fd#ee-e!fd$e!fd%ej\fgd&e/fd'e0fd(ej@fee0jbfeejdfgd)Z3d*Z4y+),r"z3 For Tasm (Turbo Assembler) assembly code. TASMtasm)r7r8z*.tasmz text/x-tasmz[@a-z$._?][\w$.?#@~]*r9r:r;rr<r=r>zs(r[0-9][0-5]?[bwd]|[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7])\bzseg|wrt|strictr?zBITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|ORG|ALIGN|STRUC|ENDSTRUC|ENDS|COMMON|CPU|GROUP|UPPERCASE|INCLUDE|EXPORT|LIBRARY|MODULE|PROC|ENDP|USES|ARG|DATASEG|UDATASEG|END|IDEAL|P386|MODEL|ASSUME|CODESEG|SIZEzdb|dd|dw|T[A-Z][a-z]+r@rAr0r1r4r`z)(\s+)(rr5r8z(\\)(\s*)(;.*)([\r\n])r7rBrr:z[\n\r]z (\\)([\n\r])rCrz [,():\[\]]+z[&|^<>+*=/%~-]+rDrEcPtjd|tjryy)NrGT)r>rHIrAs rCrDzTasmLexer.analyse_textzs 88GT244 ( )rEN)5rFrGrHrIrJrKrLrMrPrKrLrMrNrOrNrPrRrQrrRdatatyper>rIrSrrrTrrrSrrrVrrUrUrrr[rVrWrrWr!rXr rYrrrXrr]rDr^rErCr"r"*sR DhG,II)J :D D D D G^d "F KF &F8HF D4J )H MMBLL (Ew 2 L ! # tzz * "4 5!+X 6 G4G4GH" $W((*< = (: ;  $  V  6::  6::  6::  V\\ " 6>> " M " t|| $  ' & dJ C E V , L ! " )  / GOOV ,  # htZ8 9  # W^^ $  [ )  * g&& ' X]] # 7<<  Q/FbrEr"c eZdZdZdZdgZdgZejZ dde jfde fde jfd efd ej fd efd efd ej&fdej*fdej,fdej.fdefde fg iZdZy)r#z@ For ca65 assembler sources. .. versionadded:: 1.6 zca65 assemblerca65r)r<rr;z[a-z_.@$][\w.@$]*:z((ld|st)[axy]|(in|de)[cxy]|asl|lsr|ro[lr]|adc|sbc|cmp|cp[xy]|cl[cvdi]|se[cdi]|jmp|jsr|bne|beq|bpl|bmi|bvc|bvs|bcc|bcs|p[lh][ap]|rt[is]|brk|nop|ta[xy]|t[xy]a|txs|tsx|and|ora|eor|bit)\bz\.\w+z[-+~*/^&|!<>=]z "[^"\n]*.z '[^'\n]*.z\$[0-9a-f]+|[0-9a-f]+h\brz%[01]+z [#,.:()=\[\]]z[a-z_.@$][\w.@$]*cPtjd|tjryy)Nz^\s*;g?)r>r?rS)rmrBs rCrDzCa65Lexer.analyse_texts 99XtR\\ 2 3rEN)rFrGrHrIrJrKrLr>rIrrrYrrrSrPseudorrr\rr[rWrWrr]rDr^rErCr#r#s DhGI MME  W^^ $ Z "DJJ /! "w~~ &  ) 6 " 6;; ' (&** 5 V^^ $  # { + !4 (! F*rEr#c NeZdZdZdZdZdgZddgZdgZgdZ gd Z d Z d e zd ze zd zZ dZ dZddje zdzZde zdzZdZdZedde zej,fe dzej,feej.dfde zej.dfdefgeej4fe ej4feefge efedgdefded fed!edgded fd"ed fedgd#efd$ed%fed!ed&gd#efedeefed&gd'efd(efd)efgd*Zy+),r$z: For DCPU-16 Assembly. .. versionadded:: 2.4 DASM16z http://0x10c.com/doc/dcpu-16.txtdasm16z*.dasm16z*.dasmz text/x-dasm16)$SETADDSUBMULMLIDIVDVIMODMDIANDBORXORSHRASRSHLIFBIFCIFEIFNIFGIFAIFLIFUADXSBXSTISTDJSRINTIAGIASRFIIAQHWNHWQHWI)ABCXYZr^JSPPCEXPOPPEEKPUSHz[a-zA-Z0-9_$@.]r+r,r-z[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)z0b[01_]+z(?i)(rrz'\\?'r*c#K|jd}|j|jvrtjntj }|j ||fyw)Nr)raupper REGISTERSrrXrSstart)lexerrHidentklasss rCguess_identifierzDasm16Lexer.guess_identifiersF A!&%//!A tzzkkmUE))sA$A&r0r1r4r2 data-argsr5numericz\+z\]r7rcz;.*?$r z\[derefinstruction-liner:r;r)r<rrcrrr4rr0N)rFrGrHrIrJr rKrLrM INSTRUCTIONSrrOrPrQ binary_numberjoin instruction single_charrNrrrrSrUrrrWrrrr]r^rErCr$r$s D ,CjGX&I !I LI D!D(72T9D@J .FMSXXl33c9KD.3&K F* L ! : tzz * # tzz * $--); < Z  <  $  FNN + V^^ $ & ! ) * I  K K ( EN L !  V , w ' L ! ;  K ) EN & '  ;  I  V  & '  J  Z   a5FrEr$)*rIr>pygments.lexerrrrrrrr pygments.lexers.c_cppr r pygments.lexers.dr pygments.tokenr rrrrrrrrr__all__rrdrrrrrrrrr r!r"r#r$r^rErCrs 2$))) ' PzPf2j -: - :O :