j@A$ALPHA_MACRO64012.AїALPHA_MACRO64012.ABACKUP/NOASSIST/NODISMOUNT/COMMENT=OpenVMS AXP SPKITBLD Procedure/INTER/LOG/VERIFY ASM$DISK:[ASM.KITBUILD_20201CB9_A]*.* ASM$DISK:[ASM.KIT]ALPHA_MACRO64012.A/LABEL=(ALPHA_MACRO6)/SAVE/BLOCK=9000/GROUP=25OpenVMS AXP SPKITBLD Procedure SACKS )60` V6.2 _AFSPAS::  _DFSC37: V6.2 $)*[ASM.KITBUILD_20201CB9_A]HELP_MERGE.EXE;1+,8./ 4-2 0123 KPWO56 7R9 89GHJ  h(Ad0@4A7AHELP_MERGE_ALPHAV1.0A11-36$ $ $ $ $J$( 8~ DECC$SHR_001@i:"SYS$PUBLIC_VECTORS_0010"P `xp0 ` F0 P 0  0" p &&08"P %srrw%s%s%s2 %s2 %s%s%s%%HELP_MERGE-F-OPENIN, Error opening %s for input %%HELP_MERGE-F-OPENIN, Error opening %s for input %%HELP_MERGE-F-OPENOUT, Error opening %s for output Usage is HELP_MERGE filespec_master filespec_update filespec_out [alt_key] %%HELP_MERGE-F-NOUPDLEV2, Level 2 entry not found in update file %s %%HELP_MERGE-F-NOUPDLEV2, Level 2 entry not compatible with sub levels in update file %s # "~8^@^HcG0[#CGC>C8{4G>޶qZk(=0b#Y@ӰBbG4GTZkcG8]@]HP#kG#TG~^G`; ;[{6BsZkG] #k#~^^~ (0޴8@G`G1,GG1H1 h" $,1@ HH@@D! G.$ xB4GbPJJpZk%hD" $.Q2J'JP0BF d."B4GbPtJJ\pZk0@$,$H?$.G`¤$J| f"h `.UJJTBF2 G.#xB4GbPJJzpZk'&hD" $.Q2J'JP0BF d."B4GbPtJJ&pZk$,"(BG0bP0H4GJpZk.qH0@0@PJF>;.GuEJTJF>.0@J1d#h" D/9Z[KGKYYC9!G! G,$ xB4GbPHJ2pZkh"$" .!PJJAB!$D D.d"B4GbPSJJoZk0@,H?.Jc"s@@"@.JF@%/%K$G @e/eKdG`@@,@HD ?@ @@,HDE.0@GEJDFXF.WJ>]]} (0ݤ8@P#kG#~^^~ (0޴8@G(ۤ GGCC!00JJ@BD!C`4GQ_FEF3`@GƢ%#0⦘/XKKWCFGCpBxb4G0JJjoZkG&E"0" %.Q2J'JP0BF#&"0B( e.RStJgJRrBRAF)@G_G]]} (0ݤ8@P#kGe."pB4GxbPtJJ:oZk%,"0@A0H'H!&@a@G."@B4GHbPJJ\oZk%,G%HX!D?`B6 Gf"0 `.UJJTBF% G.#@B4GHbPJJPGGGGGGG BC(b?"GtG@Zk&b#_䰷@@"\@CkG@ DCG @é @é @é @ b0BC8bG1oBtGqqZkG]]} (0ݤ8@H=P`#kG#B~^ ^(~08@޴HPX>`GGGBG0D {#_(B&0b"4G2RZk8TG8B @bCFZkCBD@tGb2qZkb#_(B&0b"4GRZk8B@TG@bFZkCBD@tGbqZkb#j_(B&0b"4GRZk8B@ TG@bFZkCB D@tGbqZkb#R_(B&0b"4GQZk"`@)!`$Cb#V_CGGTGGXb#9_p%"BC tGbDDpZk(B&0b"4GQZk %"CBtG ,b HDDpZk(B&0b"4GQZkHB )C) .~Zk)C牠b#_CGGTGGXb#_& !"D% ")Cb# _hB ) CC}ZkhB"CC}ZkB"b@CGtGpZkCGGTGGXb#_ DpDpLCGGTGtGXb#_& !"D p )"C@_BGbtGGnpZkpCGGTGtGXb#_p% "C @D?G) HB)"C CD}ZkB@bGTGJpZk4G DG G_B@bGTG0@=pZk @@)CGGTGtGXb#_fp cbDC`HB`) )"CC}ZkB4G Db@GTGpZk `GB@bGTG0@pZk @@B) bCGtG pZkCGGTGtGXb#P_XBG`b4Gi tZk@BCbG tG DoZkxBCb?"GtGg~ZkB b@CGtGoZkxBi bC?"GtGV~ZkXB`bG4GtZkXBG`b4GtZkG]4G ](}08@ݤHPX=`p#kTX(0O0O  : @PpP`p @DECC$SHR@SYS$PUBLIC_VECTORS' HELP_MERGEDEC C V5.5-002(TRANSFER$BREAK$GOusage%       Heditj           ,$  line_level *  * (   @ 0          '  @R$ALPHA_MACRO64012.A82 )[ASM.KITBUILD_20201CB9_A]HELP_MERGE.EXE;1U?      @ advance_help4  #  # F 8  @ (main  X  X   t  X                                    8  0__main8 \ (*[ASM.KITBUILD_20201CB9_A]KITINSTAL.COM;1+,B .'/ 4j''J-2 0123KPWO(562" 7jD 89GHJN$ !***************************************************************************$ !3$ ! K I T I N S T A L . C O M$ !<$ ! COPYRIGHT (C) 1991,1992,1993 BY=$ ! DIGITAL EQUIPMENT CORPORATION, MAYNARD<$ ! MASSACHUSETTS. ALL RIGHTS RESERVED.$ !J$ ! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIEDM$ ! ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSIONF$ ! OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIESI$ ! THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHERN$ ! PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.$ !M$ ! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ANDN$ ! SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.$ !H$ ! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS;$ ! SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.$ !$ !N$ !***************************************************************************$ !$ on warning then exit $STATUS*$ on control_y then vmi$callback CONTROL_Y;$ if p1 .nes. "VMI$_INSTALL" then goto bypass_legal_notices$ type sys$input$ deckE MACRO-64 for OpenVMS AXP (TM) Systems V1.2 Installation ProcedureD Digital Equipment Corporation 1991-1997. All rights reserved.> Restricted Rights: Use, duplication, or disclosure by the ? U.S. Government is subject to restrictions as set forth in ; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in ? FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.B This software is proprietary to and embodies the confidential F technology of Digital Equipment Corporation. Possession, use, or F copying of this software and media is authorized only pursuant to F a valid written license from Digital or an authorized sublicensor.$ eod$bypass_legal_notices:$ dummy = f$verify(P2)$$C$ ! This procedure installs the MACRO-64 environment on the system.$ fac = "M64"$ ident = "MACRO64"$ ver = "012"$ name = "MACRO-64"$ command = "MACRO"$ intype = ".M64"$ outype = ".OBJ"$ lmf_name = name$ lmf_prod = "DEC" $ lmf_ver = "1.1"$ lmf_date = "1-NOV-1993"$ req_arch = "ALPHA"#$ req_arch_name = "OpenVMS AXP(TM)"$ min_vms_version = "V6.2";$ min_sys_blocks = 21000 ! Normal installation - number of$$ ! free blocks required (peak)$ min_global_pages = 20$ min_global_sections = 2>$ process_quotas = "ASTLM,BIOLM,BYTLM,DIOLM,ENQLM,FILLM,PRCLM"$ min_astlm = 24$ min_biolm = 18$ min_bytlm = 20480$ min_diolm = 18$ min_enqlm = 30$ min_fillm = 30$ min_prclm = 1$ lse_lmf_name = "VAXSET"$ lse_lmf_prod = "DEC"$ lse_lmf_ver = "11.0"$ lse_lmf_date = "07-AUG-1992"$ say = "write sys$output"$$$ !:$ ! Get the architecture of the system running VMSINSTAL.$ !$ !-$ arch_type = "''VMI$SYS_ARCHITECTURE'".$ if arch_type .eqs. "" then arch_type = "VAX"$!#$ if arch_type .nes. req_arch $ THEN SAY ""M$ SAY "This product can only be installed on ''req_arch_name'."H$ SAY "You are trying to install this product on another "*$ SAY "system architecture."$ SAY " " $ GOTO FINAL_ERROR$ ENDIF$9$ ! We only have INSTALL and IVP passes, no post install.$ !1$ if p1 .eqs. "VMI$_INSTALL" then goto do_install*$ if p1 .eqs. "VMI$_IVP" then goto do_ivp$ exit VMI$_UNSUPPORTED$ $do_install: $ on error then goto FINAL_ERROR$ SAY ""$ !$ ! Check the VMS version.$ !>$ VMI$CALLBACK CHECK_VMS_VERSION 'fac'$CHECK 'min_vms_version'$ IF .NOT. 'fac'$CHECK $ THEN SAY ""B$ SAY "This product requires at least version ''min_vms_version'"9$ SAY "of VMS. You are running an unacceptable version." $ SAY ""$ GOTO FINAL_ERROR$ ENDIF$ !2$ ! Check for the number of disk blocks available.$ !A$ VMI$CALLBACK CHECK_NET_UTILIZATION 'fac'$CHECK 'min_sys_blocks'$ IF .NOT. 'fac'$CHECK $ THEN SAY ""I$ SAY "This product requires at least ''min_sys_blocks' of free space"<$ SAY "in order to install on the system. You have too few"$ SAY "free blocks." $ SAY ""$ GOTO FINAL_ERROR$ ENDIF<$ VMI$CALLBACK SET SAFETY CONDITIONAL 'min_sys_blocks'$!=$! Check the number of GLOBAL pages and GLOBAL sections free $!0$ global_pages_required = min_global_pages6$ global_sections_required = min_global_sectionsV$ vmi$callback find_file MACRO64$DCL DCLTABLES.EXE VMI$ROOT:[SYSLIB] S DCL$FOUND.$ if DCL$FOUND .NES. "S" THEN GOTO NODCL<$ dcl_size = f$file_attributes ("MACRO64$DCL", "EOF")@$ global_pages_required = global_pages_required + dcl_size$ goto CHECK_GLOBAL_SIZES$!$NODCL:7$! Assume 1000 if we cannot find the file DCLTABLES.EXE<$ global_pages_required = global_pages_required + 1000$CHECK_GLOBAL_SIZES:L$ VMI$CALLBACK GET_SYSTEM_PARAMETER free_global_pages FREE_GBLPAGESO$ VMI$CALLBACK GET_SYSTEM_PARAMETER free_global_sections FREE_GBLSECTS$ $2$ IF global_pages_required .GT. free_global_pages $ THEN SAY ""H$ SAY "This product requires at least ''global_pages_required'" J$ SAY "free GLOBAL PAGES in order to install on the system.",$ SAY "You have too few free GLOBAL PAGES." $ SAY ""$ GOTO FINAL_ERROR$ ENDIF7$ IF global_sections_required .GT. free_global_sections $ THEN SAY ""K$ SAY "This product requires at least ''global_sections_required'" M$ SAY "free GLOBAL SECTIONS in order to install on the system."/$ SAY "You have too few free GLOBAL SECTIONS." $ SAY ""$ GOTO FINAL_ERROR$ ENDIF$ !/$ ! Check process quotas of installer's account$ i = 0$ insufficent_quota = "F"$process_quota_loop:)$ quota = f$element(i,",",process_quotas) $ i = i + 10$ if quota .eqs. "" then goto process_quota_loop6$ if quota .eqs. "," then goto process_quota_loop_exit$$ actual_quota = f$getjpi("",quota) $ min_quota = min_'quota'$ if actual_quota .gt. 0 -" .and. actual_quota .lt. min_quota$ then#$ if insufficent_quota then SAY ""$ insufficent_quota = "T"$ SAY -K"The account you use to install ''name' must have a ''quota' process quota" $ SAY - L"of at least ''min_quota'. The account you are using has a ''quota' process$ SAY -"quota of ''actual_quota'.$ $ endif$ goto process_quota_loop$!$proce(%$ALPHA_MACRO64012.AB 2 ([ASM.KITBUILD_20201CB9_A]KITINSTAL.COM;1j'd"ss_quota_loop_exit:$ if insufficent_quota$ then $ SAY ""$ SAY -D"Modify your account or use a different account to install ''name'." $ SAY ""$ GOTO FINAL_ERROR$ endif$ !$ !*$ ! Ask if they want a PURGE on the files.$ !$ VMI$CALLBACK SET PURGE ASK$$ SAY ""I$ SAY " This kit contains a file summarizing the new features, changes,"D$ SAY " restrictions, and compatibility issues in this release of "O$ SAY " ''name'. This file is named ''ident'''ver'.RELEASE_NOTES and will be"$ SAY " placed in SYS$HELP:."$ SAY ""D$ SAY " The release notes contains information valuable to ''name'"G$ SAY " users. Please inform ''name' users of this file's existence."$ SAY ""$ SAY ""N$ SAY " This kit also contains an Installation Verification Procedure (IVP) "N$ SAY " which can be used at any time to verify the installation of ''name'."O$ SAY " You can invoke the IVP after installation with the following command:"$ SAY ""&$ SAY " $ @SYS$TEST:''ident'$IVP"$ SAY ""G$ SAY " If you wish, you can also run the IVP automatically when the "+$ SAY " installation procedure completes."$ SAY ""$ !E$ ! Find out if they want to run the IVP as part of the installation.$ !$ VMI$CALLBACK SET IVP ASK!$ ! Skip LMF license check on VAX3$ if arch_type .eqs. "VAX" then goto SKIP_LMF_CHECK$ ! Check LMF licensing$ ($ vmi$callback confirm_license PAK_VAL -/ 'lmf_name' 'lmf_prod' 'lmf_ver' 'lmf_date'$$ if PAK_VAL then goto PAK_OK$$$ vmi$callback message W nolicense -j"Cannot run ''name' Installation Verification Procedure. ''lmf_name' V''lmf_ver' license not installed." $$ VMI$CALLBACK SET IVP NO$!$SKIP_LMF_CHECK:$PAK_OK:$ SAY ""-$ SAY " No further questions will be asked. ":$ SAY " Installation will take 2-10 minutes to complete. "$ SAY ""$ SAY ""$ SAY ""$ SAY ""$ !$ ! Provide the files.$ !I$ vmi$callback PROVIDE_IMAGE 'fac'$ 'ident'.EXE vmi$root:[SYSEXE]P$ vmi$callback PROVIDE_IMAGE 'fac'$ 'ident'$MSG.EXE vmi$root:[SYSMSG]P$ vmi$callback PROVIDE_FILE 'fac'$ 'ident''ver'.RELEASE_NOTES vmi$root:[SYSHLP]K$ vmi$callback PROVIDE_FILE 'ident'$IVP 'ident'$IVP.COM VMI$ROOT:[SYSTEST]:$ vmi$callback CREATE_DIRECTORY COMMON SYSTEST.'ident'$IVPV$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'$IVP'intype' VMI$ROOT:[SYSTEST.'ident'$IVP]V$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'$IVP'outype' VMI$ROOT:[SYSTEST.'ident'$IVP]A$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'.MLB VMI$ROOT:[SYSLIB]P$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'$HELLO.M64 VMI$ROOT:[SYSHLP.EXAMPLES]P$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'$WHAMI.M64 VMI$ROOT:[SYSHLP.EXAMPLES]M$ vmi$callback PROVIDE_FILE 'fac'$ 'ident'$PI.M64 VMI$ROOT:[SYSHLP.EXAMPLES]$ $$ !$ ! Provide the DCL command$ !'$ ccv$cld_file = "VMI$KWD:''ident'.CLD"$ gosub ccv$check_cld_version$ if ccv$status .ne. 1$ then?$ say "Error checking DCL's version of the ''command' command"$ goto final_error$ endif$ if ccv$update_needed$ then0$ VMI$CALLBACK PROVIDE_DCL_COMMAND 'ident'.CLD$ endif$ !%$ ! See if LSE is installed on system$ !c$ vmi$callback find_file 'ident'$LSE LSE$SYSTEM_ENVIRONMENT.ENV VMI$ROOT:[SYSLIB] S LSE$FOUND($ if LSE$FOUND .NES. "S" THEN GOTO NOLSE$!!$!,$! Check license of LSE -- dependent product$!%$ VMI$CALLBACK CHECK_LICENSE LSEPAK -? 'lse_lmf_name' 'lse_lmf_prod' 'lse_lmf_ver' 'lse_lmf_date'*$ IF .NOT. LSEPAK THEN GOTO NO_LSE_LICENSE$!!$ !$ ! Do LSE support$ !$ gosub qz$enter_quiet_zone*A$ lsedit/nodisplay/nosystem_environment/noenvironment/nosection - & /command=(VMI$KWD:'ident'LSE.TPU)$ gosub qz$exit_quiet_zone$ ! $$ ! Copy new ENV file to system area$ ! D$ vmi$callback provide_file 'ident'$lse LSE$SYSTEM_ENVIRONMENT.ENV -1 VMI$ROOT:[SYSLIB] ! $ GOTO HELP_INST$ !I$ ! No LSE support message.$ ! $NOLSE:N$SAY " "J$say "The ''name' installation procedure cannot install ''name' language "O$say "support for use with the Language Sensitive Editor (LSE) because LSE is "TO$say "not installed on your system. If you want ''name' language support for ".$say "use with LSE, you must:" $SAY " " $SAY " 1. Install LSE."3$SAY " 2. Register and load a valid LSE license. !$SAY " 3. Re-install ''name'."O $SAY " "CC$SAY " If you do not use LSE or you do not need ''name' language " D$SAY " support for LSE, there is no problem with your installation "$SAY " of ''name'."P$SAY " "$ GOTO HELP_INSY$ !T$ ! No LSE LICENSE message.*$ !*$NO_LSE_LICENSE:$SAY " "J$say "The ''name' installation procedure cannot install ''name' language "O$say "support for use with the Language Sensitive Editor (LSE) because LSE is "sI$say "not licensed for use on your system. If you want ''name' language"(*$say "support for use with LSE, you must:" $SAY " "a3$SAY " 1. Register and load a valid LSE license.e!$SAY " 2. Re-install ''name'."u $SAY " "oC$SAY " If you do not use LSE or you do not need ''name' language "aD$SAY " support for LSE, there is no problem with your installation "$SAY " of ''name'."2$SAY " " $ HELP_INS:-$ !t%$ ! Provide the DCL COMMAND LINE HELPw$ !sN$ vmi$callback find_file MACRO64$HELPLIB HELPLIB.HLB VMI$ROOT:[SYSHLP] - S HELP$FOUNDo8$ if HELP$FOUND .nes. "S" then goto no_master_help/$ master_help = "VMI$KWD:''command'_MASTER.HLP"t$ gosub qz$enter_quiet_zoneF$ library/help MACRO64$HELPLIB/extract='command' /output='master_help'$ gosub qz$exit_quiet_zonep<$ if f$search(master_help) .eqs. "" then goto no_master_help#$ help_merge := $VMI$KWD:help_merge O$ help_merge 'master_help' VMI$KWD:'ident'.HLP VMI$KWD:'ident'_MERGE.HLP /ALPHAuR$ vmi$callback PROVIDE_DCL_HELP 'ident'_MERGE.HLP ! $ goto help_done$!$no_master_help:+$ vmi$callback PROVIDE_DCL_HELP 'ident'.HLPi$! $help_done:V$ !$ ! Successful completion.$ !l$ exit VMI$_SUCCESS$$ ! $ ! Error completion.e$ !a$ FINAL_ERROR:#$ VMI$CALLBACK MESSAGE E INSTLABT -l1 "Aborting installation of ''name' due to error"L$ exit VMI$_FAILURERL$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$ ! $ ! Run the IVP $ !i $ do_ivp: $ @'ident'$IVP QUIET$ exit $status$!$! "O$!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++p#$! Subroutine CCV$CHECK_CLD_VERSIONiF$! This subroutine checks for the correct version of the command-lind %$! definition for the specified verb._$!G$! Inputs: CCV$CLD_FILE- String symbol containing the filespec of the $! .CLD file to check $!L$! Outputs: CCV$UPDATE_NEEDED - "F" if the current MACRO verb definition is 9$! at least up to the version found in the specified " $! .CLD file, "T" otherwise.7$! CCV$STATUS - 0 if error in .CLD file, 1 otherwiseO$! $! Linkage:N$! GOSUBO$!-----------------------------------------------------------------------------V$ccv$check_cld_version:_"$ ccv$status = 1 ! Assume success$ ccv$bad_verb = %X00038090$ ccv$bad_qual = %X00038240$ ccv$bad_keyword = %X00038060R#$ ccv$define_verb = "DEFINE VERB "e1$ ccv$define_verb_len = f$length(ccv$define_verb)'2$ ccv$cmdver_type = "DEFINE TYPE CMDVER_VERSIONS"1$ ccv$cmdver_type_len = f$length(ccv$cmdver_type)t$ ccv$keyword = "KEYWORD "*$ ccv$keyword_len = f$length(ccv$keyword)$!/$ open/read cld 'ccv$cld_file' /error=ccv$errorN$ ccv$verb = ""h$ ccv$cmdver = ""o$ccv$read_loop:i*$ read cld cld_rec /end=ccv$read_loop_exit3$ cld_rec = f$edit(cld_rec, "trim,compress,upcase")'H$ if f$extract (0, ccv$define_verb_len, cld_rec) .nes. ccv$define_verb -$ then goto ccv$check_cmdver_type<$ ccv$verb = f$extract (ccv$define_verb_len, 32767, cld_rec))$ ccv$verb = f$element (0, " ", ccv$verb)$ goto ccv$read_loop$!$ccv$check_cmdver_type:OH$ if f$extract (0, ccv$cmdver_type_len, cld_rec) .nes. ccv$cmdver_type - then goto ccv$read_loop$ccv$cmdver_loop: *$ read cld cld_rec /end=ccv$read_loop_exit3$ cld_rec = f$edit(cld_rec, "trim,compress,upcase")f@$ if f$extract (0, ccv$keyword_len, cld_rec) .nes. ccv$keyword -% then goto ccv$check_done_loopingO>$ ccv$new_cmdver = f$extract (ccv$keyword_len, 32767, cld_rec)5$ ccv$new_cmdver = f$element (0, " ", ccv$new_cmdver)iF$ if ccv$cmdver .eqs. "" .or. ccv$cmdver .lts. ccv$new_cmdver then - ccv$cmdver = ccv$new_cmdver$ goto ccv$cmdver_loop$!$ccv$check_done_looping:G$ if ccv$verb .eqs. "" .or. ccv$cmdver .eqs. "" then goto ccv$read_loopS$!k7 $ALPHA_MACRO64012.AB 2 ([ASM.KITBUILD_20201CB9_A]KITINSTAL.COM;1j'$ccv$read_loop_exit: $ close cld_C$ if ccv$verb .eqs. "" .or. ccv$cmdver .eqs. "" then goto ccv$errorc$ gosub qz$enter_quiet_zone $ ccv$verb /$CMDVER='ccv$cmdver'$ ccv$verb_status = $status"$ gosub qz$exit_quiet_zonec-$ if ccv$verb_status .eq. ccv$bad_verb -, .or. ccv$verb_status .eq. ccv$bad_qual -* .or. ccv$verb_status .eq. ccv$bad_keyword$ then$ ccv$update_needed = "T""$ else$ ccv$update_needed = "F"F$ endife$ return$! $ccv$error:l/$ ccv$status = 0 ! Failure - error in .CLD filei$ ccv$update_needed = "F" $ return$!O$!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++n5$! Subroutines QZ$ENTER_QUIET_ZONE/QZ$EXIT_QUIET_ZONEC$!K$! These two subroutines implement a concept I'll call a quiet zone. It's tO$! for those cases where you need to execute some DCL statements but you don't lH$! want message display or error/warning trapping to be enabled. Since @$! the VMI CONTROL_Y callback returns an error status to invoke H$! our KITINSTAL.COM's error handler to clean things up, we're going to 2$! have to do something with control-y interrupts.$!P$! QZ$ENTER_QUIET_ZONE turns off message display and error/warning trapping and I$! defers control-y processing. If the user mashes control-y while in a I$! quiet zone, any image that is running is immediately aborted (a quiet n@$! zone is not a critical region). However, execution skips to H$! the next DCL statement -- the VMI CONTROL_Y callback is not executed %$! until you call QZ$EXIT_QUIET_ZONE.i$!C$! Use the QZ$EXIT_QUIET_ZONE subroutine to leave the quiet zone. sE$! QZ$EXIT_QUIET_ZONE reestablises message display and error/warning RH$! trapping. If control-y had been mashed while in the quiet zone, the K$! VMI CONTROL_Y callback is then invoked. The important thing to note is fL$! that message display and error/warning trapping is reestablished *before*D$! the VMI CONTROL_Y callback is invoked. If control-y had not been L$! mashed, QZ$EXIT_QUIET_ZONE returns normally after reestablishing message &$! display and error/warning trapping.$!J$! Each call to QZ$ENTER_QUIET_ZONE must be paired on all execution paths L$! with a corresponding call to QZ$EXIT_QUIET_ZONE. Usually the quiet zone I$! encompasses only a single DCL statement. For instance, accessing the cM$! macro help in the system help library -- we don't want to raise a fuss of nG$! macro help is not present in the system help library. Bear in mind "I$! that the quiet zone does not turn control-y interrupts off -- running o@$! images still abort with control-y. Do not do a PROVIDE_FILE D$! callback or any other VMI callback within a quiet zone. Be very K$! careful if you have more than one DCL statement in a quiet zone because AF$! any statement within the quiet zone may be aborted with control-y, H$! and control will simply pass to the next statement as though nothing I$! had happened. So you can't rely upon one statement completing before G$! you execute the next. In addition, if you have multiple statements CH$! in a quiet zone, the user can mash control-y with one of the earlier E$! statements, but the installation does not actually begin to abort IC$! until you exit the quiet zone. Therefore, if one of the latter eK$! statements in the quiet zone takes a long time to execute, the user can J$! be left in the lurch not quite knowing if the installation is going to $$! obey and abort as s/he commanded.$!>$! This is real-time programming of a sort. Be on your guard.$!$! Linkage: GOSUB O$!-----------------------------------------------------------------------------T$qz$enter_quiet_zone: I$ qz$quiet = "set message/notext/nofacility/noidentification/noseverity"9$ qz$noquiet = "set message ''f$environment("message")'"$ qz$control_y_pending = 0C$ on control_y then qz$control_y_pending = qz$control_y_pending + 1l $ set noon $ qz$quiet$ return$!$qz$exit_quiet_zone: $ qz$noquiet$ set on*$ on control_y then vmi$callback CONTROL_Y<$ if qz$control_y_pending .gt. 0 then vmi$callback CONTROL_Y$ qz$control_y_pending = 0$ return,*[ASM.KITBUILD_20201CB9_A]MACRO64$HELLO.M64;1+,8H./ 4N -2 0123KPWO56rc 7O 89GHJ;++; MACRO64$HELLO.M64;F; Digital Equipment Corporation 1992, 1993. All rights reserved.;?; Restricted Rights: Use, duplication, or disclosure by the @; U.S. Government is subject to restrictions as set forth in <; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in @; FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.;C; This software is proprietary to and embodies the confidential G; technology of Digital Equipment Corporation. Possession, use, or G; copying of this software and media is authorized only pursuant to G; a valid written license from Digital or an authorized sublicensor.;M; This is a complete MACRO-64 program which uses the calling-standard macros H; in MACRO64.MLB. This example is one of three installed with MACRO-64:;?; MACRO64$HELLO.M64 - Simple Hello World program (this program)+; Demonstrates calling standard macros6; MACRO64$WHAMI.M64 - Program that displays WHAMI IPR ; Demonstrates system calls,; MACRO64$PI.M64 - Program that computes PI-; Demonstrates general programming with M; MACRO-64 along with optimization techniques;H; Digital suggests you become familiar with the concepts illustrated in ;; this simple example before you attempt to understand the :; MACRO64$WHAMI.M64 example or the MACRO64$PI.M64 example.;;I; This program calls the DEC C Runtime Library routine, printf, to print ; out the following: ;C; Digital Equipment Corporation 1992, 1993. All rights reserved./; Hello world, from Nashua, New Hampshire, USA!;M; The DEC C Runtime library is available with the OpenVMS AXP (TM) Operating K; System, regardless of whether you have purchased and installed the DEC C ; compiler product.;F; To run this program on OpenVMS AXP (TM), use the following commands:;;; $ macro/alpha_axp/object=hello sys$examples:macro64$hello; $ link hello ; $ run hello;--;++L; The $ROUTINE macro invocation below defines a routine named HELLO. HELLO D; is a stack frame procedure that maintains its caller's context on K; the SP stack. It saves and restores R2 in addition to the frame pointer K; register (FP, or R29). Since we do not specify the stack size, $ROUTINE E; computes the minimum size necessary given the values for the other H; arguments we've specified or defaulted. The $ROUTINE macro defines a G; linkage-section psect and code-section psect. By default, these are F; $LINK$ and $CODE$, respectively, and we will use the defaults. The H; $ROUTINE macro also defines the procedure descriptor for HELLO within N; the linkage section. By default, $ROUTINE generates a standard instruction H; prologue sequence that saves the specified or defaulted registers (in L; this case R2 & FP) and performs the required stack-frame management. The @; $ROUTINE macro leaves you in the code section when it is done.;--* $routine HELLO, kind=stack, saved_regs=r2;++N; The $LINAKGE_SECTION macro invocation below switches to the linkage-section &; psect of the current routine, HELLO.;-- $linkage_section;++7; The following are the strings to be passed to printf.;--COPYRIGHT_MSG:< .asciz - ; \xA9 is '', \x0A is , or '\n' in C parlanceJ"\xA9 Digital Equipment Corporation 1992, 1993. All rights reserved.\x0A" HELLO_MSG:$ .asciz "Hello world, from %s!\x0A" NASHUA_MSG:$ .asciz "Nashua, New Hampshire, USA";++H; The $CODE_SECTION macro invocation below switches to the code sectio|A^$ALPHA_MACRO64012.A8H2 ,[ASM.KITBUILD_20201CB9_A]MACRO64$HELLO.M64;1N n C; psect of the current routine, HELLO. Note that since we did not E; specify STANDARD_PROLOGUE=FALSE with the invocation of $ROUTINE to C; suppress generation of a standard prologue instruction sequence, A; $ROUTINE has already generated a standard instruction prologue ; sequence for us.;-- $code_section;++B; We currently have a pointer to our own linkage section in R27. K; However, the first call that we make will destroy that pointer, so we'll %; make a copy of the pointer into R2.;- mov r27, r2;++K; The $ROUTINE macro call above defined a symbol, $LS, which points to the L; base of the linkage section. We can use this with the .BASE directive to G; simplify our source code for accessing data in the linkage section. G; The following .BASE directive informs the assembler that R2 contains G; the address $LS. With that information, the assembler can then know L; which base register and absolute offset to use when you supply an address E; expression in place of a base register and absolute offset in your ; instruction statements.;-- .base r2, $LS;++9; Perform two calls to DECC$GPRINTF with the $CALL macro.%; The $CALL macro does the following:C; o allocates stack for arguments if needed (in this case, none is ; needed)C; o loads specified arguments into registers or onto the stack, as ; appropriate/; o sets the argument information register, R25K; o stores a linkage pair for DECC$GPRINTF in HELLO's linkage section9; o loads R26 with the code address of DECC$GPRINTFL; o loads R27 with the address of DECC$GPRINTF's procedure descriptor :; o performs the routine call with a JSR instructionB; o releases argument stack area if any and if the caller doesn't A; return a value on the stack (STACK_RETURN_VALUE=FALSE, which ; is the default);F; Note that access to HELLO's linkage section is achieved relative to ,; R2 by virtue of the .BASE directive above.;--) $call DECC$GPRINTF, args=COPYRIGHT_MSG/A5 $call DECC$GPRINTF, args=;++J; Now we'll set the routine return value to normal, successful completion.;-- MOV #1, R0;++E; Now we can return from HELLO to the operating system. The $RETURN H; macro generates a standard instruction epilogue sequence that restoresH; any saved registers and performs the necessary stack-frame management.;-- $return;++C; We must mark the end of each routine with the $END_ROUTINE macro.;-- $end_routine HELLO;++E; The .END directive takes an optional argument which is used as the I; program entry point. If specified, the argument must be the name of a F; global procedure descriptor that is defined within the module. The G; $ROUTINE macro defined the procedure descriptor for HELLO, so we can E; specify HELLO here to make HELLO be the entry point of our program.;-- .end HELLO**[ASM.KITBUILD_20201CB9_A]MACRO64$IVP.COM;1+,P- ./ 4yx-2 0123KPWO56r$x 7@X 89GHJ $ set noon$ pid = f$getjpi ("","pid")$ scratch = "SYS$SCRATCH:"7$!-----------------------------------------------------?$ prod_name = "MACRO-64 Assembler for OpenVMS AXP (TM) Systems"$ prod_id = "MACRO64"$ prod_ver = "V1.2"$ prod_intype = ".M64"$ prod_outype = ".OBJ"$ prod_swtypes = "|VMS|EVMS|"x$ prod_cmd_vms = "macro/alpha ''prod_id'$IVP''prod_intype'/nodebug/object=''scratch'''prod_id'$IVP_''pid'''prod_outype'"y$ prod_cmd_evms = "macro/alpha ''prod_id'$IVP''prod_intype'/nodebug/object=''scratch'''prod_id'$IVP_''pid'''prod_outype'"5$ prod_optfiles = "SYS$HELP:MACRO64012.RELEASE_NOTES"$ prod_reqfiles = ""7$!-----------------------------------------------------4$ if p1 .eqs. "QUIET" then goto bypass_legal_notices$ write sys$output ""3$ write sys$output " ", prod_name, " ", prod_ver$ type sys$input $ deck- Installation Verification Procedure (IVP)D Digital Equipment Corporation 1991-1997. All rights reserved.> Restricted Rights: Use, duplication, or disclosure by the ? U.S. Government is subject to restrictions as set forth in ; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in ? FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.B This software is proprietary to and embodies the confidential F technology of Digital Equipment Corporation. Possession, use, or F copying of this software and media is authorized only pursuant to F a valid written license from Digital or an authorized sublicensor.$ eod$!$bypass_legal_notices:$ delete := delete$ difference := difference$ exit := exit$ gosub := gosub$ goto := goto $ if := if$ open := open $ on := on$ read := read$ return := return $ set := set$ write := write$ success = %x10000001$ failure = %x100000046$ complain = "write sys$error ""%''prod_id'$IVP-F-"","6$ augment = "write sys$error ""-''prod_id'$IVP-I-"","3$ say = "write sys$output ""%''prod_id'$IVP-I-"","7$!-----------------------------------------------------F$ msg_ivpfailure = "FAILURE, ''prod_name' ''prod_ver' IVP has FAILED"E$ msg_ivpsuccess = "PASSED, ''prod_name' ''prod_ver' IVP has PASSED"@$ msg_systype = "SYSTYPE, Cannot recognize system software type"J$ msg_ivpdir = "IVPDIR, Cannot access SYS$TEST:[''prod_id'$IVP] directory"]$ msg_ivpsrc = "IVPSRC, File SYS$TEST:[''prod_id'$IVP]''prod_id'$IVP''prod_intype' not found"]$ msg_ivpref = "IVPREF, File SYS$TEST:[''prod_id'$IVP]''prod_id'$IVP''prod_outype' not found"M$ msg_process = "PROCESS, Error processing file ''prod_id'$IVP''prod_intype'"Y$ msg_output = "OBJOUT, ''prod_name' output file ''prod_id'$IVP''prod_outype' not found"P$ msg_difference = "DIFF, Error while differencing ''prod_id'$IVP''prod_outype'"K$ msg_verify = "VERIFY, Error while verifying ''prod_id'$IVP''prod_outype'"S$ msg_refdiff = "REFDIFF, ''prod_id'$IVP''prod_outype' differs from reference copy"2$ msg_optfile = "OPTFILE, Optional file not found"2$ msg_reqfile = "REQFILE, Required file not found"F$ msg_link = "LINK, Error linking ''scratch'''prod_id'$IVP_''pid'.EXE"E$ msg_run = "RUN, Error running ''scratch'''prod_id'$IVP_''pid'.EXE":$ msg_abort = "ABORT, IVP aborted by user keyboard action"8$!------------------------------------------------------"$ on warning then goto ivp_failure*$ on control_y then goto control_y_handler$ set on$ stage = "systype"$!($! Are we on an Alpha or VMS system ??$!$ swtype = "VMS";$ if f$getsyi("HW_MODEL") .EQ. 0 THEN SWTYPE = "EVMS">$ if f$getsyi("HW_MODEL") .GT. 1023 THEN SWTYPE = "EVMS"I$ if f$locate ("|''swtype'|", prod_swtypes) .ge. f$length(prod_swtypes) - then goto ivp_failure$!8$!------------------------------------------------------$ stage = "ivpdir"$$ defdir = f$environment ("default")1$ ivpd = f$search ("SYS$TEST:''prod_id'$IVP.DIR")$ if ivpd .eqs. "" then -? ivpd = f$search ("SYS$COMMON:[SYSTEST]''prod_id'$IVP.DIR")($ if ivpd .eqs. "" then goto ivp_failure%$ ivpdev = f$parse (ivpd,,,"device")*$ ivpparent = f$parse (ivpd,,,"directory")%$ ivpsubdir = f$parse (ivpd,,,"name")>$ ivpdir = ivpdev + (ivpparent - "]") + "." + ivpsubdir + "]"$ set default 'ivpdir'$ gosub process_'swtype'$ stage = "optfile"$ i = 0$optional_file_loop:*$ file = f$element (i, ",", prod_optfiles) $ i = i + 1/$ if file .eqs. "" then goto optional_file_loop5$ if file .eqs. "," then goto optional_file_loop_exit$ gosub optional_file$ goto optional_file_loop$!$optional_file_loop_exit:$ stage = "reqfile"$ i = 0$required_file_loop:*$ file = f$element (i, ",", prod_reqfiles) $ i = i + 1/$ if file .eqs. "" then goto required_file_loop5$ if file .eqs. "," then goto required_file_loop_exit$ gosub required_file$ goto required_file_loop$!$required_file_loop_exit:$ gosub cleanup$ say msg_ivpsuccess$ exit SUCCESS$! $ivp_failure:$ gosub cleanup$ complain msg_ivpfailure6$ if f$type (stage) .nes. "" then augment msg_'stage'$ exit FAILURE$! $cleanup::$ ifs$ALPHA_MACRO64012.AP- 2 *[ASM.KITBUILD_20201CB9_A]MACRO64$IVP.COM;1yXD  f$trnlnm ("DIF_''pid'") .nes. "" then close DIF_'pid'O$ if f$search ("''scratch'''prod_id'$IVP_''pid'''prod_outype'") .nes. "" then -7 delete 'scratch''prod_id'$IVP_'pid''prod_outype';*E$ if f$search ("''scratch'''prod_id'$IVP_''pid'.EXE") .nes. "" then -. delete 'scratch''prod_id'$IVP_'pid'.EXE;*E$ if f$search ("''scratch'''prod_id'$IVP_''pid'.DIF") .nes. "" then -. delete 'scratch''prod_id'$IVP_'pid'.DIF;*7$ if f$type (defdir) .nes. "" then set default 'defdir'$ return$!$optional_file:$ stage = "optfile")$ if f$search (file) .nes. "" then return$ say msg_optfile, ": ", file$ return$!$required_file:$ stage = "reqfile")$ if f$search (file) .nes. "" then return)$ msg_reqfile = msg_reqfile + ": " + file$ goto ivp_failure$ return$! $process_vms:$ stage = "ivpsrc"M$ if f$search ("''prod_id'$IVP''prod_intype'") .eqs. "" then goto ivp_failure$ stage = "ivpref"M$ if f$search ("''prod_id'$IVP''prod_outype'") .eqs. "" then goto ivp_failure$ stage = "process"$ prod_cmd_vms$ stage = "output"O$ if f$search ("''scratch'''prod_id'$IVP_''pid'''prod_outype'") .eqs. "" then - goto ivp_failure$ stage = "difference" $ difference/mode=hex/merged=0 -! 'prod_id'$IVP'prod_outype' -0 'scratch''prod_id'$IVP_'pid''prod_outype' -- /output='scratch''prod_id'$IVP_'pid'.DIF4$ delete 'scratch''prod_id'$IVP_'pid''prod_outype';*$ stage = "verify"6$ open/read DIF_'pid' 'scratch''prod_id'$IVP_'pid'.DIF$ passed = "F" $verify_loop:*$ read DIF_'pid' rec /end=verify_loop_exitL$ if rec .nes. "Number of difference records found: 1" then goto verify_loop$ passed = "T"$!$verify_loop_exit:$ stage = "refdiff"'$ if .not. passed then goto ivp_failure$ return$!$process_evms:$ stage = "ivpsrc"M$ if f$search ("''prod_id'$IVP''prod_intype'") .eqs. "" then goto ivp_failure$ stage = "process"$ prod_cmd_evms$ stage = "link"U$ link 'scratch''prod_id'$IVP_'pid''prod_outype'/exe='scratch''prod_id'$IVP_'pid'.EXE$ stage = "run"&$ run 'scratch''prod_id'$IVP_'pid'.EXE$ return$!$control_y_handler:$ stage = "abort"$ goto ivp_failure**[ASM.KITBUILD_20201CB9_A]MACRO64$IVP.M64;1+,,8./ 4N -2 0123KPWO56μ 7_ 89GHJ;++N; MACRO-64 for OpenVMS AXP (TM) Systems Installation Verification Procedure;L; Digital Equipment Corporation 1991, 1992, 1993. All rights reserved.;?; Restricted Rights: Use, duplication, or disclosure by the @; U.S. Government is subject to restrictions as set forth in <; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in @; FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.;C; This software is proprietary to and embodies the confidential G; technology of Digital Equipment Corporation. Possession, use, or G; copying of this software and media is authorized only pursuant to G; a valid written license from Digital or an authorized sublicensor.;--! $routine MACRO64$IVP, kind=stack $linkage_section IVP_STATUS: .quad 1 ; Success status3 $code_section ; Switch to the code section psect/ .base r27, $LS ; Tell assembler that r27->$LS% ldq r0, IVP_STATUS ; r0<-IVP_STATUS $return $end_routine.end MACRO64$IVP**[ASM.KITBUILD_20201CB9_A]MACRO64$IVP.OBJ;1+,8./ 4-2 0123KPWO56 7 i 89GHJ??.MAIN. 8-DEC-1997 15:17MACRO-64 V1.2-108  $ABS$$DATA$($LINK$i,$CODE$0J MACRO64$IVP\ \=0;=   L L=4,#~^G G #k **[ASM.KITBUILD_20201CB9_A]MACRO64$MSG.EXE;1+,8.*/ 4*)-2 0123 KPWO+56Ҹb 7Ҫp 89GHJ  h*Cd0@)էCMACRO64$MSG_ALPHAV1.0A11-36$L$J(@i:"SYS$PUBLIC_VECTORS_001e(K(K({QQQQ{  2(D0V8j@|HPX`hp x B T h       Ȁ Ѐ ؀8 L 耇` t       (0 `V hz p x    @   : x  ȁ ЁЇ؇臇.d4{ 4(082@HPNX`hpxX2lBȈЈB؈h與 @t* v(08"@PHPXJ`hpxX@n   ȉ8!Љ|!؉!!艇0""#B#r##{# "$(T$0$8$@$H8%P`%X%`%h%p4&x&'T'''|(((.))Ȋ*Њ`*؊*(+芇+,H,,,-\- -(-0.80.@X.H.P.X"/`V/h/p/xJ00f112243x33b4ȋ4Ћ$5؋~55苇v607788{889 9(90n:8:@;H;P;X<`<hN=p2>xv>>&?p??B@ȏ@Џ@؏*AA菇 B:BfBBBjCC tD(D0vEpExFbFFGDGGG HHIȗrIЗIؗJJJ$TOK0unrecognizable tokenTOK1"&"TOK2"'"TOK3"@"TOK4"\"TOK5":"TOK6"::"TOK7","TOK8"^C"TOK9 directiveTOK10 end of fileTOK11 end of lineTOK12"="TOK13"=="TOK14"!"&TOK15floating point literalTOK16>TOK17"#"TOK18 identifierTOK19"("TOK20<TOK21"-" TOK22integer literalTOis$ALPHA_MACRO64012.A82 *[ASM.KITBUILD_20201CB9_A]MACRO64$MSG.EXE;1*="K23opcodeTOK24"+"TOK25"?"TOK26 register nameTOK27")"TOK28"/"TOK29"*"TOK30string literal&TOK31local label definitionTOK32keywordTOK33"^"TOK34comment TOK35label definitionTOK36"."&TOK37local label reference$ OPTIMIZED_STR *Optimized* COMMANDLINECommand: INFO_SEV_STR*INFO* WARN_SEV_STR*WARN* ERROR_SEV_STR*ERROR* FATAL_SEV_STR*FATAL*,TEST0This error has no argumentsfINTERRUInternal processing error in the SYN facility. Please report the problem to Digital.TINTERNAL@Internal assembler error. Please report the problem to Digital.@ SAVESTACKOVER(Internal SEM PSECT .SAVE stack overflow.> EXPSTACKOVER'Internal SEM expression stack overflow.6 BADSYSCALL!Internal error. Bad system call.& BADVMSVERSBad VMS version.H INSVIRMEM3Virtual memory exhausted after assembling !SL lineslLASTGASPXVirtual memory exhausted again after reclaiming macro and back-patch storage -- aborting2 BADSTREXPRInvalid character expression* BADASCIISTRInvalid ascii stringJUNKENDISOPTION1You specified an unknown .ENABLE/.DISABLE option.6TEST1&This message has 1 argument, it is !AF8UNKDIR&Assembler found unknown directive !AF.PFOUNDEXPNo previous LDQ_NOP instruction issued for corresponding CALL.RNOCALLANo CALL instruction issued for corresponding LDQ_NOP instruction.^LNKDATAKLink time optimization instructions are only allowed in an EXE,NOMIX psect. INVREGNUMEXPInvalid register-number expression. Specify an integer expression between 0 and 31 or a previously-defined or predefined registerF INVGENMSGEXP/Invalid expression type for a generated message< EXPTOOCMPLX&Expression is too complex to evaluate.< INVBASEEXP'Invalid expression for .BASE directive.Z INVBASEREGDInvalid base register. Base register must be one of R0 through R30. MODCODLOCCTRRestoring the location counter in the current context causes an illegal modification of the location counter for a psect with the EXE and NOMIX attributes.d LOCCTRNOTDATALLocation counter cannot be set in a psect with the EXE and NOMIX attributes.^DATANOTINNOEXEEData declarations must be in a psect with the MIX or NOEXE attribute.F INSNOTINEXE/Instructions cannot be in a NOEXE, NOMIX PSECT.Z INSNOTINPSCCInstructions must be in a MIX, NOEXE; MIX,EXE; or NOMIX,EXE PSECT.: LABNOTINPSECT"Label must be declared in a PSECT.: TOOMANYARGS#Too many arguments for instruction.> NOTENOUGHARGS%Not enough arguments for instruction.B BADINSARG-Argument !SL is invalid for this instruction.V DIRNOTINNOEXE=Directive must be in a psect with the MIX or NOEXE attribute.FDATAALIGNTOBIG,Data requires alignment too large for PSECT.@ ALIGNTOBIG+Specified alignment is too large for PSECT.> INVEXPRFORDIR&Invalid expression type for directive.< INVEXPRFORSYM#Invalid expression type for symbol.& LABELNOTDEFUndefined label.4 BADENDARGBad argument to .END directive.< DUPLEXTERN'External item has multiple definitions.4 INVTEMPLABInvalid use of temporary label.4 RESTOREWOSAVEPSECT .RESTORE without .SAVE4 LABELREDECLIllegal redefinition of label.6 SYMBOLREDECLIllegal redefinition of symbol.6 CONPSECTATTRContradictory PSECT attribute.J PSECTATTRCON3PSECT attribute conflicts with earlier declaration.L PSECTALIGNCON3PSECT alignment conflicts with earlier declaration.8 BADOPERAND"Invalid operand type for operator.< ILLOPERANDMIX$Illegal operand mixing for operator.8BADALIGN$Alignment specifier is out of range.. UNKNOWNATTRUnknown PSECT attribute.X INVINSQUALCYou specified an invalid instruction qualifier list for the opcode.\NOTAQUALHAn item you specified in the qualifier list is invalid with this opcode.FNOQUAL4Instruction qualifiers are invalid with this opcode.INVBRTGTqA non-BSR branch-target label must be defined in same psect as the branch instruction which references the label.F DISPTOOLGE0Branch offset is too large for this instruction.INVBREXTA BSR branch-target label must be a label defined in the same psect, an external label, or a non-temporary label in a different psectT INVSAVEOPT?You specified an invalid option with the .SAVE_PSECT directive.X INVLISTOPTBYou specified an invalid option with the .LIST or .SHOW directive.\ INVNLISTOPTEYou specified an invalid option with the .NLIST or .NOSHOW directive.d INVFPCONSTNInvalid floating-point value. Check value range for floating-point data type.(GENERRORGenerated ERROR: !AF. GENERROREXPGenerated ERROR: !SL !AF~ ILLPROCRETiIllegal procedure return; linkage register (argument 1) must be R31 when software hint (argument 3) is 1.0NOTINSEMMissing functionality in SEM.lMAXLEXOPXMore than !SL lexical operators encountered; check for a recursive lexical string symbolX LEXOPENDMDIllegal modification of .ENDM directive keyword by lexical operationX LEXOPENDRDIllegal modification of .ENDR directive keyword by lexical operationD EXPMACRONAME,Assembler expected a valid macro name!/\!AF\6 BADPARAMSTRIllegal parameter string!/\!AF\>BADMACPARAMNAME#Illegal macro parameter name!/\!AF\@DUPMACPARAMNAME%Duplicate macro parameter name!/\!AF\rMACPARAMGENDEFXYou can specify a generated-label default value or a default string value, but not both.lMACPARAMSYNTAXRIllegal macro parameter syntax. Assembler found !AF when expecting one of { !AF }4TOOMANYMACPARAMToo many macro parameters.0 BADMACRONAMEIllegal macro name!/\!AF\. MISSINGENDMMissing .ENDM directive.N WRONGMACID8Macro name in .ENDM does not match corresponding .MACRO.4EOLEXP"Assembler expected an end of line.2 UNEXPMEXITUnexpected .MEXIT directive.0 UNEXPENDMUnexpected .ENDM directive.. MISSINGENDRMissing .ENDR directive.0 UNEXPENDRUnexpected .ENDR directive.V TOOMANYMACARG=You specified more arguments than are defined for this macro.(ILLIFOPIllegal .IF operator.0 UNEXPELSEUnexpected .ELSE directive.0 UNEXPENDCUnexpected .ENDC directive.<ILLINCL*Illegal .INCLUDE file specification!/\!AF\8LIBMOD_NOT_FOUNLibrary module !AF not found.LIBMOD_BADFORMALibrary module !AF contains illegal syntax (missing .MACRO or label preceding .MACRO, missing or not matching .ENDM, or other macro syntax error).0BADLIBError opening library file !AF.D NOTINMACRO.This statement must occur only within a macro.<MAXIF+Maximum nesting of .IF directives exceeded.` REDUNDELSEKYou cannot specify more than one .ELSE directive within a single .IF block.VMACELSExYou cannot specify .ELSE in the same .IF block with either .IF_FALSE (.IFF), .IF_TRUE (.IFT), or .IF_TRUE_FALSE (.IFTF).:UNEXPIFF&Unexpected .IF_FALSE (.IFF) directive.8UNEXPIFT%Unexpected .IF_TRUE (.IFT) directive.@ UNEXPIFTF,Unexpected .IF_TRUE_FALSE (.IFTF) directive. LEXOPSYNTAXIllegal lexical operator syntax (missing left or right parenthesis, missing comma, or other lexical operator syntax error)!/\!AF\@ LEXOPEDITSPEC(Unrecognized edit specifier: !AF!/\!AF\Z MACRECURSEDRecursive macro exceeds maximum macro expansion nesting depth!/\!AF\b MACEXPNESTMMacro expansion exceeds maximum nesting depth (macro recursion not detected).fLEXSYMU!AF is already a lexical string symbol name; it cannot also be a numeric symbol name.fNUMSYMU!AF is already a numeric symbol name; it cannot also be a lexical string symbol name. MACCASEMATCHqLibrary macro name is spelled using different alphabetic case than $$ALPHA_MACRO64012.A82 *[ASM.KITBUILD_20201CB9_A]MACRO64$MSG.EXE;1* "in .MCALL directive or macro invocation!/\!AF\2INCLOPEN.INCLUDE file open error!/\!AF\X INCLDEPTHD.INCLUDE nest depth exceeds !SL - check for circular .INCLUDE!/\!AF\,SRCREADError reading source file.LCONTEOF:Assembler encountered end of file after line continuation.DCONTLONG0Source line continuation exceeds !SL characters.*ILLASCIIIllegal ascii constant.V ASCIITRUNC@Ascii constant contains too many characters; value is truncated.*ILLBINIllegal binary constant.*ILLDECIllegal decimal constant.(ILLOCTIllegal octal constant..ILLHEXIllegal hexadecimal constant.\ILLRADIXIIllegal radix specifier in numeric constant; specify A, B, C, D, O, or X.@ILLEXPON,Illegal exponent in floating point constant.4ILLFLOAT Illegal floating point constant.HHEXSTR6Illegal hexadecimal escape sequence in string literal.^ESCAPELIllegal escape sequence in string literal; assembler expected \, ", x, or X.N MISSQUOTE9Missing closing double-quote character in string literal.< IDTOOLONG(Identifier is longer than 31 characters.INVCAYou specified an invalid code address with the procedure descriptor. The code address must be a non-temporary label defined in a psect with the EXE or MIX attribute after its use with .PROCEDURE_DESCRIPTOR.VUNDCAFYou specified an undefined code address with the procedure descriptor.\NOCALYou did not specify a code address as argument 2 with .PROCEDURE_DESCRIPTOR.WRONGPLThe code address you specify with the .PROCEDURE_DESCRIPTOR directive must occur BEFORE its definition as a local or global label.INVOFFvYou attempted to specify data initialization with a current psect offset that is outside the range of 0 to 2147483647.D INVOFFLAB0Invalid label specified with .OFFSETx directive.` INVALIGNFILLIYou specified an invalid optional fill pattern with the .ALIGN directive. EXPRESEXPuArgument !SL is invalid. Assembler expected an expression with no forward references resolvable to psect +/- offset.n EXPIDPROCZArgument !SL is invalid. Assembler expected an identifier representing a procedure value.T EXPGENREG@Argument !SL is invalid. Assembler expected a general register.ZEXPFPREGGArgument !SL is invalid. Assembler expected a floating point register.x EXPLITVALdArgument !SL is invalid. Assembler expected an integer literal value in the inclusive range 0..255. EXPPALOPLITiArgument !SL is invalid. Assembler expected an integer literal value in the inclusive range 0..67108863.BASEFAILArgument !SL is invalid. The assembler failed to find a base register specified with a previous .BASE directive to form a register expression of the form offset(Rn).v EXPREGOFFbArgument !SL is invalid. Assembler expected a general register expression of the form offset(Rn).`EXPLABOArgument !SL is invalid. Assembler expected a label defined in the same psect.z EXPZEROFFeArgument !SL is invalid. Assembler expected a general register expression of the form 0(Rn) or (Rn).ZBEGEXPSCG.BEGIN_EXACT is invalid in a psect with the NOEXE and NOMIX attributes.^UNTERMEXKAssembler detected !SL unterminated .BEGIN_EXACT directive(s) in psect !AF.XENDEXPSCE.END_EXACT is invalid in a psect with the NOEXE and NOMIX attributes.JNOBEGEX8Assembler encountered an unmatched .END_EXACT directive. EXP32BITTYPE|Assembler expected an integer in the range 0..(2^32)-1 for unsigned expression OR -(2^31)..+(2^31)-1 for signed expression..INVLPDInvalid procedure descriptor.dINVLCARAssembler found an invalid or undefined code address for the procedure descriptor.OVERLAPAssembler detected overlapping initializers at offset !SL. This initial value overlaps but is not an exact replacement for a previous initial value.TUNEXPERRAUnexpected error occurred. Please report the problem to Digital.IDFOUNDAssembler found identifier in the opcode field when expecting one of the following: opcode, directive, macro invocation, or symbol definition.X BYTEALIGNIGNAThe BYTE_ALIGN option has been replaced by the ALIGN_DATA option.Z ALIGNLABELIGNBThe ALIGN_LABEL option has been replaced by the ALIGN_CODE option. BASERANGEArgument !SL is invalid. The assembler attempted to use base register R!SL to form a register expression of the form offset(Rn). However, the argument offset exceeds the allowable range of -32768 .. +32767.D DEFINESYN/Illegal /DEFINE symbol-definition string!/\!AF\n NOTINARCHZInstruction is part of the !AF capability, which is not available in the !AF architecture.BTEST22This message has 2 arguments, they are !SL and !AFJ INSTNOTLW5Instruction occurs on other than a longword boundary.j BRTGTNOTLWTBranch target label is unaligned -- forcing longword alignment of the branch target.hREGREDEFUYou attempted to redefine a previously-defined register symbol with a different value^IREGDEFKYou cannot define an integer register in terms of a floating-point register^FREGDEFKYou cannot define a floating-point register in terms of an integer register, DUPLGLOBALDuplicate global name. EXP32BITTRUNCAssembler expected an integer in the range 0..(2^32)-1 for an unsigned expression OR -(2^31)..+(2^31)-1 for a signed expression. Data is truncated to 32 bits.(GENWARNGenerated WARNING: !AF0 GENWARNEXPGenerated WARNING: !SL !AF, TRUNCDATAData truncation warning.ZUNDEFSYMFUndefined symbol or label. Assembler assumes an .EXTERNAL definition.4 LIBMOD_EMPTYLibrary module !AF is empty.v LIBMOD_EXTRA^Library module !AF contains extraneous text after .ENDM; the assembler ignores the extra text..MISSENDCMissing .ENDC directive(s).ALIGNFILLTRUNCThe value you specify for the .ALIGN optional fill pattern must be an integer in the range of 0..255. Data truncation occurs with the currently specified fill pattern in a byte storage location.x ALIGNFILLIGNaThe optional .ALIGN fill-pattern argument is ignored in psects with the EXE and NOMIX attributes. INVREPCOUNTtThe integer value of the .REPEAT expression is not within the inclusive range of 0..65535. A zero value is assumed.~ IDENTTRUNCiThe string length of the module IDENT is greater than !SL characters. It is truncated to !SL characters.$SUCCESSNormal completion.JOPTIGN8The assembler is ignoring one or more VAX MACRO options.VAXDIRzThe assembler is ignoring one or more VAX MACRO directives or options. Assembler continues processing with the next line.(GENPRINTGenerated PRINT: !AF. GENPRINTEXPGenerated PRINT: !SL !AFHTEST38This message has 3 arguments, they are !SL, !AF and !AF.\MACZEROJAssembler cannot evaluate expression. A zero expression value is assumed.8INDEB'Inaccurate DEBUG information generated.ADDTRUNCtStoring an address expression into a storage allocation less than the size of an address results in data truncation.lMISPELMACARGKWRMacro-argument keyword is misspelled; using positional argument association!/\!AF\^SUMMARYKCompleted with !SL error(s), !SL warning(s), and !SL informational messagesh MACAUXMSGSThis condition occurred in the expansion of macro !AF at line !SL of its definitionp MACAUXMSG1[This condition occurred in the expansion of macro !AF at line !SL of its definition.!/\!AF\ MULTREGDEFMultiple values within the same routine are specified for the register symbol: !AF. For debugging purposes, the last value specified is used.. TOTAL_LINESTotal lines assembled: MACRO64TXp @SYS$PUBLIC_VECTORS f0$ALPHA_MACRO64012.A82 *[ASM.KITBUILD_20201CB9_A]MACRO64$MSG.EXE;1*)MMMACRO64$MSG_ALPHAV1.0 4-DEC-1997 13:49 4-DEC-1997 13:49Linker A11-36  .$$ABS$$. )*[ASM.KITBUILD_20201CB9_A]MACRO64$PI.M64;1+,8.</ 4N<<-2 0123KPWO=56 7y 89GHJ;++K; MACRO64$PI.M64 -- Based on original algorithm and C program by Remy Dube.;F; Digital Equipment Corporation 1992, 1993. All rights reserved.;?; Restricted Rights: Use, duplication, or disclosure by the @; U.S. Government is subject to restrictions as set forth in <; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in @; FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.;C; This software is proprietary to and embodies the confidential G; technology of Digital Equipment Corporation. Possession, use, or G; copying of this software and media is authorized only pursuant to G; a valid written license from Digital or an authorized sublicensor.;G; This is a complete MACRO-64 program which computes PI to a specified J; number of digits. This example is one of three installed with MACRO-64:;0; MACRO64$HELLO.M64 - Simple Hello World program+; Demonstrates calling standard macros6; MACRO64$WHAMI.M64 - Program that displays WHAMI IPR ; Demonstrates system calls;; MACRO64$PI.M64 - Program that computes PI (this program)-; Demonstrates general programming with M; MACRO-64 along with optimization techniques;H; Digital suggests you become familiar with the concepts illustrated in I; the MACRO64$HELLO.M64 example and the MACRO64$WHAMI.M64 example before 1; you attempt to understand this example example.;;G; The original algorithm implemented by this program is by Remy Dube. I; This MACRO-64 implementation is adapted from Remy's C implementation. K; While the algorithm and implementation are reasonably fast and accurate, C; the intent of this program is to illustrate MACRO-64 programming K; concepts rather than set world speed or precision records. This program K; illustrates the use of a number of optimization techniques, such as loop H; unrolling and routine inlining. In several instances, the context in J; which these techniques are applied causes the technique to yield only a G; marginal benefit. Furthermore, due to the decreased development and I; maintenance costs and increased portability associated with High Order K; Languages, it would not normally be advisable to write an entire program J; such as this in assembly language. Nonetheless, this program serves to J; illustrate a number of paradigms applicable to efficient programming in ; MACRO-64.;F; This program calls the DEC C Runtime Library to perform I/O and for K; other ancillary tasks. Note that the DEC C Runtime Library is available K; on all OpenVMS AXP systems, regardless of whether you have purchased and '; installed the DEC C compiler product.;K; To run this program on an OpenVMS AXP system, use the following commands:;5; $ macro/alpha_axp/object=pi sys$examples:macro64$pi ; $ link pi ; $ run pi;-- L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++1; ASSEMBLY-TIME CONSTANTSL;---------------------------------------------------------------------------0; Turn on optimizations and automatic alignment.3 .enable align_code, align_data, peephole, schedule*PRINT_WIDTH = 100 ; Width of output device2BIGINT_BYTES = 8 ; Number of bytes in a quadwordNBIGINT_SHIFTER = 3 ; L-Shift this much to convert array index to byte offsetBIGINT_BITS = BIGINT_BYTES * 8 L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/; MODULE VARIABLE DATAM; --------------------------------------------------------------------------- $data_sectionWEIGHT: .quad 0FILE_VAR: .quad 0LOG_4: .g_floating 0.0PRECISION: .quad 0IMAX: .quad 0CLUSTER_SIZE: .quad 0CLUSTER_VECT: .quad 0CLUSTER_VECT_SIZE: .quad 0ISTOP: .quad 0START: .quad 0FINISH: .quad 0DURATION: .quad 0"SCRATCH: .byte %repeat(99,<0,>)0>CLK_TCK: .g_floating 100.0 ; From DECC$LIBRARY_INCLUDE:TIME.HG1: .g_floating 1.0G4: .g_floating 4.0 L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'; UTILITY MACROSL;---------------------------------------------------------------------------;++ ; Macro IPOW<; Abstract: Integer power function for assembly-time values.+; Inputs: A - Value to be raised to a power+; B - Power to which to raise value*; Method: Multiply A times itself B times.;-- .macro IPOW A B RESULT% RESULT = %repeat(<>,<*>) 1 .endm IPOW H; The LOOP_UNROLL assembly-time variable is used to control manual loop H; unrolling: Use 0 For no loop unrolling, 1 for normal loop unrolling, ?; or a value greater than 1 for a higher, global unroll factor.LOOP_UNROLL = 1;++; Macro UNROLL ; Abstract:F; Macro UNROLL is used to assist in in manually unrolling a loop. H; It can be beneficial to repeat the body of a loop a number of times C; with branch-outs between each repetition to the loop exit. At I; the least, you gain the benefit of a a branch not taken vs. a branch J; taken. While this effect may not gain very much, when loop unrolling H; is combined with instruction scheduling (.ENABLE SCHEDULE), you may G; be able to schedule portions successive repetitions of the loop in H; parallel. See Appendix B of the MACRO-64 Assembler for OpenVMS AXP G; Systems Reference Manual for more information on this optimization ; technique.;K; To use UNROLL, you must define a macro that expands to the body of the F; loop. Specify the name of this macro with the BODY argument. YouE; must also specify 2 branch instruction statements: 1 that tests aH; condition and branches to the beginning of the loop to continue, andL; another that tests the opposite condition and branches to the end of theD; loop to exit. Specify the loop continuation statement with the F; CONTINUE argument. Specify the loop exit statement with the EXIT G; argument. Specify the target label for the loop-continue statementC; as %%LOOP_START%% and the target for the loop-exit statement asK; %%LOOP_END%%. For instance, the continue statement might be a BNE and L; the end statement would be BEQ, or vice versa. Often, you must precede I; the branch instruction with a comparison instruction. If so, specifyC; the comparison instruction statement with the COMPARE argument.;K; You can use the TEST_FIRST argument to specify the style of the loop. K; Specify 1 to get generate an exit test prior to the first iteration of B; the loop. Specify 0 to always execute the loop at least once.;I; You can experiment with different values for the FACTOR argument. A N; FACTOR of 0 or 1 results in a single copy of the loop body -- that is, no L; loop unrolling. FACTORs greater than 1 can improve runtime performance F; at the expense of increased code size. However, depending on the J; size of the loop body, too large a FACTOR can cause the repeated loop F; body to overflow the instruction cache, thus negatively impacting ; performance.;F; In addition, if the loop body contains a call to another routine, H; it is unlikely that the scheduler (.ENABLE SCHEDULE) will be able toI; concurrently schedule successive repetitions of the loop body. As a C; result, the benefit realized by unrolling the loop will likely I; reduce to the difference in cost between a branch taken and a branch +; not taken times the FACTOR you specify.;G; Thus, the best l QH$ALPHA_MACRO64012.A82 )[ASM.KITBUILD_20201CB9_A]MACRO64$PI.M64;1N<"oops to unroll are those that are in your critical I; performance path, contain a small number of instructions, and do not ; call other routines.; ; Inputs::; BODY - Name of the macro that expands to the loop bodyF; FACTOR - Specific repetition factor to use when unrolling the loopN; CONTINUE - A conditional branch instruction statement to continue the loopF; EXIT - A conditional branch instruction statement to exit the loopN; COMPARE - An optional comparison instruction to use prior to the CONTINUE ; or EXIT instructionI; TEST_FIRST - non-zero means test the exit condition prior to the 1st A; iteration, zero means always execute the loop at least onceM; UNROLL_LOOP (assembly variable) - Controls whether or not to unroll loopsE; or whether to increase the unroll factor for all unrolled loops; ; Outputs:>; The body of the loop is repeated FACTOR*UNROLL_LOOP times.;; Example usage:;); ; First define the loop body as a macro; .macro LOOP_BODY; ldq r0, (r5); lda r5, 8(r5); lda r1, 1(r1); .endm LOOP_BODY;2; ; Now invoke the UNROLL macro to unroll the loop2; UNROLL BODY=LOOP_BODY, FACTOR=3, TEST_FIRST=1, -(; COMPARE = , --; CONTINUE = , -(; EXIT = ;?; ; The above use of UNROLL would result in the following code E; ; being generated (where LOOP_START and LOOP_END are unique labels ); ; for each invocation of UNROLL):;>; cmple r0, r2, r22 ; These 2 instructions are suppressed 6; beq r22, LOOP_END ; if you specify TEST_FIRST=0; LOOP_START:; ldq r0, (r5); lda r5, 8(r5); lda r1, 1(r1); cmple r0, r2, r22; beq r22, LOOP_END; ldq r0, (r5); lda r5, 8(r5); lda r1, 1(r1); cmple r0, r2, r22; beq r22, LOOP_END; ldq r0, (r5); lda r5, 8(r5); lda r1, 1(r1); cmple r0, r2, r22; bne r22, LOOP_START ; LOOP_END:;--A.macro UNROLL BODY, FACTOR, CONTINUE, EXIT, COMPARE, TEST_FIRST=1! .if not_defined, UNROLL_INDEX UNROLL_INDEX = 0 .else UNROLL_INDEX = UNROLL_INDEX + 1 .endc; LOOP_START = "UNROLL_LOOP_START_%integer(UNROLL_INDEX)"9 LOOP_END = "UNROLL_LOOP_END_%integer(UNROLL_INDEX)"C UNROLL_HELPER , , <%LOOP_START%>, <%LOOP_END%>, -, , , , .endm UNROLL!; Helper macro for loop unrollingI.macro UNROLL_HELPER BODY, FACTOR, START, END, CONTINUE, EXIT, COMPARE, -o TEST_FIRST .if ne,  COMPARE EXITp .endca START:& .repeat <-1> * LOOP_UNROLL BODY  COMPARE EXITi .endrd BODY COMPARE CONTINUE END:.endm UNROLL_HELPERs fL;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-; MODULE LOCAL ROUTINESpL;---------------------------------------------------------------------------; $routine ASK_NUMBER_OF_DIGITS, kind=stack, local=true, -o% data_section_pointer=true, -w saved_regs=e;++yF; Abstract: Inquire from the user terminal who many digits to compute.; Inputs: Terminal I/OG; Outputs: PRECISION - Number of digits to compute, also returned in R0 ;--r $linkage_sectionx610$: .asciz "How many digits do you want to compute? "320$: .asciz "Computing PI with %-d digits \x0A\x0A"DD30$: .asciz "Please specify a positive, non-zero integer value.\x0A" $code_section. .base r27, $ls ; 1st access link sect w/r27- mov r27, r2 ; Later use r2 for link sect o ldq r3, $dp ; Access...e# .base r3, $ds ; ...data section , .base r2, $ls ; Now use r2 for link sect9100$: $call DECC$GPRINTF, args=10$/a ; Print "How many?"i- $call DECC$GETS, args=SCRATCH/a ; Get answerA" bne r0, 200$ ; Branch if not ^Z stq r0, PRECISION br 400$<200$: $call DECC$ATOL, args=SCRATCH/a ; Convert to longword bgt r0, 300$a5 $call DECC$GPRINTF, args=30$/a ; Print "be positive" br 100$)300$: stq r0, PRECISION ; Set precision'# ; Output "Computing with N digits"l? $call DECC$GPRINTF, args=<20$/a, r0/l>, scratch_regs=  ldq r0, PRECISION 400$: $returnl" $end_routine ASK_NUMBER_OF_DIGITS s2 $routine INITIALIZE, kind=stack, local=true, -& saved_regs=, - data_section_pointer=true;++u ; Abstract: Start up processing. ; Inputs: ; PRECISIONn ; Outputs:; LOG_4 - log10(4.0) ; IMAX - PRECISION/LOG_4h5; WEIGHT - Scale factor for various computationshH; CLUSTER_SIZE - Number of decimal digits represented in a quadword J; CLUSTER_VECT_SIZE - Number of quadwords needed for spec'd precision/; CLUSTER_VECT - Ptr to array of quadwords ,; CLUSTER_VECT[0..last] - Initialized to 0-; FILE_VAR - Opened for output to PI.DATn;--  $linkage_sectiona> .define_ireg POWX r4 ; r4 holds pow(2,BIGINT_BITS-4)/IMAX*10. .define_ireg W r5 ; r5 is temp for WEIGHT4 .define_ireg CS r6 ; r6 is temp for CLUSTER_SIZE9 .define_ireg CVS r7 ; r7 is temp for CLUSTER_VECT_SIZEs2 IPOW 2 T ; T=pow(2,BIGINT_BITS-4) 10$: .quad Th20$: .asciz "pi.dat"30$: .asciz "w"n240$: .asciz " PI WITH %-d digits \x0A \x0A" $code_section. .base r27, $ls ; 1st access link sect w/r27- mov r27, r2 ; Later use r2 for link sect  ldq r3, $dp ; Access...+# .base r3, $ds ; ...data section+, .base r2, $ls ; Now use r2 for link sect# .base r3, $ds ; ...data section-. $call DECC$GLOG10, args=G4/g ; r0=LOG10(4.0)# stg f0, LOG_4 ; LOG_4=LOG10(4.0)n. ldt f1, PRECISION ; Convert precision to... cvtqg f1, f1 ; ...G float' divg f1, f0, f1 ; f1=PRECISION/LOG_4e( cvtgq/c f1, f1 ; Convert to quadword& stt f1, IMAX ; IMAX=PRECISION/LOG_4 ldq $IA1, IMAX ; IA1=IMAX% mulq $IA1, #10, $IA1 ; IA1=IMAX*10  ;++A ; The OTS$DIV_L routine takes 2 quad word arguments and returns +D ; in r0 the quadword quotient of the first argument divided by the F ; second argument. OTS$DIV_L is in the sharable library LIBOTS.EXE, C ; which is available at link time by default. A similar routine, E ; OTS$DIV_I, is available in that same library for longword integer L ; division. ;--$ ; r0=pow(2,BIGINT_BITS-4)/(IMAX*10)' $call OTS$DIV_L, args=<10$/q, $IA1/q> R& ; POWX=pow(2,BIGINT_BITS-4)/(IMAX*10) mov r0, POWXC mov 1, W ; WEIGHT=10 mov 0, CS ; CLUSTER_SIZE=0) ; Loop computing WEIGHT and CLUSTER_SIZE - .macro LOOP_BODY ; Loop body for unrolling' mulq W, #10, W ; WEIGHT=WEIGHT*10+2 lda CS, 1(CS) ; CLUSTER_SIZE=CLUSTER_SIZE+1 .endm LOOP_BODY4 UNROLL BODY=LOOP_BODY, FACTOR=10, TEST_FIRST=1, -* COMPARE = , -. CONTINUE = , -' EXIT = ) stq W, WEIGHT ; Store local copies of 1 stq CS, CLUSTER_SIZE ; WEIGHT and CLUSTER_SIZEA& ldq $IA0, PRECISION ; IA0=PRECISION3 addq CS, $IA0, $IA0 ; IA0=PRECISION+CLUSTER_SIZE4 lda $IA0, -1($IA0) ; IA0=PRECISION+CLUSTER_SIZE-1- ; r0=(PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZEn$ $call OTS$DIV_L, args=<$IA0/q,CS/q>1 ; r0=((PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZE)+1r lda r0, 1(r0)@ ; CLUSTER_VECT_SIZE=((PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZE)+1 mov r0, CVS stq r0, CLUSTER_VECT_SIZE ; Allocate CLUSTER_VECT sll r0, #BIGINT_SHIFTER, r05 $call DECC$MALLOC, args=r0/l, scratch_regs=b stq r0, CLUSTER_VECTb7 .define_ireg CCA r0 ; r0 is current cluster addr ; Initialize CLUSTER_VECT% mov CVS, r1 ; r1=CLUSTER_VECT_SIZE !100$: stq r31, (CCA) ; *CCA = 0f lda r1, -1(r1) ; --r1" lda r0, BIGINT_BYTES(R0) ; CCA++% bgt r1, 100$ ; Branch if not done E9 $call DECC$FOPEN, args=<20$/a, 30$/a> ; Open output filee stq r0, FILE_VARf9 $call DECC$GFPRINTF, args=, -6 scratch_regs= $return .undefine_reg POWX  .undefine_reg W  .undefine_reg CS  .undefine_reg CVS  .undefine_reg CCA $end_routine INITIALIZE t/ $routine MULTIPLY_AND_DIVIDE, kind=stack, -i2 saved_regs=, -% data_section_pointer=true, -: local=true;++o@; Abstract: Walk the CLUSTER_VECTOR array performing a series of+; multiplications and divisions.o ; Inputs:h; IA0 - NUMERATOR; IA1 - DENOMINATORi,; ISTOP - Indicator of how much to compute ; WEIGHT; CLUSTER_VECT; CLUSTER_VECT[0..ISTOP] ; Outputs:; CLUSTER_VECT[0..ISTOP];--e. .base r27, $ls ; 1s M^J$ALPHA_MACRO64012.A82 )[ASM.KITBUILD_20201CB9_A]MACRO64$PI.M64;1N<f"!t access link sect w/r27- mov r27, r2 ; Later use r2 for link sect t ldq r3, $dp ; Access...D# .base r3, $ds ; ...data sectionm, .base r2, $ls ; Now use r2 for link sect/ .define_ireg TEMP r4 ; r4 is variable 'temp'r+ .define_ireg I r5 ; r5 is variable 'i'p, .define_ireg W r6 ; r6 is local WEIGHT1 .define_ireg CCA r7 ; r7 is curr cluster addrr1 .define_ireg NUM r8 ; r8 is local copy of NUMn1 .define_ireg DEN r9 ; r9 is local copy of DEN . .define_ireg CC r10 ; r10 is curr cluster clr TEMP ; TEMP=0h ldq I, ISTOP ; I=ISTOPs lda I, 1(I) ; I=ISTOP+1, ldq W, WEIGHT ; Load local copy of WEIGHT0 ldq CCA, CLUSTER_VECT ; CCA = &CLUSTER_VECT[0]( mov $IA0, NUM ; Get local copy of NUM( mov $IA1, DEN ; Get local copy of DEN! .macro LOOP_BODY ; Unroll loopm( mulq TEMP, W, TEMP ; TEMP *= WEIGHT ldq CC, (CCA) ; CC = *CCA' mulq NUM, CC, r22 ; r22 = CC * NUMo, addq TEMP, r22, TEMP ; TEMP += CC * NUM& $call OTS$DIV_L, - ; r0=TEMP/DEN args=$ stq r0, (CCA) ; *CCA=TEMP/DEN( mulq DEN, r0, r0 ; r0=DEN * (*CCA)/ subq TEMP, r0, TEMP ; TEMP -= DEN * (*CCA)e9 lda CCA, BIGINT_BYTES(CCA); Advance to next cluster * lda I, -1(I) ; Decrement loop index .endm LOOP_BODY4 UNROLL BODY=LOOP_BODY, FACTOR=8, TEST_FIRST=1, -, CONTINUE = , -% EXIT = e $return .undefine_reg TEMP  .undefine_reg I .undefine_reg W  .undefine_reg CCA  .undefine_reg NUM  .undefine_reg DEN  .undefine_reg CC ! $end_routine MULTIPLY_AND_DIVIDEu s ;++t ; Macro PROPAGATE_CARRYK ; Abstract: Walk the CLUSTER_VECTOR array in reverse order propagating N ; a carry out from one cluster to its predecessor as necessary.. ; (A manually inlined routine.) ; Inputs: / ; CA - register that holds &CLUSTER_VECT[0] ; WEIGHT ; CLUSTER_VECT[0..last]n ; Outputs: ; CLUSTER_VECT[0..last]  ;--N .macro PROPAGATE_CARRYt: .define_ireg CCA r0 ; r0 is addr of current cluster0 .define_ireg CC r1 ; r1 is current cluster6 .define_ireg CARRY r22 ; r22 is 'CARRY' variable. .define_ireg W r23 ; r23 is local WEIGHT clr CARRY ; CARRY=0w0 ldq W, WEIGHT ; load local copy of WEIGHT; ldq CCA, CLUSTER_VECT_SIZE ; CCA=sizeof(CLUSTER_VECT)t4 lda CCA, -1(CCA) ; CCA=sizeof(CLUSTER_VECT)-1; ; CCA=(sizeof(CLUSTER_VECT)-1)*sizeof(CLUSTER_VECT[0])O# sll CCA, #BIGINT_SHIFTER, CCA . addq CA, CCA, CCA ; CCA --> last cluster( .macro LOOP1_BODY ; Unroll loop 1 ldq CC, (CCA) ; r22 = *CCAo* addq CC, CARRY, CC ; r22 = *CCA + CARRY clr CARRY ; CARRY=0 % .macro LOOP2_BODY ; Unroll loop 2N$ subq CC, W, CC ; CC -= WEIGHT$ lda CARRY, 1(CARRY) ; CARRY++ .endm LOOP2_BODY4 UNROLL BODY=LOOP2_BODY, FACTOR=8, TEST_FIRST=1, -( COMPARE = , -0 CONTINUE = , -* EXIT = ' stq CC, (CCA) ; Save current clustere0 lda CCA, -BIGINT_BYTES(CCA) ; Backup 1 cluster .endm LOOP1_BODYR8 UNROLL BODY=LOOP1_BODY, FACTOR=2, TEST_FIRST=1, -' COMPARE = , -q- CONTINUE = , - ' EXIT = c .undefine_reg CCA .undefine_reg CCq .undefine_reg CARRY .undefine_reg W .endm PROPAGATE_CARRY r% $routine COMPUTE, kind=stack, -; saved_regs=, -T local=true, -% data_section_pointer=true, -  size=$rsa_end+16_;++ M; Abstract: Build up a binary representation of PI in the CLUSTER_VECT array.R;_ ; Inputs: ; PRECISION"; CLUSTER_SIZE; IMAX ; LOG_4; CLUSTER_VECT[0]B;> ; Outputs:; CLUSTER_VECT[0..last]>;; Notes:G; $ROUTINE defines the assembly-time variable $RSA_END as the offset lH; from the beginning of the stack frame to just beyond the end of the F; the register save area. You can use this variable both to define B; the stack size with $ROUTINE's SIZE argument as above, and in G; referencing the stack beyond the register save area. In this case,NH; we have allocated an additional 16 bytes of stack storage beyond theI; end of the register-save area. Note that the size of the stack frameU#; must be an even multiple of 16.-;--- $linkage_section-) .define_ireg I r4 ; r4 is variable 'I't0 .define_ireg CS r5 ; r5 is local CLUSTER_SIZE, .define_ireg TMP r6 ; r6 is variable 'TMP'4 .define_ireg CA r7 ; r7 is local &CLUSTER_VECT[0], .define_ireg PCC r8 ; r8 is variable 'PCC'$ .define_ireg I2M1 r9 ; r9 is 2*I-1- .define_ireg I4 r10 ; r10 is 4*I and 4*I+2r6 .define_freg I.G f2 ; f2 is variable 'I.G', G float  ; shadow of I) .define_freg L4 f3 ; f3 is local LOG_4P4 .define_freg ONE.G f4 ; f4 holds 1.0 in G floating $code_section. .base r27, $ls ; 1st access link sect w/r27- mov r27, r2 ; Later use r2 for link sect m ldq r3, $dp ; Access...f# .base r3, $ds ; ...data sectione, .base r2, $ls ; Now use r2 for link sect ldq I, IMAX ; I=IMAX ldt I.G, IMAX ; I.G shadows I' cvtqg I.G, I.G ; Convert to G format?# ldg L4, LOG_4 ; Load local LOG_4;0 ldq CS, CLUSTER_SIZE ; Load local CLUSTER_SIZE% ldq TMP, PRECISION ; TMP=PRECISIONl mov TMP, PCC ; PCC=PRECISIONn$ lda TMP, 2(TMP) ; TMP=PRECISION+23 addq CS, TMP, TMP ; TMP=CLUSTER_SIZE+PRECISION+2b. ldq CA, CLUSTER_VECT ; CA = &CLUSTER_VECT[0]1 addq PCC, CS, PCC ; PCC=PRECISION+CLUSTER_SIZEC2 lda PCC, -1(PCC) ; PCC=PRECISION+CLUSTER_SIZE-1- ; r0=(PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZEo# $call OTS$DIV_L, args=$. ; PCC=(PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZE mov r0, PCC& ldg ONE.G, G1 ; Load ONE.G with 1.0' .macro LOOP_BODY ?LABEL ; Unroll loopr# mulg I.G, L4, f0 ; f0=I*LOG_4C* cvtgq/c f0, f0 ; Convert to integer ;++> ; We must store F0 to memory in order to load it into an > ; integer register. Our invocation of the $ROUTINE macro? ; above allocated an additional 16 bytes of stack storage,a< ; 8 of which we will use now for that purpose. We can ? ; reference the stack beyond the end of the register save o9 ; area relative to the frame pointer, FP, using the $> ; $RSA_END assembly-time variable that is defined by the  ; $ROUTINE macro. ;--* stt f0, $rsa_end(fp) ; Put to memory1 ldq $IA0, $rsa_end(fp) ; Read back to I regi- ; IA0=(PRECISION-I*LOG_4+2+CLUSTER_SIZE)s subq TMP, $IA0, $IA0 ) $call OTS$DIV_L, args=<$IA0/q, CS/q>0( cmple r0, PCC, r1 ; result <= PCC?& bne r1, LABEL ; Yes, branch! mov PCC, r0 ; No, use PCC 2LABEL: stq r0, ISTOP ; ISTOP=min(result,PCC)# sll I, #1, I2M1 ; I2M1 = 2*Ir( lda I2M1, -1(I2M1) ; I2M1 = 2*I-1 sll I, #2, I4 ; I4 = 4*Is7 $call MULTIPLY_AND_DIVIDE, args=, -t local=true lda I4, 2(I4) ; I4=4*I+2=7 $call MULTIPLY_AND_DIVIDE, args=, -, local=true( ldq r0, (CA) ; r0=CLUSTER_VECT[0]- lda r0, 3(R0) ; r0=CLUSTER_VECT[0] + 3O* stq r0, (CA) ; CLUSTER_VECT[0] += 3 lda I, -1(I) ; I--M) subg I.G, ONE.G, I.G ; I.G shadows I= .endm LOOP_BODY4 UNROLL BODY=LOOP_BODY, FACTOR=4, TEST_FIRST=1, -- CONTINUE = , -+% EXIT = * PROPAGATE_CARRY ; Inlined routine call $return .undefine_reg I .undefine_reg CSS .undefine_reg TMP .undefine_reg CAi .undefine_reg PCC .undefine_reg I2M1O .undefine_reg I4b .undefine_reg I.G .undefine_reg L4t .undefine_reg ONE.G $end_routine COMPUTET -) $routine PRINT_RESULT, kind=stack, -$B saved_regs=,- local=true, -% data_section_pointer=true, -o size=$rsa_end+16C;++R2; Abstract: Print the results of the computation. ; Inputs:l,; START - seconds at start of computation*; FINISH - seconds at end of computation ; FILE_VAR ; PRECISIONO ; WEIGHT; CLUSTER_SIZE; CLUSTER_VECT_SIZE ; CLUSTER_VECT[0..last]; PRINT_WIDTHb;--3 $linkage_section 5 .define_freg SECONDS f2 ; f2 is variable 'SECONDS' 4 .define_ireg MINUTES r4 ; r4 is variable 'MINUTES'0 .define_ireg HOURS r5 ; r5 is variable 'HOURS'* .define_ireg I r6 ; r6 is variable 'I' - .define_ireg CCA r7 ; r7 is variable 'CCA' ( /I;$ALPHA_MACRO64012.A82 )[ASM.KITBUILD_20201CB9_A]MACRO64$PI.M64;1N<j 2+ .define_ireg CC r8 ; r8 is variable 'CC'=. .define_ireg CLIM r9 ; r9 is variable 'CLIM'+ .define_ireg J r10 ; r10 is variable 'J'S2 .define_ireg CS r11 ; r11 is local CLUSTER_SIZE+ .define_ireg W r12 ; r12 is local WEIGHTZ0 .define_ireg COUNT r13 ; r13 is variable COUNT. .define_ireg P r14 ; r14 is local PRECISION 10$: .asciz -RI" Calculation time : %-d hours %-d minutes %f seconds \x0A \x0A"T20$: .asciz "%-d."30$: .asciz "%-d"40$: .asciz "\x0A "50$: .asciz "\x0A" $code_section. .base r27, $ls ; 1st access link sect w/r27- mov r27, r2 ; Later use r2 for link sect  ldq r3, $dp ; Access...C# .base r3, $ds ; ...data section , .base r2, $ls ; Now use r2 for link sect ldq r22, FINISH ; r22=FINISHL ldq r23, START ; r23=STARTr( subq r22, r23, r23 ; r23=FINISH-START. stq r23, $rsa_end(fp) ; Convert FINISH-START" ldt f0, $rsa_end(fp) ; ...to... cvtqg f0, f0 ; ...G floating ldg f1, CLK_TCK ; f1=CLK_TCK_8 divg f0, f1, SECONDS ; SECONDS=(FINISH-START)/CLK_TCK# cvtgq/c SECONDS, f0 ; Convert...r' stt f0, $rsa_end(fp) ; ...to integert= $call OTS$DIV_L, args=<$rsa_end(fp)/q, 60/a> ; r0=SECONDS/60a' mov r0, MINUTES ; MINUTES=SECONDS/60i# mulq r0, #60, r0 ; r0=MINUTES*60c# stq r0, $rsa_end(fp) ; Convert... ! ldt f0, $rsa_end(fp) ; ...to...I cvtqg f0, f0 ; G floatingf3 subg SECONDS, f0, SECONDS ; SECONDS -= MINUTES*60 % $call OTS$DIV_L, - ; r0=MINUTES/60  args=e# mov r0, HOURS ; HOURS=MINUTES/60 $ mulq HOURS, #60, r0 ; r0=HOURS*601 subq MINUTES, r0, MINUTES ; MINUTES -= HOURS*60 $call DECC$GFPRINTF, -t< args=0 ldq CCA, CLUSTER_VECT ; CCA = &CLUSTER_VECT[0]9 ldq CLIM, CLUSTER_VECT_SIZE ; CLIM=sizeof(CLUSTER_VECT) 4 ; CLIM=sizeof(CLUSTER_VECT)*sizeof(CLUSTER_VECT[0])! sll CLIM, #BIGINT_SHIFTER, CLIM i6 addq CCA, CLIM, CLIM ; CLIM --> beyond last cluster' ldq CC, (CCA) ; CC = CLUSTER_VECT[0]e $call DECC$GFPRINTF, -0# args== mov 1, I ; I=10 ldq CS, CLUSTER_SIZE ; Load local cluster size6 lda CCA, BIGINT_BYTES(CCA) ; Advance to next cluster- cmplt CCA, CLIM, r0 ; Beyond last cluster?;, beq r0, 400$ ; Yes, branch to exit loop 1, ldq W, WEIGHT ; Load local copy of WEIGHT2 ldq P, PRECISION ; Load local copy of PRECISION clr COUNT ; COUNT=0 !100$: ldq CC, (CCA) ; CC = *CCA2 mov 1, J ; J=1% cmple J, CS, r1 ; J<=CLUSTER_SIZE?+ beq r1, 300$ ; No, branch7 to exit loop 2s#200$: mulq CC, #10, CC ; CC *= 10 1 $call OTS$DIV_L, args= ; r0=CC/WEIGHT  mov r0, $IA2 ; IA2=CC/WEIGHT;! mulq W, r0, r0 ; r0=IA2*WEIGHTC% subq CC, r0, CC ; CC -= IA2*WEIGHTl) cmple COUNT, P, r1 ; COUNT<=PRECISION?p beq r1, 210$ ; No, branch) sextl $IA2, $IA2 ; Convert to longword  $call DECC$GFPRINTF, -e% args= %210$: lda COUNT, 1(COUNT) ; COUNT++n- cmplt I, #PRINT_WIDTH, r0 ; I>=PRINT_WIDTH?r bne r0, 220$ ; No, branch clr I ; I=0N4 $call DECC$GFPRINTF, - ; Print linefeed + 2 spaces args=220$: lda I, 1(I) ; I++ lda J, 1(J) ; J++ % cmple J, CS, r0 ; J<=CLUSTER_SIZE?r0 bne r0, 200$ ; Yes, branch to continue loop 2;300$: lda CCA, BIGINT_BYTES(CCA) ; Advance to next cluster.- cmplt CCA, CLIM, r0 ; Beyond last cluster?)/ bne r0, 100$ ; No, branch to continue loop 1&* $call DECC$GFPRINTF, - ; Print linefeed  args=: 400$: $return_ .undefine_reg SECONDS .undefine_reg MINUTES .undefine_reg HOURS .undefine_reg I .undefine_reg CCA .undefine_reg CCe .undefine_reg CLIMe .undefine_reg J .undefine_reg CS2 .undefine_reg W .undefine_reg COUNT .undefine_reg P $end_routine PRINT_RESULT R$ $routine CLEANUP, kind=stack, - local=true, - data_section_pointer=true;++C$; Abstract: Perform shutdown trivia.; Inputs: FILE_VARe%; Outputs: The output file is closed.C;--R* .base r27, $ls ; Access lin:kage section ldq r22, $dp ; Access...# .base r22, $ds ; ...data sectiont# $call DECC$FCLOSE, args=FILE_VAR/qU $return $end_routine CLEANUPr *L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.; EXTERNAL ROUTINESL;---------------------------------------------------------------------------1 $routine PI, kind=stack, saved_regs=, -1+ data_section_pointer=true, local=false-;++ "; Abstract: Program entry point. ; Outputs:7; PI.DAT with the specified number of decimal places. ;--v $linkage_sectionCOPYRIGHT_MSG:< .asciz - ; \xA9 is '', \x0A is , or '\n' in C parlanceJ"\xA9 Digital Equipment Corporation 1992, 1993. All rights reserved.\x0A" $code_section. .base r27, $ls ; 1st access link sect w/r27- mov r27, r2 ; Later use r2 for link sect  ldq r3, $dp ; Access...e# .base r3, $ds ; ...data sectionY, .base r2, $ls ; Now use r2 for link sect4 $call DECC$GPRINTF, - ; Display copyright notice. args=COPYRIGHT_MSG/A,' $call ASK_NUMBER_OF_DIGITS, local=truet. bgt r0, 10$ ; Branch if positive precision% mov 1, r0 ; Return success statusb $return!10$: $call INITIALIZE, local=trueI $call DECC$CLOCKT stq r0, START $call COMPUTE, local=true $call DECC$CLOCK  stq r0, FINISH $call PRINT_RESULT, local=truet $call CLEANUP, local=true% mov 1, r0 ; Return success statust $return $end_routine PI .end PI,*[ASM.KITBUILD_20201CB9_A]MACRO64$WHAMI.M64;1+,8./ 4O-2 0123KPWO56 7R 89GHJ ;++; MACRO64$WHAMI.M64;F; Digital Equipment Corporation 1992, 1993. All rights reserved.;?; Restricted Rights: Use, duplication, or disclosure by the @; U.S. Government is subject to restrictions as set forth in <; subparagraph (c) (1) (ii) of DFARS 252.227-7013, or in @; FAR 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.;C; This software is proprietary to and embodies the confidential G; technology of Digital Equipment Corporation. Possession, use, or G; copying of this software and media is authorized only pursuant to G; a valid written license from Digital or an authorized sublicensor.;O; This is a complete MACRO-64 program which uses the SYS$CMKRNL OpenVMS System F; Service to change to kernel mode and determine the processor number G; with the MFPR_WHAMI privileged PALcode instruction. This example is '; one of three installed with MACRO-64:;0; MACRO64$HELLO.M64 - Simple Hello World program+; Demonstrates calling standard macrosD; MACRO64$WHAMI.M64 - Program that displays WHAMI IPR (this program) ; Demonstrates system calls,; MACRO64$PI.M64 - Program that computes PI-; Demonstrates general programming with M; MACRO-64 along with optimization techniques;H; Digital suggests you become familiar with the concepts illustrated in I; the simple, MACRO64$HELLO.M64 example before you attempt to understand -; this example or the MACRO64$PI.M64 example.;;N; When this program is executed from a process that has the CMKRNL privilege, I; the main routine, CHMK, calls SYS$CMKRNL (Change Mode to Kernel) which:;<; o Allows the calling process to change its access mode to ; kernel;B; o Executes another routine, WHAMI, which issues the privileged /; CALL_PAL MFPR_WHAMI instruction, and then ;O; o Returns to the access mode in effect before the SYS$CMKRNL call was issued;L; Upon return to the main routine, CHMK, the DEC C Runtime Library routine, "; printf, is called to print out: ;G; o The value which was contained in the Who-Am-I Register when it wasK; copied into the memory location WHAMI_IPR upon completion of executing;; CALL_PAL MFPR_WHAMI instruction in the routine WHAMI. ;D; o The status return value contained in R0 after execution of the ; routine SYS$CMKRNL. ;M; The DEC C Runtime library is available with the OpenVMS AXP (TM) Operating K; System, regardless of whether you have purchased and installed t ~1$ALPHA_MACRO64012.A82 ,[ASM.KITBUILD_20201CB9_A]MACRO64$WHAMI.M64;1OVhe DEC C ; compiler product.;D; Additionally, the R0 status value which is a status result of the G; SYS$CMKRNL system service call is returned in R0 by the main routine,; CHMK, to DCL.;;G; When this program is run from a process that does not have the CMKRNLH; privilege, the call to SYS$CMKRNL immediately returns an error status (; and the WHAMI routine is not executed.;I; Thus, different results are printed out depending on the privileges of A; the executing process. If the e xecuting process does not have >; the CMKRNL process privilege, the following is displayed : ;C; Digital Equipment Corporation 1992, 1993. All rights reserved.>; WHAMI_IPR = FFFFFFFFFFFFFFFF SYS$CMKRNL status = 000000248; %SYSTEM-F-NOPRIV, no privilege for attempted operation;C; Since the main program returns the failure status from SYS$CMKRNLC; in R0 to DCL, the system displays the message "%SYSTEM-F-NOPRIV, E; no privilege for attempted operation". Additionally, no new value E; is placed in the WHAMI_IPR memory location since the WHAMI routine E; does not execute. Thus you see the reserved processor number "-1" ; as the contents of WHAMI_IPR.;>; If the executing process does have the CMKRNL privilege, the3; following is a sample of what might be displayed:;C; Digital Equipment Corporation 1992, 1993. All rights reserved.>; WHAMI_IPR = 0000000000000000 SYS$CMKRNL status = 00000001;;F; To run this program on OpenVMS AXP (TM), use the following commands:;;; $ macro/alpha_axp/object=whami sys$examples:macro64$whami; $ link whami ; $ run whami;-- L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++/; MODULE VARIABLE DATAL;---------------------------------------------------------------------------;++B; This is the data section shared by the WHAMI and CHMK routines.;8; The location WHAMI_IPR contains the value returned byE; the CALL_PAL MFPR_WHAMI instruction. CALL_PAL MFPR_WHAMI returns K; the processor number in R0. This location is initialized to -1 because H; -1 is a reserved processor number and should never be returned in R0 K; by the CALL_PAL MFPR_WHAMI instruction. If this location remains at -1,:; it means that the CALL_PAL MFPR_WHAMI instruction never>; executed, and the routine WHAMI did not update the contents$; of the memory location WHAMI_IPR.;-- $data_section WHAMI_IPR:! .quad -1 ; Reserved WHAMI valueL;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++; LOCAL ROUTINESL;---------------------------------------------------------------------------6 $routine WHAMI, data_section_pointer=true, local=true;++B; The WHAMI routine is the routine which is called in kernel mode,; by the system service routine SYS$CMKRNL.;@; The WHAMI routine executes the privileged PALcode instructionB; CALL_PAL MFPR_WHAMI. Upon completion of this instruction, the I; value of the Who-Am-I internal processor register is returned in R0. L; The WHAMI routines then stores the Who-Am-I value in the WHAMI_IPR memory5; location with the "stq r0, WHAMI_IPR" instruction.;E; The $ROUTINE macro invocation above defines a routine named WHAMI.J; WHAMI is, by default, declared to be a NULL procedure which executes inF; the context of its caller. The $ROUTINE macro defines, by default,D; a linkage-section psect named $LINK$, a code-section psect named E; $CODE$, and a data-section psect name $DATA$. The macro argument H; data_section_pointer is specified as true. This causes a pointer to K; the data-section psect to be placed WHAMI's linkage section. The local I; argument is also specified as true. This causes the WHAMI routine to H; be visible only within this module; a global symbol for WHAMI is not I; generated. The $ROUTINE macro leaves you in the code-section psect. ;--? .base r27, $ls ; Inform assembler that r27 --> linkage section;++L; When $ROUTINE defines the $DATA$ psect, it defines the $DS (data section) K; symbol as the current address in the $DATA$ psect. Because we specified N; data_section_pointer=true, $ROUTINE also stored that address in the linkage I; section using a .ADDRESS $DS directive. $ROUTINE also defines the $DP K; (data section pointer) symbol as the address of the data section pointer J; that is stored in the linkage section. Since we already have access to N; the linkage section via R27, we can therefore load from the linkage section +; the pointer to the data section into R22.;--$ ldq r22, $dp ; r22 --> data section: .base r22, $ds ; Tell assembler that r22 --> data section;++F; Now we can execute the CALL_PAL MFPR_WHAMI instruction and store theG; Who-Am-I internal processor register in R0. Afterwards, we store theI; result in the WHAMI_IPR memory location in the data section. By virtueF; of the .BASE R22, $DS directive above, the assembler knows that R22 G; contains the base address of the data section. Therefore, it selectsJ; R22 as the base register for the target argument of the STQ instruction :; and computes the correct offset within the data section.;--@ call_pal mfpr_whami ; Issue the CALL_PAL instruction> stq r0, WHAMI_IPR ; Update memory location WHAMI_IPRF ; with the value contained in < ; Who-Am-I Register.;++ >; R0 is used to return a status value. '1' indicates success.;-- mov 1, r0;++I; The WHAMI routine can now return to its caller. Since WHAMI is a null-I; frame routine, it has no prologue or epilogue. Therefore, rather than I; invoking the $RETURN macro as you might with a stack or register-frame H; routine, we simply use the ret instruction. WHAMI's caller will have B; loaded R26 with the return address as part of the call sequence.;-- ret r26 $end_routine WHAMI L;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-; EXTERNAL ROUTINESL;---------------------------------------------------------------------------2 $routine CHMK, kind=stack, saved_regs=, - data_section_pointer=true;++; CHMK is the main routine.;C; The $ROUTINE macro invocation above defines a routine named CHMK.I; CHMK is a stack frame procedure that maintains its caller's context on E; the SP stack. It saves and restores R2 and R13 in addition to the K; frame pointer register (FP, or R29). The standard prologue generated by (; $ROUTINE saves these registers for us.;-;++?; Following is routine CHMK's linkage section. It contains theA; strings, COPYRIGHT_MSG and WHAMI_MSG, both passed as arguments @; to the DEC C PRINTF routine, which prints out the value saved C; as the Who-Am-I Register value in the memory location WHAMI_IPR, A; and the status value returned after calling the system service 2; routine SYS$CMKRNL to execute the routine WHAMI.;-- $linkage_section COPYRIGHT_MSG:< .asciz - ; \xA9 is '', \x0A is , or '\n' in C parlanceJ"\xA9 Digital Equipment Corporation 1992, 1993. All rights reserved.\x0A"?MSG: .asciz "WHAMI_IPR = %08X%08X SYS$CMKRNL status = %08X\x0A";++:; Following is the code section for the main routine CHMK.;-- $code_section; mov r27, r13 ; Save the procedure value in R13> .base r13, $ls ; Tell the assembler to use R13 asG ; the base to the linkage section 6 ; Output the copyright message.) $call DECC$GPRINTF, args=COPYRIGHT_MSG/ar;++.2; Perform the system service call. Arguments are:6; o Routine WHAMI to be executed in the kernel mode0; o a terminating argument list element of 0.;-- ' $call SYS$CMKRNL, args= F@ mov r0, r2 ; Save SYS$CMKRNL's return status in R2;++ D; Access the data section in the same way as with the WHAMI routine.;-- ldq r24, $dpp .base r24, $ds ! g;++h6; CALL DECC$GPRINTF to output the values contained in1; WHAMI_IPR and R0. Arguments to the routine are:h.; o The printf format string contained at MSG.9; o The value contained in the memory location WHAMI_IPR.; o The value contained in R0.;aH; Additionally, registers R22 and R23 are specified as scratch registersG; to be used in the call. The default scratch registers are R0 and R1.4K; In this case it is necessary to specify alternate scratch registers since ,; R0 is XX$ALPHA_MACRO64012.A82 ,[ASM.KITBUILD_20201CB9_A]MACRO64$WHAMI.M64;1O>used as an argument to DECC$GPRINTF.;--g $call DECC$GPRINTF, -t7 args=, -$ scratch_regs=e;++ K; Return in r0 the status value from the previous SYS$CMKRNL call that we ; saved; previously in R2.;--c mov r2, r0;++aJ; Now we are ready to return. Unlike the WHAMI routine, CHMK is a stack H; routine and therefore requires an epilogue instruction sequence that M; restores the saved registers and performs necessary stack management. We 3; use the $RETURN macro to generate that sequence. ;--r $return $end_routine CHMK4 .end CHMK ; Routine CHMK is the program entry point&*[ASM.KITBUILD_20201CB9_A]MACRO64.CLD;1+,b C.3/ 4N31x-2 0123KPWO456r; 7r 89GHJM!****************************************************************************!* *M!* Copyright (c) 1978, 1980, 1982, 1984, 1986, 1987, 1992, 1993, 1997 *A!* Digital Equipment Corporation, Maynard, Massachusetts. *#!* All rights reserved. *!* *M!* This software is furnished under a license and may be used and copied *M!* only in accordance with the terms of such license and with the *M!* inclusion of the above copyright notice. This software or any other *M!* copies thereof may not be provided or otherwise made available to any *M!* other person. No title to and ownership of the software is hereby *!* transferred. *!* *M!* The information in this software is subject to change without notice *M!* and should not be construed as a commitment by Digital Equipment *!* Corporation. *!* *M!* Digital assumes no responsibility for the use or reliability of its *B!* software on equipment which is not supplied by Digital. *!* *M!****************************************************************************!8! MACRO Command Definition for VAX VMS and OpenVMS Alpha!! Version: 'X-5K15'M!******IMPORTANT*****IMPORTANT*****IMPORTANT*****IMPORTANT*****IMPORTANT*****!M! ALWAYS add a new value to cmdver_versions when making a change to this file!M!******IMPORTANT*****IMPORTANT*****IMPORTANT*****IMPORTANT*****IMPORTANT*****!!! MODIFIED BY:!%! X-16 GES Gerald Sacks, 8-Jul-1997!! Add /ARCHITECTURE for MACRO-64!%! X-5K15 JDR Jack Raitto, 23-AUG-1993 ! Add /SHOW=BINARY for MACRO-64! Add /DEFINE for MACRO-64! Increase revsion number!2! X-5K13 AES Anne Saturnelli, March 24, 19931! Increase Rev. Number for last edit!4! X-5K12 AES Anne Saturnelli, December 8, 1992;! Added /PREPROCESS command line qualifier for! MACRO-64.!3! X-5K11 AES Anne Saturnelli, August 20, 19925! Merged in some items from Paul W. that&! got left out last time.!!3! X-5K10 AES Anne Saturnelli, August 19, 19925! Change MACRO-64 SHOW qualifier default! !5! X-5K9 AES Anne Saturnelli, August 11, 1992<! Merged copy with MACRO-32 migration compiler! for FT4.!!!)! X-5K8 PKW Paul K. M. Weiss 23-Jul-1992! Remove /EV4 switch>! Change /OPT=SCHEDULING to /OPT=SCHEDULE for MACRO/MIGRATION.! Fix /MIGRATION/MIGRATION, /ALPHA/ALPHA, etc)! Fix disallow of /ALPHA/MIGRATION, etc.*! Make debug_options a common option type!!2! X-5K7 AES Anne Saturnelli, July 22, 19925! Clean up MACRO-64 syntax for FT3/EFT1!!2! X-5K6 AES Anne Saturnelli, July 22, 1992A! Changed name of MACRO migration compiler image by7! removing the _TV for image name for FT3!3! X-5K5 AES Anne Saturnelli July 16, 1992>! Removed /SHOW=BINARY for MACRO-64 assembler. D! Add /[NO]MACHINE_CODE. For Cross assembler, make the,! MACRO default be VAX MACRO. !)! X-5K4 PKW Paul K. M. Weiss 25-Jun-1992@! Merge VAX/VMS and OpenVMS Alpha so that all that need be doneB! to convert from one to the other is comment/uncomment sections.!%! X-5K3 JDR Jack Raitto 23-JUN-1992B! Updated copyright date. Added name prefixes for VAX MACRO and <! MACRO-11. Added $CMDVER qualifier with V000000 keyword. >! Moved VAX MACRO verb to be together with its types. Added &! /ALIGNMENT=(CODE,DATA) to MACRO-64.!*! X-5 PKW144 Paul K. M. Weiss 18-Jun-1992! Merge in Alpha Assembler!%! X-4K13 TRB Tom Benson 17-Apr-1992<! Added new /opt qualifiers references, addresses, vaxregs.!$! X-4k12 DJJ Dana Joly 03-Mar-19920! Added the /SYMBOLS qualifier for alpha macro.!$! X-4k11 DJJ Dana Joly 06-Jan-19925! Remove /enable=tie and added /tie for alpha macro.5! Remove /enable=ev4 and added /ev4 for alpha macro.!$! X-4k10 SML Sue Lewis 31-Oct-1991<! Add /enable=tie (Synonym for aud). Add gem developer-only! qualifiers.!#! X-4K9 SML Sue Lewis 15-Oct-1991"! Merge in addition from vms 5.5.)! ! X-7 RJT0001 Rick Trowel 29-Apr-1990=! ! Added /NAMES= option. Options to the names qualifier areA! ! /NAMES=UPPER or /NAMES=DEFINITIONS={UPPER|LOWER|BOTH}!! X-4K8 SML005 Sue Lewis/! Added /enable=ev4 on alpha_macro 05-Jun-1991!'! X-4k7 SML004 Sue Lewis 14-May-1991#! Added /enable=aud on alpha_macro'! X-4k6 TRB003 Tom Benson 14-May-1991! Added /DEBUG on alpha_macro'! X-4k5 TRB003 Tom Benson 21-Jan-1991! Added STACK option on /FLAG&! x-4k4 sml001 Sue Lewis 19-Dec-1990#! Added /enable=overflow qualifier(! X-4K3 TRB0002 Tom Benson 17-Nov-1990!! Added /RETRY_COUNT=n qualifier(! X-4K2 TRB0001 Tom Benson 15-Nov-1990,! Merged in ALPHA_MACRO command definition.!)! X-4 DLM0001 Diane L. Mega 18-Jul-1989! Added /ENABLE=VECTOR option!-! V5.0-7 (X-3) JGW0001 John Ward 30-Jul-1987<! Added /DIAGNOSTICS command qualifier for VAX LSE support. ! Added copyright notification.!2! X5.0-4 (X-2) JAW0001 Jim Wooldridge 27-Feb-1987:! Added the /ANALYSIS_DATA qualifier for VAX SCA support.!1! V03-010 RRB0022 Rowland R. Bradley 21-Jun-19846! Remove nonnegatable from /DISABLE, /ENABLE, /UPDATE! and /LIBRARY.!,! V03-009 PCG0001 Peter George 13-Mar-19840! Remove last vestiges of old command inteface..! Remove DEFAULT clause from /SHOW qualifier.!1! V03-008 RRB0015 Rowland R. Bradley 24-Feb-19849! Remove default settings for /DISABLE and /ENABLE since9! these override any switches set by the user w/ .ENABLE3! or .DISABLE. Defaults must be set in MACRO.EXE.!1! V03-007 RRB0014 Rowland R. Bradley 23-Feb-19845! Remove disallow of /LIB and /UPDATE. This must be5! handled by the program since context(position) is ! important.!1! V03-006 RRB0010 Rowland R. Bradley 25-Jan-1984<! Set correct defaults for /DISABLE, /ENABLE, /SHOW, /LIST,@! and /CROSS_REFERENCE. Inserted "nonnegatable" where apropo. !+! V03-005 MTR0003 Mike Rhodes 7-Apr-19838! Correct the default keyword specification for /DEBUG.!+! V03-004 MTR0002 Mike Rhodes 28-Mar-1983C! Modify the OBJECT and LISTING qualifiers to make them positional!+! V03-003 MTR0001 Mike Rhodes 24-Mar-1983A! Modify the NOSHOW qualifier to accept a list of show keywords.A! (This is done because negated qualifiers can't have keywords.)!6! V03-002 PCA1008 Paul C. Anagnostopoulos 10 Feb 1983B! Merge the outputs list for DCL and MCR, as the new CDU does not! support separate lists.!+! V03-001 MTR0001 Mike Rhodes 9-Feb-19830! Add 'label' field to parameter specification.!M!----------------------------------------------------------------------------"! Name prefixes used in this file:!5! Prefix Product %$ALPHA_MACRO64012.Ab C2 &[ASM.KITBUILD_20201CB9_A]MACRO64.CLD;1N3E< Verb! ------ ------- ---- ! VAX VAX MACRO MACRO/VAX ! RSX MACRO-11 MACRO/RSX11>! MIGRATION Alpha MACRO-32 Migration Compiler MACRO/MIGRATION0! ALPHA Alpha MACRO-64 Assembler MACRO/ALPHA!!I! The default is MACRO/VAX on VAX machines, and MACRO/MIGRATION on Alpha.D! To change the default MACRO syntax, search for all occurrences of M! the string ****DEFAULT**** and comment/ uncomment the appropriate sections ! of the file as directed.M!----------------------------------------------------------------------------!H! The following type is used to define the version of this command-line L! definition file. Never delete earier version keywords. Add a new versionH! keyword each time you modify this file. In addition, ensure that all I! modifications to this file are upward compatible. This keyword is usedN! during layered product installation, since several products share this file.define type cmdver_versions keyword v000000 keyword v000001 keyword v000002 keyword v000003!! Common option types!define type debug_options keyword all,default keyword none keyword symbols keyword traceback!! MACRO/VAX command options!define type vax_enable_options keyword ama keyword dbg keyword fpt keyword gbl keyword lsb keyword tbk keyword absolute keyword debug keyword truncation keyword global keyword suppression keyword traceback keyword vectordefine type vax_def_options keyword lower keyword upper, default keyword bothdefine type vax_names_options1 keyword definitions, value(type=vax_def_options)& keyword upper, nonnegatable, defaultdefine type vax_show_options keyword cnd,default keyword mc,default keyword md,default keyword me keyword meb keyword conditionals keyword calls keyword definitions keyword expansions keyword binarydefine type vax_crf_options keyword all keyword directives keyword macros,default keyword opcodes keyword registers keyword symbols,default!****DEFAULT****>!-------- Uncomment this section to make the default MACRO/VAX!%!define verb MACRO ! syntax VAX_MACRO!.! qualifier migration, syntax=MIGRATION_MACRO,! nonnegatable!$! qualifier rsx11, syntax=RSX_MACRO,! nonnegatable!&! qualifier alpha, syntax=ALPHA_MACRO,! nonnegatable!8! qualifier $cmdver,value(type=cmdver_versions,required)!D!------- Uncomment this section to make the default MACRO/MIGRATION & define syntax VAX_MACRO ! verb MACRO * qualifier migration, ! Define to disallow nonnegatable disallow migration& qualifier rsx11, ! Define to disallow nonnegatable disallow rsx11& qualifier alpha, ! Define to disallow nonnegatable disallow alpha#!------- End default change section!****DEFAULT****, qualifier vax, ! Define so /VAX /VAX works nonnegatable image macro32 parameter p1,label=file, prompt="File",% value(required,list,type=$infile)( qualifier disable, value(required,list, type=vax_enable_options)' qualifier enable, value(required,list,9 type=vax_enable_options)# qualifier library, placement=locala) qualifier listing, placement=positional,t value(type=$outfile),r batch ' qualifier names, placement=positional,w" value(type=vax_names_options), nonnegatable( qualifier object, placement=positional, value(type=$outfile), default 3 qualifier show, value(list,type=vax_show_options) 4 qualifier noshow, value(list,type=vax_show_options) qualifier cross_reference,a$ value(list,type=vax_crf_options). qualifier update, value(list),placement=local0 qualifier debug, value(list,type=debug_options) qualifier analysis_data,o placement=positional,e value(type=$outfile)- qualifier diagnostics, placement=positional,  value(type=$outfile)M!----------------------------------------------------------------------------r-! MACRO/RSX11 command definition (MACRO-11): t! $define syntax RSX_MACRO ! verb MACRO!s<! Since the syntax qualifiers change the entire syntax used,=! within this syntax we need to redefine the /RSX11 qualifier<! (so /RSX11/RSX11 works), and disallow the other qualifiers!% qualifier vax, ! Define to disallow* nonnegatable disallow vax* qualifier migration, ! Define to disallow nonnegatable disallow migration% qualifier rsx11, ! Use RSX11 syntax,R nonnegatable& qualifier alpha, ! Define to disallow nonnegatable disallow alpha image backtransM!----------------------------------------------------------------------------tI! MACRO/MIGRATION command definition (Alpha MACRO-32 Migration Compiler):O!&define type migration_optimize_options keyword none keyword all keyword schedule, negatable keyword peephole, negatable keyword addresses, negatablen keyword references, negatable keyword vaxregs, negatableE%define type migration_warning_options keyword all keyword none-" keyword informationals, negatable keyword warnings, negatable"define type migration_dump_options keyword all keyword nonet keyword pass1, negatable keyword pass2, negatable keyword flow1, negatable keyword flow2, negatable keyword flow3, negatable keyword cfa, negatable&define type migration_preserve_options keyword all keyword noneC keyword atomicity, negatable  keyword granularity, negatable "define type migration_flag_options keyword all keyword none  keyword alignment, negatable= keyword jumps, negatable keyword arglist, negatable, keyword instructions, negatable keyword codegen, negatable keyword directives, negatable keyword hints, negatable keyword stack, negatable$define type migration_enable_options keyword absoluter keyword debug keyword truncationE keyword global, keyword suppression keyword traceback keyword flaggingo keyword quadword keyword overflowe keyword ama keyword dbg keyword fpt keyword gbl keyword lsb keyword tbk"define type migration_show_options keyword conditionals  keyword calls keyword definitions keyword expansionso keyword binarye keyword library keyword cnd keyword mcC keyword md- keyword me keyword meb!****DEFAULT****>!-------- Uncomment this section to make the default MACRO/VAX!v,!define syntax MIGRATION_MACRO ! verb MACRO !c&! qualifier vax, ! Define to disallow! nonnegatablet! disallow vax.!d'! qualifier rsx11, ! Define to disallowM! nonnegatableD! disallow rsx11V!0'! qualifier alpha, ! Define to disallowb! nonnegatable ! disallow alpha/!GD!-------- Uncomment this section to make the default MACRO/MIGRATION+ define verb MACRO ! syntax MIGRATION_MACRO-" qualifier vax, syntax=VAX_MACRO, nonnegatable# qualifier rsx11, syntax=RSX_MACRO,. nonnegatable% qualifier alpha, syntax=ALPHA_MACRO,Y nonnegatable7 qualifier $cmdver,value(type=cmdver_versions,required) $!-------- End default change section!****DEFAULT****< qualifier migration, ! Define so /MIGRATION/MIGRATION works nonnegatable image alpha_macro parameter p1, label=file,  prompt="File",, value(required,concatenate,type=$infile)0 qualifier DEBUG, value(list,type=debug_options)' qualifier LIST, placement=positional,  value(type=$outfile),o batcha# qualifier LIBRARY, placement=localU' qualifier SHOW, placement=positional,H nonnegatable,0, value(list,type=migration_show_options),( qualifier NOSHOW, placement=positional, nonnegatable,+ value(list,type=migration_show_options)k disallow ( (show.conditionals or show.cnd) and( (noshow.conditionals or noshow.cnd) or (show.calls or show.mc) and (noshow.calls or noshow.mc) or& (show.definitions or show.md) and& (noshow.definitions or noshow.md) or% (show.expansions or show.me) and % (noshow.expansions or noshow.me) or " (show.binary or show.meb) and" (noshow.binary or noshow.meb) or! show.library and noshow.library% qualifier DISABLE, placement=global,0- value(list,type=migration_enable_options)d disallow not disable andf ( disable.absolute or disable.debug or. disable.truncation or disable.global or disable.suppression orD disable.traceback oru disable.flagging or disable.quadword or disable.ama or disable.dbg or disable.fpt or disable.gbl or disable.lsb or disabkw$ALPHA_MACRO64012.Ab C2 &[ASM.KITBUILD_20201CB9_A]MACRO64.CLD;1N3 le.tbk )$ qualifier ENABLE, placement=global,. value(list,type=migration_enable_options), disallow not enable and ( enable.absolute or8 enable.debug or enable.truncation orE enable.global oro enable.suppression or enable.traceback or enable.flagging ort enable.quadword or enable.overflow ora enable.ama or1 enable.dbg orl enable.fpt orE enable.gbl orh enable.lsb or  enable.tbki ) disallowa( (enable.absolute or enable.ama) and& (disable.absolute or disable.ama) or% (enable.debug or enable.dbg) and,# (disable.debug or disable.dbg) or"* (enable.truncation or enable.fpt) and( (disable.truncation or disable.fpt) or& (enable.global or enable.gbl) and$ (disable.global or disable.gbl) or+ (enable.suppression or enable.lsb) anda) (disable.suppression or disable.lsb) ora) (enable.traceback or enable.tbk) andM' (disable.traceback or disable.tbk) ort, " enable.flagging and disable.flagging or, enable.quadword and disable.quadword or) enable.overflow and disable.overflowA# qualifier FLAG, placement=global,e4 value(required,list,type=migration_flag_options) disallow flag.all and flag.none disallow not flag andF (flag.alignment or flag.jumps or flag.arglist or flag.instructions or@ flag.codegen or flag.directives or flag.hints or flag.none or  flag.stack or flag.all)e& qualifier PRESERVE, placement=global,8 value(required,list,type=migration_preserve_options)( disallow preserve.none and preserve.all disallow not preserve and3 (preserve.atomicity or preserve.granularity orp preserve.none or preserve.all)- qualifier DIAGNOSTICS, placement=positional,h value(type=$outfile)- qualifier MACHINE_CODE, placement=positionalo* qualifier UNALIGNED, placement=positional( qualifier SYMBOLS, placement=positional& qualifier TIE, placement=positional, default( qualifier OBJECT, placement=positional, default, value(type=$outfile)) qualifier WARNINGS placement=positional,y. value(list,type=migration_warning_options)( disallow warnings.all and warnings.none disallow not warnings and& (warnings.all or warnings.none or3 warnings.warnings or warnings.informationals)i) qualifier OPTIMIZE placement=positional, / value(list,type=migration_optimize_options)i( disallow optimize.all and optimize.none disallow not optimize andE (optimize.schedule or optimize.peephole or optimize.addresses ory. optimize.references or optimize.vaxregs)( qualifier RETRY_COUNT placement=global, nonnegatable, value(type=$number)o ! Developer-only qualifiers' qualifier DUMP, placement=positional,o4 value(required,list,type=migration_dump_options) disallow dump.all and dump.none disallow not dump andK (dump.pass1 or dump.pass2 or dump.flow1 or dump.flow2 or dump.flow3 ork( dump.cfa or dump.all or dump.none). qualifier BREAKPOINTS, label=gem_breakpoints, placement=global,o value(list,required)% qualifier GEMDEBUG, label=gem_debug,a placement=global" qualifier DUMPS, label=gem_dumps, placement=global,a value(list,required)( qualifier SWITCHES, label=gem_switches, placement=global, value(list,required). qualifier TRACEPOINTS, label=gem_tracepoints, placement=global, value(list,required)!p+! MACRO/ALPHA command definition (MACRO-64)r!i!define type alpha_warning_optionsd keyword all, defaults keyword nones" keyword informationals, negatable keyword warnings, negatable#define type alpha_alignment_optionsf keyword data! keyword codeR"define type alpha_optimize_options keyword peephole keyword scheduledefine type alpha_show_options keyword expansionsu keyword conditionalsL keyword include keyword library keyword binaryedefine type alpha_names_optionse keyword uppercase,default keyword lowercasea keyword as_is fdefine type alpha_env_optionsR) keyword float, negatable, defaultadefine type alpha_arch_options keyword GENERIC keyword HOSTe keyword EV4 keyword EV5 keyword EV56o keyword PCA56 keyword EV6 ! Developer-only optionsndefine type alpha_dump_options keyword all keyword noneo keyword clp,negatable keyword cod,negatable keyword lex,negatable keyword loc,negatable keyword lof,negatable keyword mac,negatable keyword msg,negatable keyword res,negatable keyword sem,negatable keyword src,negatable keyword syn,negatable keyword tab,negatable keyword tok,negatable keyword utl,negatable keyword exp,negatable'define syntax ALPHA_MACRO ! verb MACRO g!c<! Since the syntax qualifiers change the entire syntax used,=! within this syntax we need to redefine the /ALPHA qualifierm<! (so /ALPHA/ALPHA works), and disallow the other qualifiers!s% qualifier vax, ! Define to disallow  nonnegatable disallow vax* qualifier migration, ! Define to disallow nonnegatable disallow migration& qualifier rsx11, ! Define to disallow nonnegatable disallow rsx110 qualifier alpha, ! Define so /ALPHA/ALPHA works nonnegatable image macro64 parameter p1, label=FILE,a prompt="File",% value(required,type=$infile,list)5 qualifier environment placement=positional,u@ value(type=alpha_env_options,required), nonnegatable,-' defaulte- qualifier architecture placement=positional,R, value(type=alpha_arch_options,required), nonnegatable, e defaultt( qualifier object, placement=positional, value(type=$outfile),1 defaultd' qualifier list, placement=positional,r value(type=$outfile),* batchg2 qualifier preprocess_only, placement=positional, value(type=$outfile) ' qualifier debug, placement=positional, . value(list,default=all,type=debug_options)4 qualifier diagnostics, placement=positional, value(type=$outfile)' qualifier names, placement=positional,-- value(type=alpha_names_options,required),R nonnegatable, defaultl' qualifier show, placement=positional,eD value(list,type=alpha_show_options), nonnegatable( qualifier noshow, placement=positional,D value(list,type=alpha_show_options), nonnegatable8 disallow noshow.expansions and show.expansions: disallow noshow.conditionals and show.conditionals5 disallow noshow.include and show.includes5 disallow noshow.library and show.libraryb- disallow noshow.binary and show.binary # qualifier library, placement=local1 qualifier optimize, placement=positional,G value(list,type=alpha_optimize_options)k3 qualifier nooptimize, placement=positional,aG value(list,type=alpha_optimize_options) : disallow optimize.schedule and nooptimize.schedule: disallow optimize.peephole and nooptimize.peephole3 qualifier alignment, placement=positional, gH value(list,type=alpha_alignment_options)5 qualifier noalignment, placement=positional, dH value(list,type=alpha_alignment_options)4 disallow alignment.data and noalignment.data4 disallow alignment.code and noalignment.code) qualifier WARNINGS placement=positional,( default,* value(list,type=alpha_warning_options)/ disallow warnings.all and warnings.nonee disallow not warnings and& (warnings.all or warnings.none or3 warnings.warnings or warnings.informationals)n4 qualifier machine_code, placement=positional2 qualifier define, placement=positional, negatable value(list,required)i ! Developer-only qualifiers qualifier dump_facility,s placement=positional,5 value(list,default=none,type=alpha_dump_options),  nonnegatable+ qualifier dump_file, placement=positional,h value(type=$outfile),  nonnegatable. qualifier BREAKPOINTS, label=gem_breakpoints, placement=global,A value(list,required)% qualifier GEMDEBUG, label=gem_debug,a placement=global" qualifier DUMPS, label=gem_dumps, placement=global,A value(list,required)( qualifier SWITCHES, label=gem_switches, placement=global,- vaX9$ALPHA_MACRO64012.Ab C2 &[ASM.KITBUILD_20201CB9_A]MACRO64.CLD;1N3$|1lue(list,required). qualifier TRACEPOINTS, label=gem_tracepoints, placement=global,M value(list,required)&*[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1+,8x./ 4-2 0123KPWO56n 72Ó 89GHJLSE ABSOLUTE PSECT ATTRIBUTEABSOLUTE PSECT ATTRIBUTEABSADDFADDGADDLADDQADDRESSADDSADDTALIAS_NAME_LIST ALIAS_PARALIGN#Enable/disable code label alignment ALIGN_CODE Enable/disable natural alignment ALIGN_DATA ALIGN_KEYWORDAMOVRMAMOVRRANDANDNOTARGLIST ARGUMENT_LISTARGUMENT_TYPE_LISTASCICASCIDASCIIASCIZBASEBASE_EXPRESSIONBASE_REG_IS_FP BASE_REG_LISTBEGIN_EPILOGUE BEGIN_EXACTBEQBGEBGTBIC. Display binary code expansion in listing file#SHOW BINARY LISTING IN LISTING FILEBINARYBISBLBCBLBSBLEBLKABLKBBLKDBLKFBLKGBLKLBLKOBLKQBLKSBLKTBLKWBLTBNE BOOLEAN_VALUEboundboundBOUNDBPTBR BRANCH_OFFSETBSRBUGCHKBYTEAligned to 2**0 = 1 bytesBYTECALL CALL_ARG_LIST CALL_MACRO CALL_MAC_NAMECALL_PALCFLUSHCHMECHMKCHMSCHMUCLRCMOVEQCMOVGECMOVGTCMOVLBCCMOVLBSCMOVLECMOVLTCMOVNECMPBGECMPEQCMPGEQCMPGLECMPGLTCMPLECMPLTCMPTEQCMPTLECMPTLTCMPTUNCMPULECMPULT CODE_ADDRESSCODE_ENTRY_POINT_LABEL CODE_SECT CODE_SECTION!CODE_SECTION_PSECT_AND_ATTRIBUTES COMMON_BASE1Display unsatisfied conditionals in listing file. CONDITIONALSCONDITIONAL_ASSEMBLY_DIRECTIVESCONCATENATE PSECT ATTRIBUTECONCATENATE PSECT ATTRIBUTECONCPYSCPYSECPYSNCVTDGCVTGDCVTGFCVTGQCVTLQCVTQFCVTQGCVTQLCVTQSCVTQTCVTSTCVTTQCVTTS DATA_ADDRESS DATA_SECT DATA_SECTION!DATA_SECTION_PSECT_AND_ATTRIBUTES DATA_SECT_PTRDATA_STORAGE_DIRECTIVESDEFAULT_SIGNATURE DIRECTIVESDISABLE DISPLACEMENTDIVFDIVGDIVSDIVTDRAINADRAINT D_FLOATING EDIT_LEXOP EDIT_OPTION ELEMENT_LEXOPELSE ELSE_OPTIONENABLEENABLE_OPTION_ITEMENCODING ENCODING_INSENDCENDMENDR END_EPILOGUE END_EXACT END_PROLOGUEEND_PROLOGUE_PAR END_ROUTINEEND_ROUTINE_NAME ENTRY_PAR ENTRY_POINTENVIRONMENT_VALUEENV_VALEQVERROR Make location counter value even Make location counter value even.EVENEXCBEXECUTE PSECT ATTRIBUTEEXECUTE PSECT ATTRIBUTEEXE. Display macro expansions in the listing file.%SHOW MACRO EXPANSIONS IN LISTING FILE EXPANSIONSEXTBLEXTERNALEXTLHEXTLLEXTQHEXTQL EXTRACT_LEXOPEXTWHEXTWLFABSFBEQFBGEFBGTFBLEFBLTFBNEFCLRFCMOVEQFCMOVGEFCMOVGTFCMOVLEFCMOVLTFCMOVNEFETCHFETCH_MFMOVFNEGFNOPFORMAT FORMAT_ITEM FP_REGISTER FREGISTERFUNC_RET F_FLOATINGGLOBAL PSECT ATTRIBUTEGLOBAL PSECT ATTRIBUTEGBLGENTRAP>Implicitly treate undefined references as external declarationGLOBAL GLOBAL_SYMBOL G_FLOATINGHALT HANDLER_ADDHANDLER_ADDRESS HANDLER_DATAHANDLER_REINVOKE ID_STRINGIF IF_CONDITIONIF_FALSEIF_TRUE IF_TRUE_FALSEIIFIMB.Display include file text in the listing file.&SHOW INCLUDE FILE TEXT IN LISTING FILEINCLUDEINCLUDE_SOURCEINDIRECTINSBLINSLHINSLLINSQHINSQHILINSQHILRINSQHIQINSQHIQRINSQLINSQTILINSQTILRINSQTIQINSQTIQRINSQUELINSQUEQ INSTRUCTION INSTRUCTIONSINSWHINSWLINS_INTEGER_EXPRESSIONINSQUAL INTEGER_LEXOP IREGISTERIRPIRPCJMPJSR JSR_COROUTINEJUMPLOCAL PSECT ATTRIBUTELOCAL PSECT ATTRIBUTELCLLDALDAHLDFLDGLDLLDL_LLDQLDQPLDQ_ALDQ_LLDQ_NOPLDQ_ULDSLDT LENGTH_LEXOPLEXICAL_ESCAPELEXICAL_OPERATIONSLEXICAL_STRING_SYMBOL LEXICAL_SUB9 Display text for library defined macros in listing file.4SHOW TEXT FOR LIBRARY DEFINED MACROS IN LISTING FILELIBRARYLINKAGE_CONTROL_DIRECTIVES LINKAGE_PAIRLINKAGE_PAIR_MACROLINKAGE_PAIR_NAMELINKAGE_REGISTER_ARG LINKAGE_SECTLINKAGE_SECTIONLINKAGE_SECTION_ADDLINKAGE_SECTION_ADDRESS$LINKAGE_SECTION_PSECT_AND_ATTRIBUTESLINKAGE_SECTION_REGISTERLISTLISTING_CONTROL_DIRECTIVES LISTING_TITLE LIST_OPTIONLITERALEnable a local block scope LOCAL_BLOCKLOCAL_BLOCK_OPTIONLOCAL_CALL_BOOLLOCAL_CODE_ADDRESSLOCAL_LINKAGE_PAIR LOCAL_PARLOCAL_PROCEDURE_DESCRIPTOR LOCAL_SYMBOL LOCATE_LEXOPLOCATION_CONTROL_DIRECTIVESLONGAligned to 2**2 = 4 bytesLONGMACRO MACRO_CALLMACRO_DIRECTIVESMBMDELETEMEMORYMEMORY_FUNCTIONMESSAGE_DISPLAY_DIRECTIVESMEXITMFPR_ASN MFPR_ASTEN MFPR_ASTSRMFPR_ESPMFPR_FENMFPR_IPL MFPR_MCES MFPR_PCBB MFPR_PRBR MFPR_PTBR MFPR_SCBB MFPR_SISRMFPR_SSP MFPR_TBCHKMFPR_USP MFPR_VPTB MFPR_WHAMIMF_FPCRMIX PSECT ATTRIBUTEMIX PSECT ATTRIBUTEMIXMNEMONIC MNEMONIC_NAMEMODULE MODULE_NAMEMOVMSKBLMSKLHMSKLLMSKQHMSKQLMSKWHMSKWL MTPR_ASTEN MTPR_ASTSR MTPR_DATFXMTPR_ESPMTPR_FEN MTPR_IPIRMTPR_IPL MTPR_MCES MTPR_PERFMON MTPR_PRBR MTPR_SCBB MTPR_SIRRMTPR_SSP MTPR_TBIA MTPR_TBIAP MTPR_TBIS MTPR_TBISD MTPR_TBISIMTPR_USP MTPR_VPTBMT_FPCRMULFMULGMULLMULQMULSMULTNARG NARG_USER_IDNCHRNEGFNEGGNEGLNEGQNEGSNEGTNLISTNOT EXECUTABLE PSECT ATTRIBUTENOT EXECUTABLE PSECT ATTRIBUTENOEXENOMIX PSECT ATTRIBUTENOMIX PSECT ATTRIBUTENOMIX NONSTD_BOOLNOP0NON-POSITION-INDEPENDENT CONTENT PSECT ATTRIBUTE0NON-POSITION-INDEPENDENT CONTENT PSECT ATTRIBUTENOPIC6NONREADABLE PSECT ATTRIBUTE -- RESERVED FOR FUTURE USENONREADABLE PSECT ATTRIBUTENORDNOSHOWNO SHARE PSECT ATTRIBUTENO SHARE PSECT ATTRIBUTENOSHRNOTNONWRITEABLE PSECT ATTRIBUTENONWRITEABLE PSECT ATTRIBUTENOWRTnullNullNULLOCTAAligned to 2**4 = 16 bytesOCTAMake location counter value oddMake location counter value odd.ODDOPCODE_ARG_LISTOPDEFk n$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1t!OPDEF_AND_CALLING_STANDARD_MACROSOPTIONAL_INTEGER_EXPRESSIONOPTION_DIRECTIVESOPT_BASE_EXPRESSIONORORNOTOVERRIDE_FLAGSOVERLAY PSECT ATTRIBUTEOVERLAY PSECT ATTRIBUTEOVRO_FLAGSPage ejection directivePage ejection directive.PAGE2Enable peephole optimization for the assembly unitPEEPHOLE,POSITION-INDEPENDENT CONTENT PSECT ATTRIBUTE,POSITION-INDEPENDENT CONTENT PSECT ATTRIBUTEPICPRINTPROBERPROBEWPROCEDURE_DESCRIPTORPROCEDURE_DESCRIPTOR_MACROPROC_DESCRIPTOR_NAMEPROC_VALPROGRAM_SECTIONING_DIRECTIVES PROL_LABELPSECTQUADAligned to 2**3 = 8 bytesQUADRC2READABLE PSECT ATTRIBUTE - RESERVED FOR FUTURE USE1READABLE PSECT ATTRIBUTE- RESERVED FOR FUTURE USERDRD_PSREAD_UNQregisterRegisterREGISTERREI REI_RETURNRELOCATABLE PSECT ATTRIBUTERELOCATABLE PSECT ATTRIBUTERELREMQHILREMQHILRREMQHIQREMQHIQRREMQTILREMQTILRREMQTIQREMQTIQRREMQUELREMQUEQREPEATR REPEAT_LEXOPRESOPC01RESOPC02RESOPC03RESOPC04RESOPC05RESOPC06RESOPC07RESOPC0ARESOPC0CRESOPC0DRESOPC0ERESOPC14RESOPC1CRESPAL19RESPAL1BRESPAL1DRESPAL1ERESPAL1F RESTORE_PSECTRETRETURNRETURN_ADDRESS_RN RETURN_TYPERNROUTINEROUTINE_CALLED ROUTINE_KIND ROUTINE_NAME ROUTINE_TYPERPCCRS RSA_OFFSETRSCCS4ADDLS4ADDQS4SUBLS4SUBQS8ADDLS8ADDQS8SUBLS8SUBQ SAVED_REGSSAVE_FP SAVE_PSECTSAVE_RASAVE_REGISTER_LIST4Enable scheduling optimization for the assembly unitSCHEDULE SCRATCH_REGSSCRATCH_REG_LIST SET_ARG_INFOSEXTLSHOWSHARE PSECT ATTRIBUTESHARE PSECT ATTRIBUTESHR SIGNED_BYTE SIGNED_WORD SIG_BLOCK SIG_BLOCK_ADDSIZESLLSOURCE_INCLUSIONSOURCE_STATEMENTSRASRLstackstackSTACK STACK_RET_VALSTACK_RET_VAL_BOOLSTANDARD_PROLOGUESTFSTGSTLSTL_CSTQSTQPSTQ_CSTQ_U STRING_LEXOP STRING_SYMBOLSTSSTTSUBFSUBGSUBLSUBQSUBSSUBTSUBTITLE SUBTITLE_NAMESWASTENSWPCTXSYMBOL_CONTROL_DIRECTIVESSYMBOL_DEFINITIONSYMBOL_EXPRESSIONSYNCH_EXCEPTION S_FLOATINGTIE_BOOL TIME_LEXOPTRAPB TYPE_LEXOP T_FLOATINGUMULHUNOPUSER_IDUSES_VAX_ARGLISTWARNWEAKWMBWORDAligned to 2**1 = 2 bytesWORD WRITE_UNQWRITE PSECT ATTRIBUTEWRITE PSECT ATTRIBUTEWRTWR_PS_SWXORXORNOTZAPZAPNOT S ;number of arguments per instruction. Uaddf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andStore an address.ADDRESS'.ADDRESS %{address_expression_item}%...An address expression<A symbol or expression interpreted as an address expression.An address expression,%{address_expression}% S ;number of arguments per instruction. Uadds%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and#List of alias names for the routineRoutine alias namesRoutine alias names,ALIAS = %{alias_name_list}% Set alignment.ALIGN#.ALIGN %{integer_or_align_keyword}%.ALIGN integer_option7 address that is the value of 2 raised to this integer.EAn integer in the range 0 to 9. The location counter is aligned on an.ALIGN keywordOCTA_ALIGN_KEYQUAD_ALIGN_KEYLONG_ALIGN_KEYWORD_ALIGN_KEYBYTE_ALIGN_KEY S ;number of arguments per instruction. Wamovrm%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wamovrr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tand%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wandnot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andArgument type listArgument type list!,ARGLIST = %{argument_type_list}%Call Argument listCall Argument list,ARGS=%{call_arg_list}%Argument type liststore a counted ASCII stringStore a counted ASCII string.ASCIC %{ascii_string}%store string descriptorStore String descriptor.ASCID %{ascii_string}%store an ASCII stringStore an ASCII string.ASCII %{ascii_string}% ASCII STRING0ASCII string enclosed in double quotation marks.!store zero-terminate ASCII string"Store zero-terminated ASCII string.ASCIZ %{ascii_string}%base directivebase directive$.BASE %{Rn}% %[opt_base_expression]%BASE expression(Expression which is in base register Rn.'Boolean value for: base register is FP&Boolean value for: base register is FPC,BASE_REG_IS_FP = %{boolean_value}% ; TRUE == FP is base registerbase register listbase register listA list of .BASE registers used-Mark the beginning of an instruction epilogue)Mark beginning of an instruction epilogue$BEGIN_EPILOGUE Begin an exact instruction block Begin an exact instruction block .BEGIN_EXACT S ;number of arguments per instruction. Tbeq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbic%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbis%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and 1 argument. Is macro arg1 blank? 1 argument. Is macro arg1 blank?BLANK S ;number of arguments per instruction. Ublbc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ublbs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tble%[ins_qual]% %{opcode_arg;$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1B !_list}%... ;Consult the reference manual for type andAllocate address storageAllocate address storage%.BLKA %[optional_integer_expression]%Allocate byte storageAllocate byte storage%.BLKB %[optional_integer_expression]%Allocate d_floating storageAllocate d_floating storage%.BLKD %[optional_integer_expression]%Allocate f_floating storageAllocate f_floating storage%.BLKF %[optional_integer_expression]%Allocate g_floating storageAllocate g_floating storage%.BLKG %[optional_integer_expression]%Allocate long words of storageAllocate long words of storage%.BLKL %[optional_integer_expression]%Allocate octa words of storageAllocate octa words of storage%.BLKO %[optional_integer_expression]%Allocate quad words of storageAllocate quad words of storage%.BLKQ %[optional_integer_expression]%Allocate s_floating storageAllocate s_floating storage%.BLKS %[optional_integer_expression]%Allocate t_floating storageAllocate t_floating storage%.BLKT %[optional_integer_expression]%Allocate words of storageAllocate words of storage%.BLKW %[optional_integer_expression]% S ;number of arguments per instruction. Tblt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and TRUE OR FALSE TRUE OR FALSETRUE or FALSE boolean value S ;number of arguments per instruction. Tbpt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Sbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andBRANCH S ;number of arguments per instruction. Tbsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wbugchk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andstore byte of dataStore byte of data!.BYTE %{data_expression_list}%...An integer expression;An integer expression value in the range -128 through +128.An integer expression,%{byte_integer_expression}% S ;number of arguments per instruction. Ucall%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andCall argument listIssue call to another routineIssue call to another routine %[nonstd_bool]% %[sig_block]% %[uses_vax_Arglist]% %[func_ret]% %[tie_bool]% %[set_arg_info]% %[local_call_bool]% %[stack_ret_val_bool]% %[scratch_regs]% %[argument_list]% %[linkage_section_add]% %[linkage_register_arg]%$CALL NAME=%{routine_called}%  Macro name Macro name(Outer macro name for diagnostic messages S ;number of arguments per instruction. Ycall_pal%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcflush%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchme%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchmk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchms%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchmu%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tclr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmoveq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xcmovlbc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xcmovlbs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovle%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovlt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpbge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcmpeq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpgeq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpgle%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpglt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcmple%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcmplt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpteq%[ins_qual]% %{opcode_arg_li1st}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmptle%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmptlt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S 4$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1?N"2 ;number of arguments per instruction. Wcmptun%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpule%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmpult%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andstore a code addressStore a code address).CODE_ADDRESS %{data_expression_list}%...BUser identifier representing a label for the routine code address.name of code entry point code section code section5,CODE_SECTION = %{code_section_psect_and_attributes}%(Switch to current routine's code section(Switch to current routine's code section $CODE_SECTIONCode psect name and attributesremove all spaces and tabsRemove spaces and tabsCOLLAPSEBase register listBase register list:,COMMON_BASE= %{base_reg_list}% ;Base register list used4 replace multiple spaces or tabs with a single space3replace multiple spaces or tabs with a single spaceCOMPRESS.IF argument list0Multiple arguments must be separated by a comma.7 1 or 2 arguments depending on the condition specified.=Argument list for the .IF conditional directive consisting ofCONDITIONAL ASSEMBLY DIRECTIVESIIFELSEENDC IF_TRUE_FALSEIF_TRUEIF_FALSEIF S ;number of arguments per instruction. Ucpys%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcpyse%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcpysn%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andOPDEF CUSTOM ARGUMENT TYPES BRANCH_OFFSET DISPLACEMENTINDIRECTLITERAL FREGISTER IREGISTER,%{custom_op_arg}% = %{custom_op_arg_list}%... S ;number of arguments per instruction. Vcvtdg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgd%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtlq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtst%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvttq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtts%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andAddress of data3A data expression to be stored as an initial value.,Data expression%{data_expression_item}% data section data section5,DATA_SECTION = %{data_section_psect_and_attributes}%(Switch to current routine's data section(Switch to current routine's data section $DATA_SECTIONData psect name and attributesData section pointerData section pointer),DATA_SECTION_POINTER = %{boolean_value}%DATA STORAGE DIRECTIVES SIGNED_WORD SIGNED_BYTE T_FLOATING S_FLOATING G_FLOATING D_FLOATING F_FLOATING INSTRUCTIONASCIDASCIZASCICASCIIQUADOCTALOCAL_CODE_ADDRESS CODE_ADDRESSADDRESSLONGWORDBYTE,Boolean value for: Use the default signature,Boolean value for: Use the default signatureL,DEFAULT_SIGNATURE = %{boolean_value}% ; TRUE -- use the default signature1 argument. Is arg1 defined?1 argument. Is arg1 defined?DEFINED62 arguments. Is macro arg1 different from macro arg 2?62 arguments. Is macro arg1 different from macro arg 2? DIFFERENTAssembler directiveslinkage_control_directivesmacro_directivessource_inclusionconditional_assembly_directivessymbol_control_directivesprogram_sectioning_directiveslocation_control_directivesdata_storage_directivesoption_directivesmessage_display_directiveslisting_control_directivesDisable options.DISABLE".DISABLE %{enable_option_list}%... S ;number of arguments per instruction. Udivf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Udivg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Udivs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Udivt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wdraina%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wdraint%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andstore floating point dataStore floating point data .D_FLOATING %{floating_list}%...edit lexical operatorEdit lexical operator5%EDIT (%{string_to_edit}%, %{edit_option_list}%...)  edit optionsUPCASETRIM LOWERCASECOMPRESSCOLLAPSE edit options, Edit options%{edit_option}%Element lexical operatorElement lexical operatorG%ELEMENT(%{list_element_number}%, %{string_delimiter}%,%{main_string}%)Optional .ELSE clauseOptional .ELSE clause.EL˯$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1CSEOptional .ELSE clause %[ELSE]%Enable options.ENABLE!.ENABLE %{enable_option_list}%...Enable/disble options ALIGN_CODESCHEDULEPEEPHOLE LOCAL_BLOCKGLOBAL ALIGN_DATA,.ENABLE option list%{enable_option_item}%ENCODING = %{encoding_ins}%Instruction encoding,Numeric encoding for the instruction opcode.END conditionalEND conditional.ENDCEnd macro definitionEnd macro definition.ENDM %[macro_name]%End repeat blockEnd repeat block.ENDR,Mark end of an instruction epilogue sequence,Mark end of an instruction epilogue sequence $END_EPILOGUEEnd an exact instruction blockEnd an exact instruction block .END_EXACT,Mark end of an instruction prologue sequence,Mark end of an instruction prologue sequence $END_PROLOGUEEnd prologue labelEnd prologue label,END_PROLOGUE = %{prol_label}%Mark end of a routineMark end of a routine!$END_ROUTINE %[end_routine_name]%Name of routine to endName of code entry pointName of code entry point%,ENTRY = %{code_entry_point_label}% (Module entry pointer or transfer address entry point or transfer address.?A previously defined procedure descriptor specifying the moduleEnvironment valueEnvironment valueEnvironment value$,ENVIRONMENT = %{environment_value}%)1 or 2 arguments. Is arg1 NOT_EQUAL arg2?)1 or 2 arguments. Is arg1 NOT_EQUAL arg2?EQUAL S ;number of arguments per instruction. Teqv%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and$Generate and print and error message.ERROR.ERROR %{msg_string}% S ;number of arguments per instruction. VEXCB %[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextbl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and&Declare a symbol as externally defined&Declare a symbol as externally defined.EXTERNAL %{symbol_list}%... S ;number of arguments per instruction. Vextlh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextqh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andextract lexical operatorExtract lexical operatorB%EXTRACT %{start_search_position}%, %{string_length}%, %{string}%) S ;number of arguments per instruction. Vextwh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextwl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufabs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbeq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufble%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufblt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufclr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmoveq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S O ;number of arguments per instruction. Xfcmovle%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovlt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vfetch%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfetch_m%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andSource file name5Source file name, enclosed in double quotation marks.,Floating point constant list%{floating_point_constant}%FLOATING_OPERATEA floating point constant. S ;number of arguments per instruction. Ufmov%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufneg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufnop%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and,Macro formal argument list%{macro_formal_argument}%FORMAT = %{format_item}%Instruction formatCUSTOMPALFLOATING_OPERATEOPERATEBRANCHJUMPMEMORY_FUNCTIONMEMORYFloating point register FnFunction return typeFunction return type ,FUNC_RETURN = %{return_type}% store floating point dataStore floating point data .F_FLOATING %{floating_list}%... S ;number of arguments per instruction. Xgentrap%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and@$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1="T$%{user_id}% == %{symbol_expression}%"1 or 2 arguments. Is arg1 >= arg2?"1 or 2 arguments. Is arg1 >= arg2? GREATER_EQUAL!1 or 2 arguments. Is arg1 > arg2?!1 or 2 arguments. Is arg1 > arg2?GREATERstore floating point dataStore floating point data .G_FLOATING %{floating_list}%... S ;number of arguments per instruction. Uhalt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andAddress of exception handlerAddress of exception handler,HANDLER = %{handler_address}%Address of handlerHandler data addressHandler data address ,HANDLER_DATA = %{data_address}%)Boolean value for: Handler is reinvokable*Boolean value for : Handler is reinvokableK,HANDLER_REINVOKABLE = %{boolean_value}% ;TRUE -- Handler is reinvokable42 arguments. Is macro arg1 identical to macro arg 2?42 arguments. Is macro arg1 identical to macro arg 2? IDENTICALObject module identifier%the module, such as a version number.JA 1-31 character string enclosed in double quotation marks that identifiesConditional assemblyConditional assembly ;.ENDC ; END conditionL ; assemble if condition is FALSE.%[ELSE_OPTION]% ; K ; assemble IF condition is TRUEG ; conditional assembly code-.IF %{if_condition}% %{conditional_arg_list}% .IF condition to be met DIFFERENT_IF IDENTICAL_IF NOT_BLANK_IFBLANK_IFNOT_DEFINED_IF DEFINED_IFGREATER_EQUAL_IF LESS_THAN_IF LESS_EQUAL_IF GREATER_IF NOT_EQUAL_IFEQUAL_IF:If the condition of assembly block is FALSE, assemble code9If the condition of assembly block is FALSE,assemble code .IF_FALSE9If the condition of assembly block is TRUE, assemble code8If the condition of assembly block is TRUE,assemble code.IF_TRUE@Regardless of the condition of the assembly block, assemble code@Regardless of the condition of the assembly block, assemble code.IF_TRUE_FALSEImmediate conditional assemblyImmediate conditional assemblyE.IIF %{if_condition}% %{conditional_arg_list}% , %{source_statement}% S ;number of arguments per instruction. Timb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andInclude external sourceInclude external source6.INCLUDE %{filename}%, %[optional_search_list_string]% S ;number of arguments per instruction. Vinsbl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinslh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsqh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqhil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqhilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqhiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqhiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqtil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqtilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqtiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqtiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsquel%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqueq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andStore and instruction .INSTRUCTION'.INSTRUCTION %{ins_integer_expression}% INSTRUCTIONSwmbcvtst mtpr_perfmonrespal1frespal1erespal1drespal1brespal19resopc1cresopc14resopc0eresopc0dresopc0cresopc0aresopc07resopc06resopc05resopc04resopc03resopc02resopc01drainttrapbamovrramovrmremqtiqrremqtilrremqhiqrremqhilrinsqtiqrinsqtilrinsqhiqrinsqhilrgentrap mtpr_datfx mtpr_vptb mfpr_vptbcallldq_aldq_nopmt_fpcrmf_fpcrzapnotzapxor write_unqwr_ps_swunopumulhswpctxswastensubtsubssubqsublsubgsubfsttstsstqpstq_ustq_cstqstl_cstlstgstfsrlsrasllsextls8addls4addls8subqs4subqs8subls4subls8addqs4addqrsccrsrpccretremqueqremquelremqtiqremqtilremqhiqremqhilreird_psrcread_unqprobewproberornotnotnopnegtnegsnegqneglneggnegfmultmulsmulqmullmulgmulfmtpr_usp mtpr_tbisi mtpr_tbisd mtpr_tbis mtpr_tbiap mtpr_tbiamtpr_ssp mtpr_sirr mtpr_scbb mtpr_prbr mtpr_mcesmtpr_ipl mtpr_ipirmtpr_fenmtpr_esp mtpr_astsr mtpr_astenmskwlmskwhmskqlmskqhmskllmsklhmskblmov mfpr_whamimfpr_usp mfpr_tbchkmfpr_ssp mfpr_sisr mfpr_scbb mfpr_ptbr mfpr_prbr mfpr_pcbb mfpr_mcesmfpr_iplmfpr_fenmfpr_esp mfpr_astsr mfpr_astenmfpr_asnmbldtldsldgldqpldq_uldq_lldqldl_lldlldfldahlda jsr_coroutinejsrjmpinswlinswhinsqueqinsquelinsqtiqinsqtilinsqlinsqhiqinsqhilinsqhinsllinslhinsblimbhaltfnopfnegfmovfetch_mfetchfcmovnefcmovltfcmovlefcmovgtfcmovgefcmoveqfclrfbnefbltfblefbgtfbgefbeqfabsextwlextwhextqlextqhextllextlhextblexcbxornoteqvdrainadivtdivsdivgdivfcvttscvttqcvtqtcvtqscvtqlc $ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1"evtqgcvtqfcvtlqcvtgqcvtgfcvtgdcvtdgcpysncpysecpyscmpultcmpulecmptuncmptltcmptlecmpteqcmpltcmplecmpgltcmpglecmpgeqcmpeqcmpbgecmovnecmovltcmovlecmovlbscmovlbccmovgtcmovgecmoveqclrchmuchmschmkchmecflushcall_palbugchkbsrbrbptbnebltbleblbsblbcorbisandnotbicbgtbgebeqandaddtaddsaddqaddladdgaddf S ;number of arguments per instruction. Vinswh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinswl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and .INSTRUCTION integer expresssion.INSTRUCTION integer expression?An absolute expression in the range -2147483648 to +2147483647. /V -- Integer overflow enable" /U -- Floating underflow enable# /S -- Software completion enable /I -- Inexact result enable# /P -- Round toward plus infinity$ /M -- Round toward minus infinity /D -- dynamic mode /C -- chopped rounding$Possible instruction qualifiers are:?vary. Please consult the reference manual for this information.9Instruction qualifiers which are allowed with each opcodeabsolute integer expressionis not assembled.Eassembled in the program. If the expression is <= 0, the repeat blockBAn integer expression controlling the number of times the range isInteger lexical operatorInteger lexical operator%INTEGER(%{int_expression}%)Integer or align option keyword align_keyword align_integer$Indefinite repeat argument directive$Indefinite repeat argument directive.ENDR0 ;code to repeat0 ;code to repeat3.IRP %{irp_formal_arg}%, <%{irp_actual_arg_list}%> %Indefinite repeat character directive%Indefinite repeat character directive.ENDR0 ;code to repeat0 ;code to repeat-.IRPC %{irpc_formal_arg}%, <%{irpc_string}%> #characters enclosed in irpc_string.@Formal argument that is successively replaced with the specified)expansion of the indefinite repeat range.?A sequence of characters enclosed in angle brackets used in thethe indefinite repeat range.EList of actual arguments enclosed in angle brackets used in expandingIFormal argument which is successively replaced with the actual arguments. S ;number of arguments per instruction. Tjmp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tjsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. ^jsr_coroutine%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tlda%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uldah%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tldf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tldg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tldl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vldl_l%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tldq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uldqp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vldq_a%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vldq_l%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xldq_nop%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vldq_u%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tlds%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tldt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andlength lexical operatorlength lexical operator%LENGTH(%{string}%)"1 or 2 arguments. Is arg1 <= arg2?"1 or 2 arguments. Is arg1 <= arg2? LESS_EQUAL!1 or 2 arguments. Is arg1 < arg2?!1 or 2 arguments. Is arg1 < arg2? LESS_THANLexical escape operatorLexical escape operator%%{lexical_operations}%Lexical operations LEXICAL_SUBLEXICAL_ESCAPE TYPE_LEXOP TIME_LEXOP STRING_LEXOP REPEAT_LEXOP INTEGER_LEXOP ELEMENT_LEXOP EDIT_LEXOP EXTRACT_LEXOP LOCATE_LEXOP LENGTH_LEXOPLexical string symbolLexical substitution operatorLexical substitution operator%%{lexical_string_symbol}%%LINKAGE CONTROL DIRECTIVESBASELOCAL_PROCEDURE_DESCRIPTORLOCAL_LINKAGE_PAIRPROCEDURE_DESCRIPTOR LINKAGE_PAIRLinkage pair directiveLinkage pair directive.LINKAGE_PAIR %{user_id}%*Define linkage pair in the linkage section*Define linkage pair in the linkage sectionM ; FALSE == store non-local linkage pairJ LOCAL=%{boolean_value}% ; TRUE == store a local linkage pair$$LINKAGE_PAIR %{linkage_pair_name}%,Name of linkage pairLinkage section registerLinkage section register!,RLS=%{linkage_section_register}%linkage sectionLinkage section;,LINKAGE_SECTION = %{linkage_section_psect_and_attributes}%3Switch control to current routine's linkage section3Switch control to current routine's linkage section$LINKAGE_SECTIONLinkage section addressLinkage section address,LS=%{linkage_section_address}%Linkage section address!Linkage psect name and attributesLinkag section register RnControl listing file optionsControl listing file options.LIST %[list_option_item]%...LISTING FILE CONTROL DIRECTIVESNOSHOWSHOWSUBTITLEPAGENLISTLISTSpecified listing file titlez$/$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1$"vlisting file page.>Optional quoted string to appear within the first line of each to be returned.CInteger expression specifying the element number of the main_string-Optional .LIST/.SHOW/.NLIST/.NOSHOW argumentsINCLUDELIBRARY EXPANSIONS CONDITIONALSBINARY,%{list_option}%save temporary label scopeSave temporary label scope LOCAL_BLOCKLocal call boolean value Local call booleanB,LOCAL=%{boolean_value}% ; TRUE == local call, FALSE non-localstore a code addressStore a code address/.LOCAL_CODE_ADDRESS %{data_expression_list}%...Local Linkage pair directiveLocal Linkage pair directive.LOCAL_LINKAGE_PAIR %{user_id}%'Boolean specifying local routine or not'Boolean specifying local routine or not,LOCAL=%{boolean_value}%$local procedure_descriptor directive$Local procedure_descriptor directive<.LOCAL_PROCEDURE_DESCRIPTOR %{user_id}% %{req_code_address}%#%{user_id}% = %{symbol_expression}%locate lexical operatorlocate lexical operator:%LOCATE(%{substring}%, %{main_string}% %[start_position]%)LOCATION CONTROL DIRECTIVESBLKWBLKTBLKSBLKQBLKOBLKLBLKGBLKFBLKDBLKBBLKAODDEVEN END_EXACT BEGIN_EXACTALIGNstore long word of dataStore long word of data!.LONG %{data_expression_list}%...!Change all uppercase to lowercase!Change all uppercase to lowercase LOWERCASEMacro definition directiveMacro definition directive=%{ENDM}% ; end macro definition> ; macro text definition> ; macro text definition> ; macro text definition,.MACRO %{macro_name}% %[formal_arg_list]%... Macro call6Identifier name specifying a call to a defined macro. MACRO DIRECTIVESIRPCIRPNCHRNARGENDRREPEATMEXITMDELETEENDMMACROmacro formal argument@A symbol to be replaced by the actual arguments in a macro call. Macro name8 The name of the macro which can be up to 32 characters.,macro name list%{macro_name}% S ;number of arguments per instruction. Smb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andMacro deletion directiveMacro deletion directive .MDELETE %{macro_name_list}%...MESSAGE DISPLAY DIRECTIVESERRORWARNPRINTExit macro expansionExit macro expansion.MEXIT S ;number of arguments per instruction. Ymfpr_asn%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_asten%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_astsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_esp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_fen%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_ipl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_mces%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_pcbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_prbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_ptbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_scbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_sisr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_ssp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_tbchk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_usp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_vptb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_whami%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xmf_fpcr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andMNEMONIC = %{mnemonic_name}%Instruction mnemonic name1Mnemonic name by which the instruction is called.Module.END %[entry_point]%%[source_statement]%....IDENT %{id_string}%).TITLE %{module_name}% %[listing_title]%+Quoted string or identifier for module name,Quoted string or identifier for module title S ;number of arguments per instruction. Tmov%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andas the generated message.EA character string enclosed in double quotation marks to be displayed S ;number of arguments per instruction. Vmskbl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vmsklh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vmskll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vmskqh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vmskql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vmskwh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments $ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;17per instruction. Vmskwl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_asten%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_astsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_datfx%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_esp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_fen%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_ipir%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_ipl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_mces%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. ]mtpr_perfmon%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_prbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_scbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_sirr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_ssp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_tbia%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbiap%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_tbis%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbisd%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbisi%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_usp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_vptb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xmt_fpcr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umull%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umuls%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umult%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andNumber of arguments directiveNumber of arguments directive.NARG %{narg_user_id}%%Variable assigned number of argumentscurrent macro call.@User identifier which is assigned the number of arguments in theNumber of characters directiveNumber of characters directive&.NCHR %{nchr_symbol}%, %{nchr_string}%;The string of which the number of characters is determined.8Symbol assigned the number of characters in nchr_string. S ;number of arguments per instruction. Unegf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Unegg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Unegl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Unegq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Unegs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Unegt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andControl listing file optionsControl listing file options.NLIST %[list_option_item]%...#,NONSTANDARD= %{boolean_value}% ;  S ;number of arguments per instruction. Tnop%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andControl listing file optionsControl listing file options.NOSHOW %[list_option_item]%... S ;number of arguments per instruction. Tnot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and$1 argument. Is macro arg1 not blank?$1 argument. Is macro arg1 not blank? NOT_BLANK 1 argument. Is arg1 not defined? 1 argument. Is arg1 not defined? NOT_DEFINED!1 or 2 arguments. Is arg1 = arg2?!1 or 2 arguments. Is arg1 = arg2? NOT_EQUALstore octa word of dataStore octa word of data!.OCTA %{data_expression_list}%...An opcode/instruction argument.,%{opcode_arg}%User defined opcodes %{encoding}% %{format}%,$OPDEF %{mnemonic}%, !OPDEF and Calling Standard MacrosROUTINERETURNPROCEDURE_D|$ALPHA_MACRO64012.A/! {q|HE64;170L=IUG&^M  ؜l%zv -io[w/Il*3?4\ *Vu>0tNo>6 0m y$HF(m*W?ɓH9d9mZ%ٿ#7"4aM4m .>?`BBg6[+q=ؽ)SUDCaz_0,)/]A` bQj ɐ.VvgnFD80 xGvc}y*ǽvW$Ֆ'=ڪXޑ\u'(?$p1c1L%m "1/)UX2c4˛C\Qiv-vA1)cGtF¤Z aseACjrL3sYQ)2 Bҷ#S}DaD"wR^+5 zl\P} 3= fTY*_T+d`@h$xkge"(?Di ٻh;6%+YmgO)zl Pd["eu0 &Db ab~2KOMW93Z&n"z.Ij{ie~26O7E68f}PMat<<QѝM!)%;\+\r1^Chfn"#T*D.9#1ٳ! H/*O'oZFtW71k+A P^s=SZzhUeeeB)֎ WZ~v_y_KտRqw1/^CHS0?{ +s*ߋŋU͹/;iL 㡎ij EX/GbDBm`P̌H[͞k,D@zqxtHP5.xXEG:`r">!?c?~k@ ˜~ECȄ&ED[YN"ji6:|=ntVVgGmXA7P C)IwR=R|P'VRE#䑠;:Ϫe9%bSƫ" uC׮䝼Ѣ[:.þ ԅT{Ykwkŝ!EbȘ3Cc0&<[yp| X\&T ?DIĸFY)mK1 w؇iLW]94d Oࡩ^[k $djo{sRv[ Dz[^ pJ(2M@8ȃdD&w&;/0@}AR YƖwc8!SQIVԈ*Jn_\=ƓwNn?iI,NxlɒъhfjpM6ƚ 2/*eY J`$QEH181%+C!&pc?gbdGrpAUO$G@GaX%Ocx #>pT0K-2Hջq~k.!"n'xmHq8vV9o~RHK#4/ 9'q!č@7/s+ oZ\s,gE7xo33TjǙ#UM+pJq5e @-uzBDjU\ v*տb/V8gbUyB|&>!>bԕQEYu}l>)x6Mo0ml Gx-e {2IoH?t a^1Ԕ[Ҝvd|+cԛ k%C-MaY"6j-oPGn"mvs_>q3gg+-$= @W7#@.C`n+]i2'W 1_h,oV!`)~ǁpzr?ZjDw=n+jeBf{8E$I~ykl+Dz(1q4GF]^+ ~_މL1E,N3W3qpcfyHCSA7'Z/5X~)qG~.N"w0|n 'NXVH !1QI}F8"~zϥG6l+Bh{1!clMkQlj?n9.OK. ?!'] 5Ap?. g*n7u$|NZTs4+_'!Hq@H;AonvF  ())f{ydq$ i@iM ZLMF8۱a=$&l3khZ;=t{j1^Jw$nUm|af5Rs,K("vCXp3_5cBBat+1~ RTg.`j4U"[R,"O0tVWNM΍(wBt(ZEuI0Ao6A ?}9QגƸxE_ A-]@Lk.JHdy0?It"#vJ20U9,6.c$EXzLd-JxMfJGjfmloIg$w>CMF$a&DRK:A_j2aơ@W8ZWn:p.|k3+;(\ slPffAݲCu:X#у+gTB;X/ONv3N }(D* RĎN#[a&o(@戩q蜎5/$s@l\TT'e$Ok PG-nc2\A߉e}t9 Lx4g,H\| 4ξoI3{EQ Ƭ乇5w kdj [fЎ1>tG0"dz,awH0cR|tDo5sMO73i^[ /S}AHIH8l3-JJPO˻T|.ӊό5OO% iGKnEQh)"uNtnpro%ky.0% ~|XME?>g y=Zxښ!Y}½DRqLn\P`LNB$ p)X,O(]9vl`xWs,4ݮ}d95o /clH;SU#>0@le?㋽x,S姒L#*>B29RAELp+:AiWqId>Qu15_DC!A;/Y~Ne疒y[!ZgcOVj[I}=ap|旬 .MҶ ?PXu1*=i!_sO]Qơ? ?'Ai[dw+\k'92V)=+v) \E9v-bz˶8٤k? ZN5-mBD9) " F\Y ?* l~^w*r^0SaPbz'j]*8JsVR)jaL>SEu|9cŘHE2{cy1ğQʃZC7 14+} g%3lhK֕+ܟ| m8 Է^'5?BVx]KMfr ұ Amdv ۄ4$K?`2QǑ]c\vM]5LtHw| =&|S&h PlmPQ\2HPH;UJ=!lu ldr+yi9 4 L~Lh 'ilGTs\MXGVJL^%Pǎl$p9*D]EHx$TG| 8sE݅{nVspI /p@[sl6T],s==w1I>8vN2JYRScdbeսmU' ¥F6dxu_,_ØRV?^v]Nbݓ;t.h2n 7PwuOqY2LA)?ȡ8>nHHHAC Z,p ^\VA?6"mIӍ!QVNEC4'Ixÿ[i>LcPҿsx]<ߵ r^LMCIiא6'R?zWHb6C@1 Zy~zi윱>BJKjU&O8кWG%{jMD??< |gLIZO} > P;1T`;ʟ@`_ 3F@{~Cxk|) OtuhoL2^]Ӆq?}pci-X2Š8P(IaqmNgQjgD<ι sSJԦ axg[8 UES1I([VW*:20~h&?VKENst&>rN'کL:C<]6PxPszU;\adWjkrs $_:w -f _0! :#:,~Px5 dbo n!$BLBnϞv9mUM3!V/5NaVwُMr)_73eT7:/&$hOIvK*L4hdpPHN#Y,+!n}r!jf~R{Du :O ]rpٺRa_2%ZA¬SYZEJ_=[GWӗl/g٫аc 8?24uy-I(&9<o"J1PiŸG0}9L<{6@Nw.&0xKD5$'eyΉI6RNgjw5 ^hXecaO~U vy>vj.Q^| 9@}{K,t~ۢ(D.¦F 7ҡ=؋:rH9Su<Š@*F)bKڬ,|n>3G1[@SE@m䶢0 +5 00":sgk,)$z%SưR/qN=$cZ4l sBɀ| ~I]C`(7%! #9{%8S!FOKު ܦ/jp'Y ۘ(q;˅t.2¯< si)r m< N:[b'1t_س DHZgrRbׄM9P6G~9V3Du'J0(O>ߊ(lXWHײ=-1+^;k˦Mcʪ `ٛU0n̩IaOw7&t3Yx &eEzp.%}k컈.:O+4W{>;­=q_q!A >s nB LR/5~9_p᠙9}dYh1I":6dnD}b2swCp]YHEe{LTmR4;T@\0;EE&Gl"TECN.vBmr.}#^sWYq$+!غX%ϧPpi`bw~d ^iez6E`NhUbd' W*.kM4Ncz3ZFiNB|!# boF:L.^l^(QwD-?nKr]!5ή?yQtau+!{"XT !4ȑ{DS xd R$[ +XJ#Y9@-mq )`CxbC[NlzCN45ADI7uNnMI- 9 ;pÊ zA^bsS G,u+ # )?8nޓ'O0is-buzlOadDnke 8,x$$FL Tf4S*&噆\-f+'Ry4p/dn0'!)TrQ@.ljk_~! ђfq>Q5*6rA#G{fQ[d{GvbeQ#Զ8h vdw'+ < Y5n_;iFnjzoW 4pX*p3cγ5]oף<'mA %PD= LT;] 4AfNa+:܂SOQL]_$F(_吅 d *  * (   @ 0          '  @E$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1"ESCRIPTOR_MACROOPDEFLINKAGE_SECTIONLINKAGE_PAIR_MACRO END_ROUTINE END_PROLOGUE END_EPILOGUE DATA_SECTION CODE_SECTION CALL_MACROBEGIN_EPILOGUEOPERATE implied.E units of the directive-implied size to allocate. If omitted, a 1 is GAn optional integer expression representing the number of block storage&Optional psect directive argument list , %{optional_psect_arg_list}%...,"Psect directive optional arguments %{psect_arg}%Optional search list string, %{search_list_string}%ASSEMBLER OPTION DIRECTIVESDISABLEENABLEBASE expressionBASE expression,%{base_expression}% S ;number of arguments per instruction. Sor%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vornot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and%overriding procedure descriptor flags%Overriding procedure descriptor flags,OVERRIDE_FLAGS = %{o_flags}%Override flagsPALPrint an informational message.PRINT.PRINT %{msg_string}% S ;number of arguments per instruction. Wprober%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wprobew%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andprocedure_descriptor directiveprocedure_descriptor directive6.PROCEDURE_DESCRIPTOR %{user_id}% %{req_code_address}%Define a procedure descriptorDefine a procedure descriptor %{end_prologue_par}% %[default_signature]% %[override_flags]% %[uses_vax_Arglist]% %[arglist]% %[func_ret]% %[env_val]% %[proc_val]% %[handler_reinvoke]% %[handler_data]% %[handler_add]% %[saved_regs]% %[size]% %[save_ra]% %[save_fp]% %[rsa_offset]% %[stack_ret_val]% %[rei_return]% %[base_reg_is_fp]% %[routine_kind]% %{entry_par}% %[local_par]% %[alias_par]%+$PROCEDURE_DESCRIPTOR NAME=%{routine_name}%Procedure descriptor name+procedure value of bound procedure's parent+procedure value of bound procedure's parent$,PROC_VAL = %{proc_descriptor_name}%PROGRAM SECTION DIRECTIVES RESTORE_PSECT SAVE_PSECTPSECTEnd of prologue labelProgramming section directiveProgramming section directive-.PSECT %{psect_name}% %[optional_psect_args]%Psect argument NOMIX_ATTMIX_ATTWRT_ATTSHR_ATTREL_ATTRD_ATTPIC_ATTOVR_ATT NOWRT_ATT NOSHR_ATTNORD_ATT NOPIC_ATT NOEXE_ATTLCL_ATTGBL_ATTEXE_ATTCON_ATTABS_ATTOCTA_ALIGN_KEYQUAD_ALIGN_KEYLONG_ALIGN_KEYWORD_ALIGN_KEYBYTE_ALIGN_KEYName of the psect;A 1-31 character string representing the name of the psect.store quad word of dataStore quad word of data!.QUAD %{data_expression_list}%... S ;number of arguments per instruction. Src%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vrd_ps%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yread_unq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Trei%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and2Boolean value for: This routine does an REI return4Boolean value for: This routine does an REI return?,REI_RETURN = %{boolean_value}% ; TRUE -- does an REI return S ;number of arguments per instruction. Xremqhil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yremqhilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xremqhiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yremqhiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xremqtil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yremqtilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xremqtiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yremqtiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xremquel%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xremqueq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andRepeat block directiveRepeat block directive;.ENDR ; end repeat block F ; range of text to be repeatedF ; range of text to be repeatedF ; range of text to be repeatedF ; range of text to be repeated .REPEAT %{integer_expression}%Repeat lexical operatorRepeat lexical operator;%REPEAT (%{string_to_repeat}%, %{integer_repeat_count}% )Required code address, %{code_address_label}% S ;number of arguments per instruction. Yresopc01%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc02%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc03%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc04%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc05%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc06%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ~$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1" ;number of arguments per instruction. Yresopc07%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0a%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0c%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0d%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0e%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc14%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc1c%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal19%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1b%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1d%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1e%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1f%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andrestore previous psectRestore previous psect.RESTORE_PSECT  S ;number of arguments per instruction. Tret%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and#Generate standard epilogue sequence#Generate standard epilogue sequence$RETURNReturn address register Rn Return type BASE register&Base register, R0 through R30, and SP.Declare a routine %[common_base]% %[synch_exception]% %[standard_prologue]% %[default_signature]% %[override_flags]% %[uses_vax_arglist]% %[arglist]% %[func_ret]% %[env_val]% %[proc_val]% %[handler_reinvoke]% %[handler_data]% %[handler_add]% %[saved_regs]% %[size]% %[save_ra]% %[save_fp]% %[rsa_offset]% %[stack_ret_val]% %[rei_return]% %[base_reg_is_fp]% %[routine_kind]% %[data_sect_ptr]% %[data_sect]% %[linkage_sect]% %[code_sect]% %[entry_par]% %[local_par]% %[alias_par]%$ROUTINE NAME=%{routine_name}%Name of called routine Routine kind Routine kind,KIND = %{routine_type}%Name of routine Routine typeBOUNDNULLREGISTERSTACK S ;number of arguments per instruction. Urpcc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Srs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andRegister save area offsetRegister save area offsetB,RSA_OFFSET = integer_offset ; Specify stack offset in bytes S ;number of arguments per instruction. Urscc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4addl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4addq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4subl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4subq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8addl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8addq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8subl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8subq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andList of saved registersList of saved registers$,SAVED_REGS = %{save_register_list}%Register with copy of FPRegister with copy of FP,SAVE_FP = %{FP_register}%Save the current psect contextSave the current psect context".SAVE_PSECT %[local_block_option]%Return address register nameReturn address register name ,SAVE_RA = %{Return_address_Rn}% List of saved registers Rns Fns Scratch registersScratch registers",SCRATCH_REGS=%{scratch_reg_list}%Scratch register listSearch list string7Search list string, enclosed in double quotation marks.G,SET_ARG_INFO = %{boolean_value}% ; TRUE == Set R25 with argument info S ;number of arguments per instruction. Vsextl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andControl listing file optionsControl listing file options.SHOW %[list_option_item]%...Store byte of storage .SIGNED_BYTE0.SIGNED_BYTE %{byte_integer_expression_item}%...Store word of storage .SIGNED_WORD0.SIGNED_WORD %{word_integer_expression_item}%...&,SIGNATURE_BLOCK = %{sig_block_add}% Address of signature blockFixed stack sizeFixed stack size?,SIZE = integer ; fixed stack size in bytes, multiple of 16 S ;number of arguments per instruction. Tsll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andSOURCE FILE INCLUSIONINCLUDE_SOURCE+Statements composing the source module body!opdef_and_calling_standard_macroslexical_operationssymbol_definition macro_call instructions directives S ;number of arguments per instruction. Tsra%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tsrl%[ins_qua= $ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1E["l]% %{opcode_arg_list}%... ;Consult the reference manual for type and,Boolean value for: Return value on the stack,Boolean value for: Return value on the stackG,STACK_RETURN_VALUE = %{boolean_value}% ; TRUE -- Return value on stackStack return value specifiedStack return value?,STACK_RETURN_VALUE=%{boolean_value}% ; TRUE or FALSE value-Boolean value for: Generate standard prologue-Boolean value for: Generate standard prologueL,STANDARD_PROLOGUE = %{boolean_value}% ;TRUE -- Generate standard prologueBegin search in this position, %{start_search_position}% S ;number of arguments per instruction. Tstf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tstg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tstl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vstl_c%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tstq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ustqp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vstq_c%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vstq_u%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and>A string specifying the list element delimiter of main_string.String lexical operatorString lexical operator(%STRING( %{symbol_name_as_a_string}% )lexical string assignmentlexical string assignment%{user_id}% = %{string_value}%string symbol value9A delimited string assigned to the specified symbol name. S ;number of arguments per instruction. Tsts%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tstt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Usubt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andSubtitle listing directiveSubtitle listing directive.SUBTITLE %{subtitle_name}% subtitle name a listing file page header.GA 1-31 ASCII character stringused as the subtitle on the second line of S ;number of arguments per instruction. Xswasten%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wswpctx%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andSYMBOL CONTROL DIRECTIVESWEAKEXTERNALDefine a user symbol STRING_SYMBOL LOCAL_SYMBOL GLOBAL_SYMBOL expression5relocatable value of psect/symbol +/- integer offset.CAn arithmetic expression whose result is an integer quantity, or a , symbol list%{symbol_name}% symbol nameA name representing the symbol.)Boolean value for: Synchronize exceptions)Boolean value for: Synchronize exceptionsA,SYNCH_EXCEPTIONS = %{boolean_value}% ;TRUE -- Generate TRAPBs store floating point dataStore floating point data .S_FLOATING %{floating_list}%...,TIE= %{boolean_value}% Time lexical operatorTime Lexical operator%TIME() S ;number of arguments per instruction. Vtrapb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and+remove leading and trailing spaces and tabs+Remove leading and trailing spaces and tabsTRIMType lexical operatorType lexical operator%TYPE(%{string}%)store floating point dataStore floating point data .T_FLOATING %{floating_list}%... S ;number of arguments per instruction. Vumulh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. VUNOP %[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and*Change all lowercase letters to uppercase.*Change all lowercase letters to uppercase.UPCASEUser identifierA user identifier Routine kind8Boolean value for: This routine uses a VAX argument list4 ; listN,USES_VAX_ARGLIST = %{boolean_value}% ; TRUE -- this routine uses VAX argument%Generate and print a warning message.WARN.WARN %{msg_string}%Declare a symbol as weakDeclare a symbol as weak.WEAK %{symbol_list}%... S ;number of arguments per instruction. UWMB %[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andstore word of dataStore word of data!.WORD %{data_expression_list}%...An integer expressionAAn integer expression value in the range -32,768 through +32,767.An integer expression,%{word_integer_expression}% S ;number of arguments per instruction. Zwrite_unq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ywr_ps_sw%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Txor%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wxornot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tzap%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S wL$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1" ;number of arguments per instruction. Wzapnot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and&ABS_ATT@?ADDF@IADDG@SADDL@]ADDQ@gADDRESS@tADDS@~ADDT@ALIAS_NAME_LIST@ ALIAS_PAR@ALIGN ALIGN_CODE ALIGN_DATA@& ALIGN_KEYWORD@9AMOVRM@EAMOVRR@QAND@ZANDNOT@fARGLIST@s ARGUMENT_LIST@ARGUMENT_TYPE_LIST@ASCIC@ASCID@ASCII@ASCIZ@BASE@BASE_EXPRESSION@BASE_REG_IS_FP@ BASE_REG_LIST@BEGIN_EPILOGUE@$ BEGIN_EXACT@5BEQ@>BGE@GBGT@PBICYBINARY@BIS@BLBC@BLBS@BLE@BLKA@BLKB@BLKD@BLKF@ BLKG@BLKL@BLKO@(BLKQ@2BLKS@<BLKT@FBLKW@PBLT@YBNE@b BOOLEAN_VALUEuBOUND@BPT@BR BRANCH_OFFSET@BSR@BUGCHK@BYTEBYTE_ALIGN_KEY@CALL@  CALL_ARG_LIST@ CALL_MACRO@/ CALL_MAC_NAME@BCALL_PAL@PCFLUSH@\CHME@fCHMK@pCHMS@zCHMU@CLR@CMOVEQ@CMOVGE@CMOVGT@CMOVLBC@CMOVLBS@CMOVLE@CMOVLT@CMOVNE@CMPBGE@CMPEQ@CMPGEQ@CMPGLE@CMPGLT@*CMPLE@5CMPLT@@CMPTEQ@LCMPTLE@XCMPTLT@dCMPTUN@pCMPULE@|CMPULT@ CODE_ADDRESS@CODE_ENTRY_POINT_LABEL@ CODE_SECT@ CODE_SECTION@!CODE_SECTION_PSECT_AND_ATTRIBUTES@ COMMON_BASE CONDITIONALS@XCONDITIONAL_ASSEMBLY_DIRECTIVES}CON_ATT@CPYS@CPYSE@CPYSNCUSTOM@ CVTDG@ CVTGD@ CVTGF@+ CVTGQ@6 CVTLQ@A CVTQF@L CVTQG@W CVTQL@b CVTQS@m CVTQT@x CVTST@ CVTTQ@ CVTTS@ DATA_ADDRESS@ DATA_SECT@ DATA_SECTION@ !DATA_SECTION_PSECT_AND_ATTRIBUTES@ DATA_SECT_PTR@ DATA_STORAGE_DIRECTIVES@# DEFAULT_SIGNATURE@: DIRECTIVES@J DISABLEW DISPLACEMENT@o DIVF@y DIVG@ DIVS@ DIVT@ DRAINA@ DRAINT@ D_FLOATING@ EDIT_LEXOP@ EDIT_OPTION@ ELEMENT_LEXOP@ ELSE@ ELSE_OPTION@ ENABLE@ ENABLE_OPTION_ITEM@2 ENCODING@@ ENCODING_INS@R ENDC@\ ENDM@f ENDR@p END_EPILOGUE@ END_EXACT@ END_PROLOGUE@ END_PROLOGUE_PAR@ END_ROUTINE@ END_ROUTINE_NAME@ ENTRY_PAR@ ENTRY_POINT@ ENVIRONMENT_VALUE@ ENV_VAL@$ EQV@- ERROR8 EVEN@ EXCB EXE_ATT EXPANSIONS@9 EXTBL@D EXTERNAL@R EXTLH@] EXTLL@h EXTQH@s EXTQL@~ EXTRACT_LEXOP@ EXTWH@ EXTWL@ FABS@ FBEQ@ FBGE@ FBGT@ FBLE@ FBLT@ FBNE@ FCLR@ FCMOVEQ@FCMOVGE@FCMOVGT@FCMOVLE@+FCMOVLT@8FCMOVNE@EFETCH@PFETCH_M@]FMOV@gFNEG@qFNOP@{FORMAT@ FORMAT_ITEM@ FP_REGISTER FREGISTER@FUNC_RET@ F_FLOATINGGBL_ATT@GENTRAP$GLOBAL@u GLOBAL_SYMBOL@ G_FLOATING@HALT@ HANDLER_ADD@HANDLER_ADDRESS@ HANDLER_DATA@HANDLER_REINVOKE@ ID_STRING@IF@ IF_CONDITION@IF_FALSE@'IF_TRUE@4 IF_TRUE_FALSE@GIIF@PIMBYINCLUDE@INCLUDE_SOURCEINDIRECT@INSBL@INSLH@INSLL@ INSQH@INSQHIL@!INSQHILR@/INSQHIQ@<INSQHIQR@JINSQL@UINSQTIL@bINSQTILR@pINSQTIQ@}INSQTIQR@INSQUEL@INSQUEQ@ INSTRUCTION@ INSTRUCTIONS@INSWH@INSWL@INS_INTEGER_EXPRESSION@INS_QUAL@ INTEGER_LEXOP IREGISTER@/IRP@8IRPC@BJMP@KJSR@T JSR_COROUTINEgJUMPwLCL_ATT@LDA@LDAH@LDF@LDG@LDL@LDL_L@LDQ@LDQP@LDQ_A@LDQ_L@LDQ_NOP@LDQ_U@*LDS@3LDT@< LENGTH_LEXOP@NLEXICAL_ESCAPE@bLEXICAL_OPERATIONS@zLEXICAL_STRING_SYMBOL@ LEXICAL_SUBLIBRARY@&LINKAGE_CONTROL_DIRECTIVES@F LINKAGE_PAIR@XLINKAGE_PAIR_MACRO@pLINKAGE_PAIR_NAME@LINKAGE_REGISTER_ARG@ LINKAGE_SECT@LINKAGE_SECTION@LINKAGE_SECTION_ADD@LINKAGE_SECTION_ADDRESS@$LINKAGE_SECTION_PSECT_AND_ATTRIBUTES@(LINKAGE_SECTION_REGISTER@FLIST@PLISTING_CONTROL_DIRECTIVES@p LISTING_TITLE@ LIST_OPTIONLITERAL LOCAL_BLOCK@LOCAL_BLOCK_OPTION@LOCAL_CALL_BOOL@LOCAL_CODE_ADDRESS@LOCAL_LINKAGE_PAIR@5 LOCAL_PAR@DLOCAL_PROCEDURE_DESCRIPTOR@d LOCAL_SYMBOL@v LOCATE_LEXOP@LOCATION_CONTROL_DIRECTIVES@LONGLONG_ALIGN_KEY@MACRO@ MACRO_CALL@MACRO_DIRECTIVES@ MB@MDELETE"MEMORY4MEMORY_FUNCTION@OMESSAGE_DISPLAY_DIRECTIVES@oMEXIT@zMFPR_ASN@ MFPR_ASTEN@ MFPR_ASTSR@MFPR_ESP@MFPR_FEN@MFPR_IPL@ MFPR_MCES@ MFPR_PCBB@ MFPR_PRBR@ MFPR_PTBR@ MFPR_SCBB@ MFPR_SISR@,MFPR_SSP@: MFPR_TBCHK@JMFPR_USP@X MFPR_VPTB@g MFPR_WHAMI@wMF_FPCRMIX_ATT@MNEMONIC@ MNEMONIC_NAME@MODULE@ MODULE_NAME@MOV@MSKBL@ MSKLH@MSKLL@!MSKQH@,MSKQL@7MSKWH@BMSKWL@M MTPR_ASTEN@] MTPR_ASTSR@m MTPR_DATFX@}MTPR_ESP@MTPR_FEN@ MTPR_IPIR@MTPR_IPL@ MTPR_MCES@ MTPR_PERFMON@ MTPR_PRBR@ MTPR_SCBB@ MTPR_SIRR@MTPR_SSP@ MTPR_TBIA@! MTPR_TBIAP@1 MTPR_TBIS@@ MTPR_TBISD@P MTPR_TBISI@`MTPR_USP@n MTPR_VPTB@}MT_FPCR@MULF@MULG@MULL@MULQ@MULS@MULT@NARG@ NARG_USER_ID@NCHR@NEGF@NEGG@NEGL@ NEGQ@NEGS@NEGT@(NLIST3 NOEXE_ATT NOMIX_ATT@ NONSTD_BOOL@NOP NOPIC_ATTFNORD_ATT@NOSHOW NOSHR_ATT@NOT NOWRT_ATTFNULL@^OCTAhOCTA_ALIGN_KEYODD@OPCODE_ARG_LIST@OPDEF@!OPDEF_AND_CALLING_STANDARD_MACROS@'OPTIONAL_INTEGER_EXPRESSION@HOPTION_DIRECTIVES@_OPT_BASE_EXPRESSION@xOR@ORNOT@OVERRIDE_FLAGSOVR_ATT@O_FLAGSPAGE(PEEPHOLEnPIC_ATT@PRINT@PROBER@PROBEW@PROCEDURE_DESCRIPTOR@ PROCEDURE_DESCRIPTOR_MACRO@2 PROC_DESCRIPTOR_NAME@L PROC_VAL@Z PROGAM_SECTIONING_DIRECTIVES@} PROL_LABEL@ PSECT@ QUAD QUAD_ALIGN_KEY@ RC RD_ATT@D!RD_PS@O!READ_UNQ]!REGISTER@!REI@! REI_RETURN!REL_ATT@!REMQHIL@!REMQHILR@!REMQHIQ@"REMQHIQR@"REMQTIL@""REMQTILR@0"REMQTIQ@="REMQTIQR@K"REMQUEL@X"REMQUEQ@e"REPEAT@r" REPEAT_LEXOP@"RESOPC01@"RESOPC02@"RESOPC03@"RESOPC04@"RESOPC05@"RESOPC06@"RESOPC07@"RESOPC0A@"RESOPC0C@#RESOPC0D@#RESOPC0E@#RESOPC14@,#RESOPC1C@:#RESPAL19@H#RESPAL1B@V#RESPAL1D@d#RESPAL1E@r#RESPAL1F@# RESTORE_PSECT@#RET@#RETURN@#RETURN_ADDRESS_RN@# RETURN_TYPE@#RN@#ROUTINE@#ROUTINE_CALLED@# ROUTINE_KIND@ $ ROUTINE_NAME@$ ROUTINE_TYPE@/$RPCC@9$RS@A$ RSA_OFFSET@Q$RSCC@[$S4ADDL@g$S4ADDQ@s$S4SUBL@$S4SUBQ@$S8ADDL@$S8ADDQ@$S8SUBL@$S8SUBQ@$ SAVED_REGS@$SAVE_FP@$ SAVE_PSECT@$SAVE_RA@$SAVE_REGISTER_LIST %SCHEDULE@U% SCRATCH_REGS@g%SCRATCH_REG_LIST@}% SET_ARG_INFO@%SEXTL@%SHOW%SHR_ATT@% SIGNED_BYTE@% SIGNED_WORD@% SIG_BLOCK@& SIG_BLOCK_ADD@!&SIZE@+&SLL@4&SOURCE_INCLUSION@J&SOURCE_STATEMENT@`&SRA@i&SRLr&STACK@& STACK_RET_VAL@&STACK_RET_VAL_BOOL@&STANDARD_PROLOGUE@&STF@&STG@&STL@&STL_C@&STQ@&STQP@'STQ_C@'STQ_U@' STRING_LEXOP@0' STRING_SYMBOL@C'STS@L'STT@U'SUBF@_'SUBG@i'SUBL@s'SUBQ@}'SUBS@'SUBT@'SUBTITLE@' SUBTITLE_NAME@'SWASTEN@'@{$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1|("SWPCTX@'SYMBOL_CONTROL_DIRECTIVES@'SYMBOL_DEFINITION@(SYMBOL_EXPRESSION@(SYNCH_EXCEPTION@-( S_FLOATING@=(TIE_BOOL@K( TIME_LEXOP@[(TRAPB@f( TYPE_LEXOP@v( T_FLOATING@(UMULH@(UNOP@(USER_ID@(USES_VAX_ARGLIST@(WARN@(WEAK@(WMB@(WORD(WORD_ALIGN_KEY@) WRITE_UNQ)WRT_ATT@V)WR_PS_SW@d)XOR@m)XORNOT@y)ZAP@)ZAPNOT8)ADDFV*ADDG+ADDL+ADDQ,ADDRESS-ADDRESS_EXPRESSIONl-ADDRESS_EXPRESSION_ITEM-ADDSy.ADDTA/ALIAS_NAME_LIST}/ ALIAS_PAR/ALIGN0 ALIGN_INTEGER0 ALIGN_KEYWORDT1AMOVRM2AMOVRR2AND3ANDNOTy4ARGLIST4 ARGUMENT_LIST#5ARGUMENT_TYPE_LISTN5ASCIC5ASCID 6ASCIIb6 ASCII_STRING6ASCIZ&7BASE{7BASE_EXPRESSION7BASE_REG_IS_FPp8 BASE_REG_LIST8BEGIN_EPILOGUEE9 BEGIN_EXACT9BEQm:BGE4;BGT;BIC<BIS=BLANK_IF=BLBC>BLBSs?BLE:@BLKA@BLKBABLKDxABLKFABLKGXBBLKLBBLKODCBLKQCBLKS*DBLKTDBLKWEBLTEBNEF BOOLEAN_VALUEFBPTGBRpHBRANCHHBSRRIBUGCHKJBYTEvJBYTE_INTEGER_EXPRESSIONJBYTE_INTEGER_EXPRESSION_ITEM)KCALLK CALL_ARG_LISTL CALL_MACROM CALL_MAC_NAMENCALL_PALNCFLUSHOCHMEyPCHMKAQCHMS RCHMURCLRSCMOVEQbTCMOVGE,UCMOVGTUCMOVLBCVCMOVLBSWCMOVLEVXCMOVLT YCMOVNEYCMPBGEZCMPEQ}[CMPGEQG\CMPGLE]CMPGLT]CMPLE^CMPLTm_CMPTEQ7`CMPTLEaCMPTLTaCMPTUNbCMPULE_cCMPULT)d CODE_ADDRESSdCODE_ADDRESS_LABELdCODE_ENTRY_POINT_LABELe CODE_SECT}e CODE_SECTIONe!CODE_SECTION_PSECT_AND_ATTRIBUTES&fCOLLAPSEsf COMMON_BASEfCOMPRESSjgCONDITIONAL_ARG_LIST>hCONDITIONAL_ASSEMBLY_DIRECTIVEShCPYSiCPYSEWjCPYSN k CUSTOM_OP_ARGkCUSTOM_OP_ARG_LISTkCUSTOM_OP_LIST lCVTDGlCVTGDmCVTGFfnCVTGQ/oCVTLQoCVTQFpCVTQGqCVTQLSrCVTQSsCVTQTsCVTSTtCVTTQwuCVTTS@v DATA_ADDRESShvDATA_EXPRESSION_ITEMvDATA_EXPRESSION_LISTv DATA_SECTWw DATA_SECTIONw!DATA_SECTION_PSECT_AND_ATTRIBUTESx DATA_SECT_PTRfxDATA_STORAGE_DIRECTIVESyDEFAULT_SIGNATUREdz DEFINED_IFz DIFFERENT_IFB{ DIRECTIVES|DISABLE}DIVF}DIVG~DIVSZDIVT"DRAINADRAINT D_FLOATING EDIT_LEXOP EDIT_OPTIONEDIT_OPTION_LIST5 ELEMENT_LEXOPELSE ELSE_OPTION8ENABLEENABLE_OPTION_ITEMENABLE_OPTION_LISTJENCODINGz ENCODING_INSӅENDC ENDM\ENDR END_EPILOGUE END_EXACTk END_PROLOGUEEND_PROLOGUE_PAR< END_ROUTINEEND_ROUTINE_NAMEˈ ENTRY_PAR5 ENTRY_POINT؉ENVIRONMENT_VALUEENV_VAL]EQUAL_IFɊEQVERROREXCBEXTBLvEXTERNALEXTLHEXTLLEXTQHNEXTQL EXTRACT_LEXOPEXTWHgEXTWL0FABSFBEQFBGEFBGTPFBLEFBLTFBNEFCLRpFCMOVEQ;FCMOVGEFCMOVGTћFCMOVLEFCMOVLTgFCMOVNE2FETCHFETCH_MƟFILENAME$ FLOATING_LISTuFLOATING_OPERATEFLOATING_POINT_CONSTANT͠FMOVFNEG]FNOP%FORMAL_ARG_LISTrFORMAT FORMAT_ITEM6 FP_REGISTERiFUNC_RETƤ F_FLOATING-GENTRAP GLOBAL_SYMBOL1GREATER_EQUAL_IF GREATER_IF G_FLOATING\HALT$ HANDLER_ADDHANDLER_ADDRESS HANDLER_DATAHANDLER_REINVOKEʩ IDENTICAL_IFP ID_STRINGIF IF_CONDITIONIF_FALSEOIF_TRUEݮ IF_TRUE_FALSEIIFIMBݰINCLUDE_SOURCEVINSBLINSLHINSLLINSQHzINSQHILEINSQHILRINSQHIQܶINSQHIQRINSQLqINSQTIL<INSQTILRINSQTIQӺINSQTIQRINSQUELjINSQUEQ5 INSTRUCTION INSTRUCTIONSINSWHVINSWLINS_INTEGER_EXPRESSIONINS_QUALINTEGER_EXPRESSIONV INTEGER_LEXOPINTEGER_OR_ALIGN_KEYWORDIRPIRPC IRPC_FORMAL_ARG IRPC_STRING IRP_ACTUAL_ARG_LISTIRP_FORMAL_ARGJMPJSRz JSR_COROUTINEKLDALDAHLDFLDGhLDL/LDL_LLDQLDQPLDQ_APLDQ_LLDQ_NOPLDQ_ULDStLDT; LENGTH_LEXOP LESS_EQUAL_IF LESS_THAN_IFTLEXICAL_ESCAPELEXICAL_OPERATIONSLEXICAL_STRING_SYMBOL LEXICAL_SUBDLINKAGE_CONTROL_DIRECTIVES LINKAGE_PAIR<LINKAGE_PAIR_MACROfLINKAGE_PAIR_NAMELINKAGE_REGISTER_ARG LINKAGE_SECTgLINKAGE_SECTIONLINKAGE_SECTION_ADDTLINKAGE_SECTION_ADDRESS$LINKAGE_SECTION_PSECT_AND_ATTRIBUTESLINKAGE_SECTION_REGISTERLIST[LISTING_CONTROL_DIRECTIVES LISTING_TITLE[LIST_ELEMENT_NUMBER LIST_OPTIONULIST_OPTION_ITEM~LOCAL_BLOCK_OPTIONLOCAL_CALL_BOOLTLOCAL_CODE_ADDRESSLOCAL_LINKAGE_PAIR, LOCAL_PARLOCAL_PROCEDURE_DESCRIPTOR@ LOCAL_SYMBOLx LOCATE_LEXOPLOCATION_CONTROL_DIRECTIVESLONG6 LOWERCASEMACRO MACRO_CALLgMACRO_DIRECTIVESMACRO_FORMAL_ARGUMENTe MACRO_NAMEMACRO_NAME_LISTMBMDELETE"MESSAGE_DISPLAY_DIRECTIVESrMEXITMFPR_ASN MFPR_ASTENO MFPR_ASTSRMFPR_ESPMFPR_FENMFPR_IPL MFPR_MCESN MFPR_PCBB MFPR_PRBR MFPR_PTBR MFPR_SCBB MFPR_SISROMFPR_SSP MFPR_TBCHKMFPR_USP MFPR_VPTB MFPR_WHAMIPMF_FPCRMNEMONICL MNEMONIC_NAMEMODULE= MODULE_NAMEMOVt MSG_STRINGMSKBLMSKLHMSKLLI MSKQH MSKQL MSKWH MSKWLm  MTPR_ASTEN;  MTPR_ASTSR  MTPR_DATFXMTPR_ESPMTPR_FENo MTPR_IPIR<MTPR_IPL MTPR_MCES MTPR_PERFMON MTPR_PRBRr MTPR_SCBB? MTPR_SIRR MTPR_SSP MTPR_TBIA MTPR_TBIAPs MTPR_TBIS@ MTPR_TBISD MTPR_TBISIMTPR_USP MTPR_VPTBuMT_FPCR@MULFMULGMULLMULQ` MULS(!MULT!NARGU" NARG_USER_ID"NCHR`# NCHR_STRING# NCHR_SYMBOL$NEGF$NEGG%NEGL]&NEGQ%'NEGS'NEGT(NLIST ) NONSTD_BOOLX)NOP*NOSHOW*NOTR+ NOT_BLANK_IF+NOT_DEFINED_IF, NOT_EQUAL_IFx,OCTA, OPCODE_ARG-OPCODE_ARG_LIST<-OPDEF-!OPDEF_AND_CALLING_STANDARD_MACROS.OPERATE.OPTIONAL_INTEGER_EXPRESSION/OPTIONAL_PSECT_ARGS/OPTIONAL_PSECT_ARG_LIST>0OPTIONAL_SEARCH_LIST_STRING0OPTION_DIRECTIVES0OPT_BASE_EXPRESSION1OR1ORNOT2OVERRIDE_FLAGS"3O_FLAGSI3PALa3PRINT3PROBERy4PROBEWC5PROCEDURE_DESCRIPTOR5PROCEDURE_DESCRIPTOR_MACRO8PROC_DESCRIPTOR_NAME8PROC_VALk9PROGRAM_SECTIONING_DIRECTIVES9 PROL_LABEL9PSECTs: PSECT_ARG; PSECT_NAMET<QUAD<RC=RD_PSH>READ_UNQ?REI? REI_RETURN@REMQHIL`AREMQHILR,BREMQHIQBREMQHIQRCREMQTILDREMQTILRZEREMQTIQ%FREMQTIQRFREMQUELGREMQUEQHREPEATJJ REPEAT_LEXOPJREQ_CODE_ADDRESS KRESOPC01KRESOPC02LRESOPC03nMRESOPC04:NRESOPC05ORESOPC06ORESOPC07PRESOPC0AjQRESOPC0C6RRESOPC0DSRESOPC0ESRESOPC14TRESOPC1CfURESPAL192VRESPAL1BVRESPAL1DWRESPAL1EXRESPAL1FbY RESTORE_PSECTYRETyZRETURNZRETURN_ADDRESS_RN[ RETURN_TYPE2[RN~[ROUTINE^ROUTINE_CALLED^ ROUTINE_KINDB_ ROUTINE_NAMEj_ ROUTINE_TYPE_RPCC`RSHa RSA_OFFSETaRSCCb ]]$ALPHA_MACRO64012.A8x2 &[ASM.KITBUILD_20201CB9_A]MACRO64.ENV;1BS4ADDLccS4ADDQ-dS4SUBLdS4SUBQeS8ADDLfS8ADDQUgS8SUBLhS8SUBQh SAVED_REGSPiSAVE_FPi SAVE_PSECT"jSAVE_RAjSAVE_REGISTER_LISTj SCRATCH_REGS!kSCRATCH_REG_LISTOkSEARCH_LIST_STRINGk SET_ARG_INFO lSEXTLlSHOW@m SIGNED_BYTEm SIGNED_WORD n SIG_BLOCKGn SIG_BLOCK_ADDznSIZEnSLLoSOURCE_INCLUSIONoSOURCE_STATEMENTpSRAqSRLKr STACK_RET_VALrSTACK_RET_VAL_BOOLsSTANDARD_PROLOGUEJVboЬެ #9D[hͭ$3?O^kyŮ'4@V`n{ǯ֯$3CRaoðӰ#3CScsñѱ,@Tht~ƲԲ -?Nhxųѳ,8C[s~Ŵ޴ #0=Qfq|ĵԵ'@Ypöն!-8DZkz98ʷַ6BNevɸԸ -:G[ht̹߹ &2>IUamyͺغ &4@_˻ۻ $2@N]lzͼۼ-;I]w2YerľѾ޾,9FS`mʿ޿;Tfz 6KWjx-EXp '4AVcp| *7FVk!3BWo $8HWlw &6EUds1<H_r*7DS`kv5Ic|)IUw7Hj~ &8OYh .?Paq (5BO\iv 0ARbs&2>R^q$:NZl%Ha|*FV{ ,;KZjy!1AQaq!/H[et$2@N\j|  -9L_p*@KVany ".:FRbw $6FXeq1UfvJ06 MACRO/ALPHA 'Lse$File' AabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$._0123456789 %{module}%=#+-*/\&!@,;[]()<>.': MACRO-64 .M64P%{}%%{}%...%[]%%[]%...P;;-"<MACRO64&*[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1+,C.{0/ 4{0|0-2 0123KPWO|0562 7 89GHJL hf(vQ 0vQ MACRO-64MACRO64V1.2-108A11-20$J  $ )$L  $ce0$d r0$e $fJs0$( 4  DCXSHR_0018\ DEC$FORRTL_0018 DECC$SHR_0018f DPML$SHR_0014&   LBRSHR_0014& LIBOTS_0014 LIBRTL_001@4}SYS$PUBLIC_VECTORS_001!$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0 d Q X`uP;`x%@js 7 ~Xpu ;h7Hh0 h`|  XuX-  e =0@p2@-PHp p8p76 `( 60 `|  ( xp d<f 0    =0e00H0"( 0 Ti0"` @< p&0" 0 '0"8 @< 0'e@ e@ e e`!e!ee0"0 !ePe!ee e0!e0 e000xPe0`0H0000x0"H @ee08 0" 0" 0" 0"!e 0"0ep e`e e0 @ ` Pe =0h "e0 p `00  p 0,0 H,@< 0i{Xuy0 X+0 \Ъ6h0"x"0 0"eTi0 *0 0"` P0 6](0 x*0 0@*0 )0 0 8) 0 ( 0 '@< g{0 &@| 0 !0 0 @< 0"  Ě0 @   0 X@ 0 00 0  0 H  `0`0   =0 0-Xe 'e 0P20"H-@< px,p PЋP000 2 0 1 0 1 0 /0 h:0 p1 0 81 0 1 0 0 000 0 0 H0 0@-08-'e`'e@'e=0 P'e0 p2  e 'e 0'e'e&e0 X3 `00 3@< 0'e@'e`'eTi08e'e070" 6 /Н0 4` &e'e`&0x40h40@80"?  Ti'e0"p>0 `& 'eP'e0 8a@< 0 `0 0 `@< 0"@  (e(e(e@(e(e(e &0 _@< (e0 ^0 0 0^0 0 ]0 e0"Z@| 0 ]@| 0"\P 0 Y0 (e0 H8@<  F'l0"P0 H(T00 X9@< 0"Np 0 M 0"L0 @Ȅ)e= 0!0Ъ6h,=:8)e0 Q? X )ez=`{=7,=)ep&x[27T20 L @0 `(e00 KP )e@'0000 KP )e0ȟ00X J )e)e0@08 XD p'e0"A )e0 HP p(e(e0(ep'eP(e'e0H0 h:@ 0 @F` HoȤ'e0 H 0 PH 0 BP 0)e 6)e00 D 0 C 0@0@0 ?0 0?0?0?0?0 >  `00 P;@| `)e@=00"aP 0QPQs`Qp'`&0"(cP< P_'P`G 00"e@< Ph: QP/`P0 (q  `P0 h0 `PHx0 p  0(0 Xo0 e0 m0 H0 pl0 0 j0 0 @i0 0 q@< ظ&PPHX`0"`` P ''J4080r `G &`K0eh:PQ0Q0 s` Qp'P&KpPp`(0 ? JPH#F Q`&0 ȧ0 0$0  0 `@< `Q0"@< PP 40 p @*H80.0 p0 0 x@< @K 4"+#$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"PK0 P 0 ? 0 P '0 Xr0 50 0 50 @ 0 0 `h '0 {P 0 P J 50"H0 pQTiP Q`P0 @| P'e`JP`P*e 5J 5@`eP)&'0QPQpK `KPK 'epG P0 `@< *e`QP2 JPK@K=0@QQ> ףp)p pPPP@*e@P00H0  P;00 ظ HoȤ0 @< 0"P h:hq0 @< P0 0 Ћ0 < 0 7`G 'x"0<!<0 p0 KKpЌؐ0 0  0 x  WCWC`0=ЋpP`K 5h: QPQ0 0 PKp`(Jh`3X8/Q`JP.'b 'e@0"@< ``P2 p0ظ&KH8Pp 0Q0"0  '=Ћȧ PWCH#*ePP*e0"xp pKpPP@ 7p'@*e0 'XCWC0 @< 0 @| ظ&4 0 ` `''0"p PPQp'H# 5&0"`P 0"xP Q0Q`& .h:J`G 08" s`J&P@0 X@< @Q 5Q Q0("P KK`KKp`(^w}P0"p p0"XP *e0"PP 0"` 0"XP '0"0P 0" F0"P 0" 0"` 0"` 0 `@< 0 @< 0 @< 0 @< 0"  `P0 @| PQ Qp'Ph:Q0$ d0Qx#Jp`( '0"hp pe*p&c`&0 0 0 P P`d0"0 PK@K0QQ0 K0" @< PP`&0 J0 0 JKPp`(0 0 H# 0 0 0 @ @  QPQPh:0(p'Ћؕ0@ p< Qs`*ex :=04 *e0   +e*e +e*e*e0   `090*e*e*e+e0 *e0"h  Ti+e0"@< @*e0 0 Fp&&5(}Y'Q0(  e` 4 ( x 6H&,5@'0 P 'eP0 (P< L;5350PE5spPlr50"0 &0  HoȤ0 hP 0 Pp 0007 `G ?e@,e,e0,e?e?e@e0 0 +e?e@+e?eP,e`a~ ,e=00("x"`< xs MqPN`P0 0" `00 ! ,ehzP+epV?ep,ep?e0 $  +e@,e`s@M]+e0,?e0,~0 +0 `PpHȀH@`W8_0+?e0+0 +  zPPxs M ]^w\KGP}HvyP;?e|P0f|V p&Hh0P & nz@8 8) e(|0^^@e ,e80SJn(z0 %0 +eh:?e,e,e0 -0 ezPPP8 P;P`P0^00 ]P Ѕp&0p]0( \@ qPN0\0P\0 [0 (0 [ 0 8Z@ 0\0 Y 0 xX@ 0 X 0X?e0W0WP,e0 V@< #X0$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0%&?e?e+e0 xV ,e0 @V 0 U 0 U 0 T0 0P Q| +e^w`a0 PQ0 b0 P  0 O0 ?`??p?0?P0 8N0 0 M @0 M 0 XM @ 0 M 0 0L0 ,e@g{`80 K 08 Kp< ȁؐ0"I 0 GP @ 0 @G  (08 E` 0 PE  K80 D  K0 PD  L0 B  +e0 A  0 A  0 8@  0?0( X?@ 0 ? p ( 8f|8) ^0 ;@< p,ef|e(||P^|Pp`X0 P;0 08 h:` 08 (9` 0 `80 `0 h70 08 6` 0 h40 ?e@e?e0,e@,e ,e0 20 0( 1P 0x x/ 'eP g{Xuy00_ e0 t  @m`z0 s0 b0 xs0 0`s0 j  ?eh:0"PbP $e`aP;p"e`G 8 00@ @_ 0 r0 0"q0 0 p0 p?eh8,e,e08 m` +eؐ؄0 l  0 k  08 u` 0 e,eؐh:?e0 0}@< +eb0}0 |  0W^0 zP Љ؄pp`0 xz0 0hz0 Hx0 @,e`a,e؄@  p,eXH0 u0 h8(0 0~0 l e+e@"eh:,e,e?e+e@zPP00   `"eXuy0 @  0   P;0"`| ؐ+e^w0h 8 Pix{h{0 H0 0 0 `a0 0 0X08"ȿ.` 0,e08"` 00( ``| blz0 h@| 08"0` 000( p 0@00 X0 0( `| PP"e'0 ЏȮqPN@* &` H,` 08 p< 00&e0( `| T);Fxg{L:C0 0 0p08  sL؄r0N08 p| 0  0 00 ((0( ``< 8a00 0 0 (@| 0 p0 0 ȓ0 0 @< 0 0 k{0 0 k{08" 0H (p Y0 0 0 0 0H  Y`G @G 0 0@<  e+eP;,e+ezPP`,e&e0`0 0 ?ep,ef|^08) 0 0 0^( 0("``< +e^w0"x @G P0("`< 0"  0 0 9 h:  0 0 e0 0 `U`a Vx" 08 p< ؐ0 0 H 0"`0 P 0 ,e00x  0 0 bsL0) 0qPNr0NȮ0X  00 Џ0,e؄X X+ 08 hp| 0 0 80  0 0 x* *( ! 0 xP `G 0h0 ( 0  0f|0zPP|P,e e0 0 +ep,e@,e8) e(|^0 00 ,eh:V P`P0 0 ^w0 0 ^|`8( 0"` Ti?e0  HoȤ0 @| @X eHoȤTi&0"@| P&0 " P; 0;i<a3@C Dh4P0"0 ̀<d` 0 @< 0"P P ( x@''0"PP Y<^0" @| h:|<@d00  `00 0 =0H<f0 @0 @e!<0NPpH00P]vP2 $$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0)70 P@ 0 ?0 ]v0 >0 0 ?0 0 =0 0 P=0 0 <  X Z@vg0 H<  0 ;  `g0 8;  0 :0 g0 90 0 `90 0 80 8P u0 70 0 87  0 6  0 50 0 4  0 (40 0 3 P\v0 X3  8i0 20 0 X2  0 1  0 H1  i0 00 0 H0  0 /  0 .0 0 0.  @j0 -0 0 8-  0 ,  0 p, 0 +@ h:0 +  10 X*0 Usp10 )0 0 )0 0 (  0 @(:  0 h'0 Tt0 &0 0 %0 0 % 0 8%  0 $0 0 $0 0 #  810 "  0 "  0 X" 0 !  @@eS0t&0 (!  0 0 p 00 (   0 0 0 0 0 P  P0 0 0 (0 Rt0 0 0 0 0 `0 0   0 0 0 h0 0 W@ @eH00h:!<pBeP@e0P Np @uZ@v0 XV0 P]v0 M0 Y 0 K0 (]0 J  pq^pv0 K  0 HI  0 I0 0 HH0 G 0PWpBe0 F0 pЌ00 @F0 0 (E0 0 G0 Yu0 pD0 08 C` ؐ0 B0 0 A0 p @@e0 @P @0 U0 0 U0 t]v0 T  0 S0 0 8S0 t10 R0 0 Q0 t0 pQ0 0 P0 u0 8P0 0 O0 0X0X@@e0 X @hs0 Y0 @eH00P;!<pBeP@e0 Z@ h:0 ^ 0 ] 0 P] 0 P\@ 0 8[@ 0^0 pp 6p:>0 XtP :=0 XsP 0 rP :=0"Pj@ :4eTiBe0Xk0 oP :>0 oP D:0>0[ 0"x} 0 { ]p8m0z 'e0 H~` h:HoȤ0 Hvp \`G et:=0"Xu0 0nBe0ne0 Pn0 0("@m`< Be&p'Pe`~PP}0l0k0k0(jPe0je0 xi0 e0Pi00i0h0 gP &0@geee0f0f0e0 d@< 0e~P;0 ^` 0ee @e e< :3dr:p;\:3Be0"P` `&Ceرxep&X@Ti0 P0 ,P e0 p Be:4e`G Pe 60 Ж  HoȤ0 x  0"`@ 0 (0 0 ؕ  0 8 9' 'ePG Ћ0Ȯ000 0P ~0 e0"P 0eee@eBeP;00x0`pe0He0@080(e0000 0 `0PBe080P'e0`e0e0 Ч0 00x0  0"  0P00 ȣP 8) \:3< :3  e( @  0 p 0 p 0"@< 0"@ 0 @| 0 h  0 P| 0ؐ0 p` 0 x` 0 0 0"pP 0"0 0 P 0 Љ0 0 0 ee0 80 0"XP 0 0 00؄0Ȅ0 e0 0 0e0 0 0б0X0 ` 0رUpHmX@< :3eeee@ee eeBee eBeTi=0Pe`e0 P eeBe CeHx@ePe0e%lVv$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0N"HeBeeePP}~e^|808):70    :5`00 0 0 0 [ e@ =00"  Ti0  HoȤ0 `@| > ף@ph0Ѝ@@H0 " `G p' x4@0"0P 0"@< 0 h@| 0"@|  0 0 PP}0X  x"0<!<0" 0 X0 0"@| 08 pP ؐ0"P 0p 'e0 p `00@08"xp< PH;`E0"0 `0`G 00h00 `0 0 " @ /h /ؙ0@0 0 `&0 0"H` Tip&&0" 0" 0P00"p 0e` 0 0 0   0 P@< 0 0 0 @< ( x0 (  ee eeĤ^ep e p  e e@ ePe0 @< p !ee`!e 0!e !e!ee!e`ePee0  HoȤ "e0"`  Ti0 @< @$e&e!<&epp&eP$e0  `e$e0 (  X0  0 0 &ep @ 0 0 ȓ 0 0 0   0 "p +>+>@08 ` e,eh:?ezPPؐ0` P +e0\,ePh`qPNؕ`~0( 0"0"` `&08PP ȗ YpTi (]0H0 0ș0 0Ě0 8 =Ћ@` Pp 0H 0|@ HoȤ\00\P  0`0@p` /0M 0 0 0$0 0 @ 0D0 =0 0, 0 0 ȱ@ 0@x` :4HJC|.ȁ( `CD}.`5/8ܵ"Ht.X D3( l L3`v<0c6078`X[hDؘ0kP$[04 z:;~0ĹP=Ћ@`<mMH 0p HYP0ȟȃP<m!0в 0`0~=p| 0[2x js<7X H | [[ĭ<i@x= P |3@6/X2 pT2.H.Ȃ.H0"p.{.j7h. -@o @&4 6P8'\W0Ч 21`%`3"%2m&;@#=$= \#7!h%.p} p`0Д= 6`ز $.`#h" H8 L7` g&8{#@&4X"@p@sb0 ( P8 e&77(! i&8̣==X':6 b(0Y6`^&07 = `l[&6 7`88P'8"H 4_&7&0I+B&<<"dG#`9-g9@.`00 @ 00 IC00P 0 0 0$0 &:0` 0%0 }=@|=0 X@ 0p&0 0P<.Pz0d'@ AHPp( 0pH.{0'0  Z| 0HoȤ0x*@ p<dY<^ t<b)80<-@  TiP9Ls<b @ h8 0 4P  X}=@0@60 0 $70 X0 70 0 8 M5P _<_`005hD 5(D=lpР^ <n<Po=0<(edAP<8o@x= 0H&*$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0ZY, 0X8=p  hĭ<iA\P<mpw<`c<m`ȣ<=Ц=x<eAPAg<ha0|:0 0 :@ @g20@T;` 0 `C0 (0PCp 0(EP 0 ~=p=Ћ 0 H 0.0{A0 HA 00x] 1ȱ00xHe !08lP 0`o 0Ptp 0`y 08P 0Pȁ(< p0Xp 0P$ 0P@p 0ԙ0 0  =0 @0`p  0@  0  0  0  0+@ 08P  0P 0 ;^Z3(0Wt:^\>^0x ؝ F80ج px8ȵ084P =000hP 0@شP Ti0H(` HQ&5:5D^F^0 X0pܻ `"0`Խ 0Ppp  00 00P 0Xp ^,F c::D^(8V(7`8P7@C^HQ&5 0`!$< F^=^;^;^p'(UTD^<^dD^ X::lD^3(XWp0L:^=^<708$ !` 0  !@ ^dU:9 <'K0` ]!  &0I&GXi9.7 Pg&H8&PH0(@X!@ @D^0HLY!p 0 \!@ <^ 00x!0 0y! R&5e:;0@$!` 0! 0 ! 0P,!p 00,!P 0HP!p  0ؗ!  pV&06:,8D^a&7,h& 8[90,00!@ :^PD^0a:`:`X F@P<m=0ȃ0P!p ``0<mH MdG0$P 00@K$P  H 0<$0 H#{X0x?$ 0H@I$p 0hR$ ($0V$@ 0XW$0 0@hY$` 0\[$ 0`$ LHX  0o$@ 0Xp$p 00kP  P<mpP<mp''@`~=p0X 5 @%H X&004;P (t[r[08<P p6^LY3^X1^8^0xF  8D^7^SZYlD^45^08hMP M,<^ '^L:^=^0$P <^$:^y[f; J<^<^8' 0O0 0ptf  00mP 0p }[['D^00oP D^PD^@`8 F^c::0u$  HQ&5&:6@1[=Ћ lD^0$ "PP&500$P :^X1^@)0H$, a&7c'pM ='K00$$P V&x60$ 08 $P 0$ l_'L xj&;)_\BXf'ML0@$p  8 8e'M g&84;( Xe&7=^M0(%  dU:9d::R&5PL&(T,K;I0x% 0%  D=^:5+0@$%` <^\>^0h% 8D^,0a:`:0hܢ% 0X%p 0Xĵ%p `0( -o3^;^l'pQ,l`/P22t=(XX_&`70P<m 2;^ p(/;^dD^0h%$< ^8D^0h& [ 2^X1^l,^'^0P&p (WKt=(XX0P&p 0@&p$< V&06H0H&` MU&60 &@ a&70I8^LPc::P&5C^0&, :^<^e:;7^p6^L:^0@p.'` :5"P07'0 @`8 KJ0P/'$< >^PD^0a:`:0hH2'$< ,h& 80(@;'@ hK088'`  0;'0 dU:90( <'@ + b0 =' TiX':6`Ld::0@$V'` 0|Z'0 &<0P['p M00l_'P H =^ Pp=Ћ<^0(c'@ 08e'0 >^0 Xf'@ 4;( X0@pi'` Ti"DD^ P=Ћ 0p4k' 8 8[PH;Ip~=p P0u' 0<}' \E^F^|=P0' Q0' (F^dU:9@D^R08 '` =}=@08 '` pP08'` 0X0'p HQ&5Q;^<^00'P X1^0P'p c::P&50Pl'p M|:`@`RR0 4'0 0H'` 0'  e:;@;'@K7'JX:5"P|Z'LXf'Mt00HT(` 0p4 ( 0P (0 X;^00 (@ XWX1^=Ћ<;^U`T[D^0p|( 8 ;^+$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{00a:`:;^<^@` Pp 0,(0 D^0@/(` TdU:9`D^PD^F^U0(L&(@ 0PTO(p XU08Q( ~=p^0W̟` 0(0 0( LD^03(0 X03(  W0@h$(P W 0#( 0004(`  >^4>^ 05( 00 4;(@ 0O( 0@t=(` X0P@(p 0@@C(` @D^DD^TD^ 0G( 0H( 0,O( 0`b(, YR&5HQ&58e'Me&7 g&8&P<)_L0@dk(` ,K;I0o(@  HQ&5P (S (@S(W@;'@K7'Jl_'L;^|(S0xz( a&7c::ZXf'M)_ز e\e:;X1^dU:908(`  F^(]8\X\x\^f 0) 0, he0H\+p H Hp H0Pb+` f; J 0Ha+0 0PX,  (]0, 8D^0H,` 0h`u+ f 0r+0 0(}+`$< 0[, 0Ht,` 08,` 0Xf+ g 0\e+ 0,p+P 0(y,@ h h0(v,P 08w,`  0`<, 0h4, 0@ )` D"=Ћ P8[h0X0,p 8 pD=^@`"0,0 ̟`0``,  kX1^`j0@,` a&7HQ&50, t"XR&50PD,$< 0`, 3(XW0@,` "(8kk0X,p 8D^dD^ȟ`04, <"" 0, 0xH,$< ̿`X1^@` Pp`^0, 8 ~=p[sHT` 0,0 0, =Ћlm0x, 08d,`  0Pp,$< [}=@=|==~=p0P-$< C^uX1^<^ Huu(se&78 p08-P X Puo g&8@s0 -  `00( -0 =00 -@ M`v@ohu 0@ - 04-0 Ti 0L-P 0h- F^dU:9 0r`rqrrrr@q. Ti~=p=0,A(`70H.@ 0J.0 00K.@ 0L.0 0N. 0O.P0O. 0h|[. ~~0a.0 0`b.  0 o.0 00do.@ 00o.@ 0 4p.0 0Pi.p =0j. $7M50xk.  0 k.@ 00l.P 00dn.@ 00m.P 0 8  `0 08p.P &\=0 < :3p@`0P.p =Ћ|0/ p PTi0t. }=@|=0p0s.0 0{.0 0|.0 h0(D}.@ XfJ 0H.` (zJ!tJ!PqJ  0.0 0h.0 (0.0 0.0 0.0 0.0 ȇp0 (.@ 0@$.` 0.0$< $:^=^X1^L:^0a:`:(x0$.  H08p.P D^:500d.P F^0ě.0 0 .@ 0H.` /(TPD^`00`.P 0 |.@ 0. 0 .@ 00.P ;^{X0(x.P Ȍ08.P 08.`0 .@ 0Pp.p <^Tr7p@0h,.  0. 0 .@ 0`. 0 p 0. 0. 0p. =Њ^`^~=pt00 @.@ 00.P [| x 00.@ 0`H. 1/0@$.P 0P.p 08d.P HoȤ0.0 p0 .@ 0(.@ _J!0 .@ 00.P 0D.  &:6^^X0 X.@ 08/P 0X8/p 0/ X':6vb0 /@ 0d/ 0/0 0l /0 <^0 h /@ x0(</@ 0(\/@ 0@/` 08/P (00/P 0X,"/p |<^x 0!/ 0$/0 0 %/@ 00h'/P 0 `&/0 0`)/0 (4\ 0+/ ^^Hȍ0 0h*/@ 0 $//@ X':6 0(|0/@ #Bظ0t2/  `00H1/` 03/  =00(x3/@ Tix0(l4/@ 0``5/ BPX< ^x]<_0 6/@ @x= p0 7/@ <@i 08/ 009/  ؒ09/  09/@ 0;/0 0;/0 0/@ 0DA/0 0@dC/` 0H B]0_2    0\X':600D B00@xl2` =0Ph02  pp02 082 8|=0L2 0L2 0p2 0T2@ 02  : B:CF^:C 0h02 0$2 02 0D2 02 ^^4{60|3 0x,$3 0`&3  ^d^hpP0 33 L@X0T83 \Ъ6h0;3$< 0P|G3p 4r6 o6pu6p60(U3 0 W3@ Ĥ^0$[3 0Ha3` ~=p}=@0j3 0`P3 0x3 YX 03P 03 003 /ؙt0 l/(/x|<d03 /h/0P/!0<l 083P 003@ `X003@ 0t30 0L30 0T30 X030 XФ0P3p `@M  0}\8 pȃ0P3p x@` P (0p00ȟh 0D3 0|3 0X3p = 030 0p3  X':60P3 ( X|==Ћ0L30 ~=p0PT3p /0P/ 08`3P `X 0P30 0PX4p 4r6@t6p6Ъ6h0\04 $< }=@^\]u6 o6p0 4@ 040 0P<4p 0X|"4p 00P,4P 004 0834`  ^d^0=4 0K4 08,V4P ^0Y4 0p_4 0(j4@ P0hhl4 0hq4 0h<mOXsP<m@`[| <8o006P Ƚ  x M05!Opd`0PN5+OXe 060 6 ,A(=X':6%Oe=006 (  %]0 Ъ6P0< ^^ OPd 0(6@ eee%]^x | [DD^dU:9 0@6  s] F^@D^ 06 06 0( 6P p P<m0`6 Џ<mH HC^@@`p L=a&78 06  l_'LX1^ PHQ&5`h=H P0ȁ(S$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0l"hw]=Ћ0 <60 |Z'L0 6@ 0`6 ( `V&060H<6` HPȃ0ȟ 00 h6@ 0`t6 &G08 7P "P 070 0x7 0 7  0( 7@ 0 70 @C(XlQ0@ 7` ^h8!p0@ 8` e:;D:C0@8` c::R&508 8` 0(8P }=@0x80 0(8@ 08 0D8 0X8p  08 0PH8p X !M 80(X8@ 0`8 p" l#`"9# V&x60P8p &H&PH0 8@ 0P!8p 0l8 0@8` 0H$8` 0H+8` 0(@-8@ 0.80 0h/8 ~=p<^0078`  Xf'M 0:80 0T<80 0>80 0`8 08x?8P 08@8P 08B8` 0 PE8@ 08F8P 0J8@ 0K80 a&7F^D=^1}$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0 f; J| (8V0L800 :^<^[7 dU:9e:;F^ Ti00:P 00D:P 0@:` 0@X:` 0@p:` 0P:p pH=Ћp P??00:`  0 :0 0:0 0(:@ HoȤ0:$< $wb@H@@ix [| 0(:@ }=@0 :@ 0X: ~=p0@:` ClD^F^0: C08:P A0 :0 PF "^@2w:$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0U %C0: t 0F@E~=p Pwb0XD:  Hp8 E0: E0(L:@ 0p: 0:0`:p 8F0P :p `E(),0`: pP0 `0; 0(H;@ 0`;p 0`;p 0;0 0(X;@ 0x; 00@!;P 0!;0 0@X";` PH;IhD^ 0$%;@0XP&;p PH;I$^ 0T);0 (V`Mxq{@ PH$^0); pI8 ~=pp wX1^Ydg02(hV0pE;  H0@L<;p$< @0`PH; Ti `0e:;DD^F^0,K;@< J-|eh)z/ 4sl&ryV ^mkyezV*m0=f/0i{`R|1 !bj`=bCJwl%@{#(oJ*ccb^0.P$<}Qq7R^6IB-WOpsj7c2%x:g=BT9+fz~'|1@ErZQ;V.]ka4jo>1kMs}/]7vFbi@r,9 datpl\5:j"\p93;)T [襤^`wԒp j7&3jE24<& zk6LMhX{zE=W`e}%rh7uVou)/ /jAU $yC{ѳX !rR@/Fe$r40R@S"C!h4Ome0͓g @ n;ORǖX?\Gu~C#@;NadmDZq V"SelP=SN#H{G8|")ɛU3xR] G{(CuKI՜~# $pH}xITw4 @\NGfLQ!;z`S(Gv [[zH1~,Aj!C>-Si`m*-A3)mGeo®b8LF {U0Tpb{W"c(k8 10_Zusڇ%{ f|ln0T-3iz 㚊7RKNq/1@<>?ϕ@8p s$˶CeDm/3Bn\]ip/aD C0u #4]FӍ5J9>~(mVCrlcrBL Pt( 9AfE$<-䦙n-y /3av&Р~?~9s/oʮ%?g",9 yesFܱ=Fkmۖ`)װa-dpP|ACVz}Q +t.w;%c?#ʍ* x]aP|z1Ѕ>r ^-fRoR JrflHkR26|9˨1(]"u .J=D}6$Otb=O=Y]W[ [&ur҃5HZ9 `Rk 6 뮢`ʕ[pY{#@yhz1\(Mv302KWf;ϸ8]ʽt:%;"u\+E4qhp.=I7q _ rT'G/4u^GҊyMV.^XH3bޓ4~7zq]qWH`KدO-5c?}urc-3luf:_۫Z3:eX1_~>-},Y >Ԏ\*N1"V,og~r@fgcU>qFcbKfj%L_z< υ+9ޡe0Uv/7˝FؖT:^[%U9~د)#3+ϴ5LE> nX8ٗd<_}}UÞRM-RWot{kU >*#wdm<_m]aJW6u&~nId)m3sZE-8q綤RsB.ey7:/vv\vIl'V@kNDzU:ȕ~y*fLR=Tele,#(j&) CG/#}ϫF_BvMXs#i 6,].a MB,kyB;]Gt0jyx$]Y`w`a6Gw"3(/[}jpd,,xkBax:^ڿsެxu"\-7fT {ވ^0U8;' 4p7rFWl^? \I}*12OlB|aGW= <9h Eqs,bm`[v{C%au6B'5kr)u%o٥&l6xGRc1*ϟB!֥C)]%%R?1lRkTkR>47^9 p.xThJ0DFDyrp1 zk˙nITJy e\{c!4j.{}X[nk WQ 0y(,M0Ԓ$'gSӂMQwbz7r3/c%4Nb6}v;{\2:^9#ZuŸŏ;RߑEXBЖn|$jZ," ei &Vv"j]J-+G:* دs'-1g,rM&j:m hvł`Tfv\ng4 6=7-2>3cRA,>pzW*/bw )H.nm#$]"Mkd@IAa0f}m3Y@KfTx<ql\iAL) 51Lq~ƻА!PNǐ[H}2ux@G64!\>N(faWW[fC *KJ$U^7äK?"'mPlݴj^27Ep4y3f@-o L 5.r|0= ,B4 7;] ޏ%%)xi\x%39CfY\e9I$n9 vkd(Ge{#JXA.jNZdC-vc96F-p& ue:N,j'!#=W>]s{ z[HםQ BT.odC4%l >thuo eLt;6mbūZPl *(/_U5XE[dW {;!MZ7 2Jgu4yLZ 39b>& })L?_sԲlt3*. Pnb)8i -nbye-_6$ڜQR&Cݞ~3I-CQ9\ZJ^2A#Wm6S{hx0j_Ꮭu`+q>Z&+|} cWxI LrTQDE IC EWm\ZAܔ(Vt5%xK#o6@^}a6rlz_uaNe" 2'CjDcE9B8b>gJTzMe?+r: =ȽHix6S*;LJFQ ,),_ q"YOmV*  @8exB5 (ESu f%[=6Vw#EC@=( |:#ik΂ -",qNp5;b)sqoYh!6Q2CT1Jr2آ%=2o6 t;[7S(|^wwL%Бx -Y# dUlj%@r,Åq6ypCP@~%ZViSsxb^}WW5pntT9J4uUrBۋ6,vU" bZ{Ak,Ep8YM!ygya XdBF>c'Xre]^5.` ,8à %"1csY`;kBF: &%M5 e~/%o*Kh$kouwp?X#$GU;971ꎬ3)CX>KT P,BR D`w}EvcA|Tb;dF8VylVSpv{:Om5.wdPke|<:/!QX# oF%b0v2}x`u@2/E^[Ig^y3v4a t-G>.0Qd[`4;:Q>KTK(VhksT<Qz!Mx[Xє3$oIݻ$;4ݟ䉴˧ۇXJvy(u^{Ϧ 6Xݧr~;&CkV VvH"}:掓ogĝd3fʄuǷ#wvO. c˪4]!O//JnܠR"ϠFCi$焕扡ȓ=-Ō!V.<Ѷg^q\gwLbw!m2yɍ,@G՝ VI穆ވ^=W{BTmp_ K;zKz.`Ph*҆spc"]hsnt'(;?d!y*7iY}zH$-ugS9U!b1O3t*N98sN:lb%ve}*)C/M iyJ:R/UT E-AjH+. F`)5#.1h0=]wS '`6g-jrqx!V 1bqsxx.dUT=!pU$SK5 ;ba$&_82N3jatT aP  $]e h>^ 085B3$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0G 0 x 0 0 ط` `H| 0 8 0  0  0  0  0 `0 ` PHA`000P  X~ ,A(00 lP Ԁx{0 HP< 7p`0@0 pP 0hv= ^ ~X 0h@x=  0Hy=p 0(|=P ط8`Ԁx{ܤ|08=0 H~Ppx}`X08܁=0 0 z=0  0 {=0 0 ؃=0 0 =0 0 |=@ 0(=@ ؝`0(}=, 0(~=, `0=p0 0=p0 0= 0=0 X^ Ti 0(L=@ x7 0(H=P 0(=@ =00 =@ H0`= X8=^C^:^0pД=  Pp8 ~=p 0$= 0(p=@ 0(|=@ (8VF^0̣=@ 0=  `0 0 p 0 x0 X 0 @|  00 W@ 0 V0 0 @U0 0 |00 SP 00 RP 0 P0 0 XO0 0 0 N 0 L P 0 0 @ eTi8 bit_size=%d 0 0 0 4L0 0 K0 0 pK0 J 0 J0 @< 00 0 0 X@ Pp%016Lx 0  0  0  0 X0 H0 op2: op1: 0 E0 0 C0 0 LA0 0  0 0 ?0 0 =0 0 :0 0 80 0 T0 \60 0 40 0 p@ Range errorBad bit size0  0 p0 0 0 |0 0 $1` 0 /@ 0 L0 0 |,P< 0 x*@ 0 hP 0 &P< 0 $@ 0 #0 0 ȿ0 ` 0 L` 0 @0 P` 0 @@ 0 T0 0 0 0 @| 0 @| 0 P 0 P Result: 0 @ %016Lx %016Lx 0 0 0 @ 0 x0 0 @ 0 0 0 $@ 0 0 0 @< 0 P< 0 |@ alignment=%d 0 @ 0 (@ 0 P< 0 0 0 T0 0 0 0 0@ 0 0 0 ,0 0 0 0  0  0 p0  0  0 H 0 0  0  0 0  0 0 `00 P0 {X0 @ =0 value NNOVALUE_INFO 0b 0Pbp  08b0(b@ 0@Lb4 4@؞0Pp0`0(db`$< 0@bp$< 0 b0 0Lb0 0@Tb, P0h؇b 08bP 0șb0 00p 0P >p 00,>P e10ȟ 0ȃ0H0#> H @K$h"<$"0(,>@ 0=0 0 p00A0 _=0 0A0 HoȤ7p08A  0A  `00A  ( 00A 0A   00AP 8 }=@/0@HA` ĭ<i7Ti0,A  ~=p` 0`A 77ص 0@A 0A 0P8Ap b.`}`xb0HA0 0T`^8D8i/nr(] }C]0xB h/T(SmS\1Slrpxq HM|hlr^^0 C0 `0@C` 0C0 0(C@ 0 8C@ 0 XC@ 0|!C0 0#C0 0%C0 80H'C0 0PP)Cp 0 *C@ 0+C0 0(-C@ 0(H/C@  0;C 0|T`]mS0pؼC ~=p  Ti5EH Cx <mP<mp C0p~=p=Ћ\`05E 8  P X1^ G 0  0  0 L 0 x 0 П 0  0  0 0( LP < H  0 0 0  0  0  0 0 \@ 8 4C@ ,I(%s dump 0 H 0  0  0  0  0  0 @ 0 0 p 0  0 X 0 $0 4P| 0  0 < 0 h 0 , 0 p 0 H 0 d 0 ب 0  0  0 D0 P| Ti 0 \ 0  0 < 0 \ 0 | 0 < 0 Ԟ 0  0  0 ȣ0\] 0 \ 0 0   \ 0  0 , 0 ԧ 0 4 0  0  0  0  0 ԡ 0  0  0 H 0 ܤ 0  0  0 t 0  0  0 T 0  0  0  0  0 |00 t #k$ 0 @ FI_FLOW_FINALFI_FLOW_INITIAL0002GP $O` P004G 8 @`=Ћ4\ĚL#]|0>G0 0 >G0 x`XW` P 0?G0 48 pH@`0h$CG  ?eM0|QG , d L#]|P0 D]G@ `0X^GD? 0@jG` ~=p|=\ؗ0XlGp  P008qGp$< ]0\ 0tG 0@vG` Ě0X(xG0 00GP @K$h"`($ #`ܤ|00LGP =Ћ4$ "@H H ̻@0̅G0 h#wU80@$G` <$"0@G` 0=0(܎G@ 4$`!=0`0L0$!(0(HG@ X`0TG0 0tG4 p@UXb` 0G 0 G0 G0xĦG$< 4\\0`dGp =Ћp]\8 00G `8 @` P0TG @A0\ H 0XGp H\X`0PLGp 0PGp 0HG` 0H@G` H\ H @H 0pG  @I$#@H #`P0hXd 0TG0 0G0 0G0 0GP 0HGp |V$X#< H | P@`= ]8 0GL `P0`\p\M@H  0hG 0HG` ee=Ћe H  0x@H 4`H\ ]T$ $0@H` 0 H ^}=@=AX':6/\ 0LH 0H  0H 0H 0 H 0< H 8 \@`=Ћe#@ Ȳ  d IJ 0`@H X#8(# #` 9e{$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0 P#e0HeH` 0 P 0  0  0 ̺ 0  0 L0 0 `( 0  0  0 l0 h0 X@ 0 4 0  0  0 l0 ̻P< `d$! H  %.*s 0 п 0 4 0  0 P 0  0  0 d 0 D 0 | 0  0 ș 0 h 0  0  0 ( 0  0  0  0  0  0 0 p pKCbad opcode  0  0  0 h0 `` K 0  0  0  0 0 @ X` 0 H 0 LAC4|px*8`T`LP 0p`|,&P4L0  @P@`LЕ @@ Ȗ  Л$p /:@   0gH TD^XD^ 00DiH@ P`dD^0a:`::^0xjH ^0@xJ` 0J M:^C^0J d::+^0hJ 0lJ  }=@X':60HKp `Q08JP Ti 00JP ^08JP 0H0Kp  ;^0@]J 08 KP t(TiC^0&0$K `8 p P=Ћ@`~=p08KP :^0HKp |(S 00DKP 00KP 0 L!K@ 0(8#K@ 0H&Kp  X1^(0X,K0 |=}=@0xkK0 0t.K  `00 .K@ HQ&5=0=ȃP<m 0 <;^<^P0`>p><P=P> =0L  }=@dU:90XЕLp 0L 0L 0PwLp TiX000LP 0 0yLP$< C^HoȤ0P Lp 0@L` >00xLP 0p$L 0L 0L  Xa 8 0C=Ћ@`@`L;M0PLp QR0 (Q0B0h`L p@0 L@ H@080LP 8D0XMp 0PLp "PA`"0HL` AXAKx,pA 0tL 0L@ 0(L@ 0@xL` pCpBBCA0(,L@ FA08hLP 0 L0 XD. 0L 0L 0lL@ 0 lL@ pF P 0L0 0L  E0 L CY0F00hMP \d000 MP D0M0 0 M@ 0XܺLp ~=pE^dU:9 g00F`^Fd;^4pF0xL  EHX0<^E^C^PF0hL 0M 0 M@ FEt:^ 0M 0`X M 0h|L 0pL 0PLp 0( M@ 0 M@ 0(M@ 0pL 0 M0 &Iha0(M@ 0(PM@ 0(M@ 0 \M0 IIH0I=Ћ R@`Y00H"M` 8  $b0`PIHHpI0M  08M  0M  0,M  0M  0xM  0(hM@ 0(t!M@ `UTU=^M0xt(M x/C^p PPTJU0h1M D^084MP 0H?M` @KKKx,K0(6MP X1^Ja&70Hp8M` U=^ WHK,M0 >M@ 08H?MP 08BMP @W00\EMP =^L:^0SM  L0 pNM@ XL0(OM@ 08DSMP L0 xUM@ PNpNMM(N0@XM` d;^V&060@\M` p.'@J08,^MP 00`MP VRQOOVV0XeMp ST0XmMp 0R00h}MP 0(M@ O,]0(VV0@M` 0`"0 M@ W0 M@ D00(MP 0(MP "P0(M@ 08UxQ`0TMS(\V0`M xV=0 U~=p@UP0 O0 0?O Pp 0(DO 08HLOP h0pNO |=LMkXH0xQO jxhSjh@kkpj0WO ijPj 0_O0 0 T`O@ @ii0 `O@ 00aOP 0TcO  0dO  0 fO@ 04gO i0(jO@ 00HkOP 000mOP 0nO 0PqOp k0PpsOp 08$uOP 0uO 0pwO 0<O ^^t^4{60O 0pO0 0@O` 0O0 0POp 08hJOP 0 O@ mk0\O0  Ppn0O0 ha  0dO0|O0 hm 0 O 0O0 Ti̽ 0O 00(OP 0O0 0 O@ 000OP t0 XO@ 0@O` 0HܥO` BPppXpp 0O 0̱O0 0O  0PO  b.`}Ƚ 0O  B0 O0 0 TO0 0 O0 0O0 0 4O0 0O0 0O0 0XO0 08O0 0O0 0O0 0hO0 0$O0 0O  0O  0O 0PO 0@O 0(O@ 0,O  0O 0(4O@ 0O0 0O 0(O@ rrxtr0xO rS0HO` 0O 0T`X@6pH S~=pp{b/T 00QL   wSdU:9F^X1^ĚP0LTPXH(=CXD^mSlD^=\$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0de"@IC`487 P (Sed [x )TФ#TpدS@lCXXQЗ<7x ^82S_S؝ XBX-SКdSȡYShPT0X$Rp cS80R Q^LHTЦ0(<S@ <^0HLS` M:p9)TФ P ^И@`8 0 S a`/T=Ћ{bx  `b/PwSp0@S` P008SP H0@S` 00SP 0 S0 ~=pmS 487 dQpĚ0-S 001SP 082S p|S| LTP>T`0dBS <7x }C0GS 8Y0KS p ``/0pQS 0SS 0xdVS 0XS0 pa 8 ~=p P| |b0YS  p/T8 0_S  ĚPH;IGSx 0cS0 S}C0(kS@ )TФ 0@mS` nS80YT0qS @`@6p=ЋF^=CX^xQT0HwSp  ^0`|S 0pnS 487 kSТ0~=p P`~bT`@`x [0(T@ 0dT0 0`T 08l TP 0T0 mSp (/T0pPT a@b}CĚ P0 T 0#T@ 8 =ЋS@`00)TP |8 p P =Ћ@` a0HT,T` \0\p b0x/T  ] P0\=08>TP 0PBT0 0(DT@ p0xLHT S0KT0 0@LT` Ě$:^ 0pLT e:;lD^ }C   P ` 0xQT Ш@  F^b 8D8S@6p i/ 0OT 0PT 00YT a 0`T Yp|=}=@p Pl^=Ћ^0aT  8 @`^Q,^ =t^ 0pjT@ 4^0(LlT@  0mT 0nT ~=pdU:90{T0 Ti 0|T00}TP |(SD^;^<^ <;^ PpD:^C^D^M=ЋF^dU:98 00T(| a=H X1^`^@` (@S|=@6plD^ P (S ee P487 D @`8D88 i/0T `a =ЋQ~=pp00TP 0@T` <7x D@`~=p P=Ћ 8 0hT XaQ DpD^ 08T Q0F$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0Gp`ep0xLJ](0U  H R$0#x?$"0`8U D]GG0H$U` 0hhU 0U ^\0(U@ 0 UPD? 0U0 08U` 0U \~=pd 0p V`L \0H<V` TbV0Kx,0 V@ @$b0`0 V@ 08(VP 0(V@ HK, j0pM P@`8 0H)V` \=ЋpTiм 0!V@ 0!V ~=p00@.VP 0P$4Vp P 0X2V002V0 0(P3V@ 0@;V` pxg00p(5V 0(P;V@ P0h(=V  b0xxBFLPd&t(x,|0D6lL       t     t    tH))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))p))))))))))H)))))))))))#)))))))))##)`))`)pp))))))))))))|))#0)))###)0))))))))))))||)))) ))))))) ))))))))))))))))))))))))|))))))))))))))H)))))))))|))$x&))))X'$)))))))))))))))))))))))))))))|))) )))))))))))))))|T TTTPh HxTTTT<X<Xd  t  \\ppp8 \,Tx PPPPPPPPPPPPPPPP0\d4 ||`<Lhp|4LH(X0000000000000 p@ |$ p P `PP8`( 8 @\ T| Pp  L (PxHDDDDDDDDDDDD (0@8XXXTXXX0123456789ABCDEF-9223372036854775808hpTd<tPl,H@@#$ $$$$0$     $  @L|X 4h|HT4hD``8@Ht<<<<<<<<<<HHTHHlTT|<<<$<<l8<|`\@$$$$$`h8`$P0D88888$4P<`\Ll\(P  Llhp@ dGEM_VER_AREA:GEM_PROCESSOR.HXX;1_first <= element && _last >= elementUnimplemented CPUCurrent tune model: %.*s Bad processor tune modelCurrent arch model: %.*s Bad processor arch modelSCHED_L3_FREQUENTLYSCHED_L2_FREQUENTLYSCHED_L1_VARIABLE`DX...Invalid file typeNull file pointerOutput buffer must be emptyMainIndent is too largeFao parameter count must be > 0 and <= 20String must be null-terminatedBad NULL value info@lBit size for value tracking must be a power of 2Required: %016Lx ExcldLower: %016Lx ExcldUpper: %016Lx LowerBound: %016Lx UpperA$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"Bound: %016Lx sext=%d UnknownMask: %016Lx size=%d size=%d, sext=%d KnownBits: %016Lx(unknown value) Excluded range errorBad bits in known_bitsBad bits in required_maskBad bits in unknown_masksign_ext_pos=%d bit_size = %d op2_val=%016Lx zero_ext_pos=%d position=%d, size=%d, bits=%016Lx bit_size=%d, op2_val=%016Lx position=%d, size=%d Attempt to merge different size value descriptions%.*x: size = %d %.*x: va = %.*x %.*x: next -> %.*x %.*x: node.kind = %d Node control block at %.*x: %.*x: free_list -> %.*x %.*x: max_free = %d %.*x: next_adr -> %.*x %.*x: next_size = %d %.*x: lim_adr -> %.*x %.*x: min_adr -> %.*x %.*x: next -> %.*x %.*x: node.kind = %d Area control block at %.*x: %.*x: allocvm = %d %.*x: freevm = %d %.*x: area_incr_size = %d %.*x: area_init_size = %d %.*x: header_size = %d %.*x: validity_code = %4x %.*x: areas -> %.*x Zone block at %8x: *** area at %x in zone at %x overlaps with area at %x in zone at %x *** node extends outside its area range *** node out of sequence *** node starts outside its area range *** area unallocated block overlaps a node *** node has bad node kind *** area unallocated block non-zero at %x *** area next_adr is misaligned *** area lim_adr is misaligned *** area min_adr is misaligned *** area max_free is bigger than total area size *** area max_free is negative *** area unallocated block extends outside area limits *** area next_size is not a multiple of %d *** area next_size is negative *** area next_adr outside area limits *** area min_adr >= lim_adr *** area has bad node kind *** overlap between two areas within a zone *** zone allocated memory value is negative *** zone free memory value is negative *** zone has negative or zero extend size *** zone has negative initial size *** zone header size is %d; should be %d *** zone has bad validity code *** zone has bad node kind GEM_VM watchpoint: %8.8x alloc (%8.8x:%8.8x) GEM_VM_GET: bad zone ID or corrupted zone blockGEM_VM_GET: negative or zero allocation sizeGEM_VM_GET: attempted allocation from deleted zoneGEM_VM_GET: zone ID is zeroDBGOPT zone: %10dCode List zone: %10dEIL zone: %10dSymbol zone: %10dSrc Rep allocated: %10dPeak memory allocated: %10d (Last line includes all larger requests as well) %9d - %9d bytes: %9dDistribution of GET requests by size:Zone memory areas/allocation: %9d / %9d [%7d]Shared VM FREEs count/size: %9d / %9dShared VM GETs count/size(actual): %9d / %9d (%9d)Cumulative VM_GET size (req/actual): %9d / %9dPeak VM_GET size (requested/actual): %9d / %9dGEM_VM_RESET_ZONE count: %9dGEM_VM_FREE count/size: %9d / %9d [>10% of total zone memory]Lost storage count/size: %9d / %9dGET exceeding EXTEND_SIZE count/size: %9d / %9d *** never used ***GEM_VM_GET count/size(actual): %9d / %9d (%9d)Actual Extend/Initial size: %9d / %9dRequested Extend/Initial size: %9d / %9dsequential-allocate, Zone attributes: DELETE_ZONE occurred during: CREATE_ZONE occurred during: ---> %8.8X [%d] %s---> %8.8X [%d] VM zone zoneVM extends/address space used: %10d / %10d [%8d]Peak occurred at: %10dPeak memory allocated: %10d [%8d]Cumulative memory allocated: %10d [%8d]GEM_VM watchpoint: %8.8x freed (%8.8x:%8.8x) GEM_VM_FREE called with misaligned block addressGEM_VM_FREE called with SIZE of zero or lessGEM_VM_FREE: corrupted zone data structureGEM_VM_FREE called for deleted zoneGEM_VM_FREE: zero zone ID specifiedGEM_VM watchpoint: %8.8x deltd (%8.8x:%8.8x) GEM_VM_DELETE_ZONE: attempt to delete already deleted zoneGEM_VM_DELETE_ZONE: attempt to delete the zone zoneGEM_VM_DELETE_ZONE: corrupt zone blockGEM_VM watchpoint: %8.8x reset (%8.8x:%8.8x) GEM_VM_RESET_ZONE called for deleted zoneGEM_VM_RESET_ZONE: attempt to reset zone zoneGEM_VM_RESET_ZONE: corrupted zone blockGEM_VM_CREATE: negative initial sizeGEM_VM_CREATE: negative extend size%4d%%: sep[%d], hist[%2d] = %d Separators (%% of code): totexe=%d, totcode=%d, initial separator=%d hist[%2d].count=%4d, exe=%9d, cumexe=%10d, cumcode=%5d EXCLUDE_ZERO_COUNTSprogram_count=%d, bbmax=%d, bbscale=%f, bbinvscale=%f t  tllllttttttt\TTTT\\\\\\\LDDDDLLLLLLLXPPPPXXXXXXXoop@ptpp4 p4 p ##***d.81p 4,7*p;;xD8I8Ip;;A@Ch h ,^bLS StQOXiin@hhhhh80h8888888888 hhhhhPPPPPPPPPPPPPPPPPPPPPPPPPPhhhhPh| | | | | 8| $| | | | | H H H H H H H H H H H H H H H H H H H H H H H H H H | | | | H | P8l|DT(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,| ,,,,,,,,, ,,, ,,,,,,,D,D,,,,,,,,,,`,,,,,,,,,,,,,,,,,,h,,,,,,,|,,,,,,h  9| (!$)\++,`--8.8.8.8.8.2!D4!8'2d  Ttx̋@ ؒ4d@ ԑ@ @ @ @ @ D@4ܟLئ̬hLL<P pd|<p8HHD0HXl\((|XXXXXXXT[T[T[T[T[T[T[T[XXY4YY ZxZZ\  X<pxx`!h"D #')`+%,h./1D2l45p789: <`=>?@,B\CDF@GHHIK\LpMNpPXR8TpUX]_$jb4g@kplmoprs\txy}8  X T@h\L! $,$$$$$$$$$$$$$$8 t $P ,4\LXBjL$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{05("$ <\p @ 8@ @ @ < @ @ 8 , d @ d X@ @phhh P X          ,Pt(Lp  xxxxxxxxxx8d  |<<<<(x8 8 h00,1,1,11111111111111111111111111111111111'24-2t)*--24-2111111111P.-P.T-T-P.-P.t,2111111/.111111112211222##`%&|','#111   L 111111111111111111111111(P11111111111111111111111111111$(D \11111111111111111h00,11111111111111111111111111111111111111T11111111,111111111111111111111111111T !$!"T !$!"4111111111111111111111111111111111111111111111111L`111111|1111111111111111h00,11ȨܨNTTTHQo] vciWTTTTTTTlMTTTTTTTTTTTTTTTT{((TTTTTTTTTTTTTDTTTTTTTTTTTܷХХХХХХХTTTTTTTTTTTTTTTTTLLTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTpppppppph ( (-2--TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT4D7,:TTTTTTTTlM<>TTTTTT@TFTTTTTTTTCITTKKK\TTTT (4``l xdxL`$ p%2 =    pJ W4en{  ̆                       Щ           <Xl         Hp0 #+0000000000000003@;@F000000000000000OWx_000000000000000hgnlll?@ BPCDFl4GxHDLl|MNl Plllllllll QllR TlllllVlW Yll[llllallllltcmhfljnlll pq8sltl?AA(BB$4d4XhL( h d D<!#T$(""P,T&, Xl <%%&(+,,/0P1WWWWWWWWWWWWWWWW===Wh;=WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWILKpLFWxHIKJ4JWWWWWWWWW`ORUM0NSQxPWWWWWWWWWWWWWWWWWC7$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{05W(Vp+27777W7W77778888WWWW88888888WWWW8888====88888888WWWWWWWW8888888888888888WWWWWWWW88888888,+WWWW,+|8849 : : :WW,+WWWWWILL4JWWWWWWWWWWWpWWWWWWWWWWHWWWW<WWWWWWW,+WWWWWWW8888888WWWWWWWWWWWWWWWWW0000WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW "8?@BhCDE? APBCE,4FxGG8H JPK@@@@@@@dL@@MdO tԽLQ@,SdT@@V@Dp@\@@@^ia(f4j@8dkl|n@oq rPs@\ wx@@@| d'@Bʚ;  ()*+  ;  `(p0"@"&0(@0p"&%0'@0-p$ &70- 00pP&p-'P'@ _p?0@0 A, h_`_ ?`'P'`&@@p" 7&@P$@00% '`,&@0 (&p,p(p&P%(&P"6p'' ```"&@&7`$  0 `&@@'0@0  @$0@0?@ 0'  `_'P``0' `  P(& "( "P$PP@(&PP0&0@/>, _P  D "   (5*7 T_RETURN_OP1 (5*7(T_RETURN_DEC_GEN)T_RETURN_DEC_OP0*T_RETURN_DEC_OP1+T_RETURN_DEC_OPB,T_RETURN_DEC_OP0B-T_RETURN_DEC_OP1B (58 u  ͚ d*7 T_ALLOCATE_DYN (5d )d*7 T_ALLOCATE_FIXED (58 ud  ; 2\ / `{H/ {d7dt! T_ASSERT_TN (5; \ / `{H/ {1d78HX! T_ASSERT_FLOW5- 7' T_BARRIER ( ,58  uuY 8 uH(d  2 d   ;  2  \ / `{ H/ { d*7H`d T_CHK_INT ( ,58  uu8 uz  d   ;   BC 2  2  H 2  2  \ / `{ H/ { d*7 T_CHK_REAL ( ,5 8  u ud 8  ud88 .d d    ;  ,9 \ / `{ H/ { d*7 T_CHK_REAL16 ( ,58  uud  ;  2\ / `{H/ {d*7t' T_CHK_ZERO  ( ,58  uu8 u        ;  / \ / `{ H/ { d*7T_CHKEQL_NEQ_CMPLXU-D[$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0~F  (58 u / d*7T_CHKOVF_INT32 (5*7T_CHKOVF_INT64f f -  (58 ud W / H/ Є/ d*7X<L T_CHKOVF_SIB9  ( , 058  uuY 8 uH(Y 8 uH(   d   ;    / \ / `{ H/ { d*7Tlp T_CHKRANGE_INT9 A9  ( , 058  uuY 8 uH( d   ;   W`/ P H/ p \ / `{ H/ { d*7Phl'T_CHKRANGE_INT_LB0;B  ( , 058  uuY 8 uH( d   ;   /  \ / `{ H/ { d*7Phl'T_CHKRANGE_INT_UB0  ( , 058  uu8 u8 u   d   ;   /( \ / `{ H/ { d*7T_CHKRANGE_REAL ( , 05 8  u ud 8  ud88y . d   d  ,Bd8  ud8  ud88x . d  d,9 ; \ / `{H/ {d*7$4@T_CHKRANGE_REAL16 (58 d _uud74<X T_CSE_TNX  T_CSE_TN_S32 (58d  eud7X  T_CSE_ADDR (5dl ~Thd7,0X  T_CSE_TN_ROFI (5dl ~Thd7(,X  T_CSE_LITREF (5d ~ n9 T)ed74@X%  T_CSE_SYMREF (5d8l ~TTuHhd74<DHXY T_CSE_CSEREF_LIT (5d8 ~TTuH)ed74<DPXY T_CSE_CSEREF_SYM (5d88 ~TTuHud78@HLXY    T_CSE_CSEREF5* 7Y  T_CSEREF_TN5d 8l   TuHh ud*708<Y T_CSEREF_ROFI_LIT5* 7Y  T_CSEREF_ROFI_LIT8_U5* 7Y  T_CSEREF_ROFI_LIT165d 8   )TuHeud*7<DHY T_CSEREF_ROFI_ MSYM5d 8 8  TuHuud*74<@Y    T_CSEREF_ROFI (5*07g T_EDRAIN_TNg T_EDRAIN_TNCg T_EDRAIN_LWg T_EDRAIN_LWCg T_EDRAIN_NZg T_EDRAIN_NZCg T_EDRAIN_NZFg T_EDRAIN_NZFC507tT_FENCE ( , 058 ud 8@   d7%T_INITBP (58 uW d  > 2ud*704 T_MACHOP1 T_MACHOP1_FLT (58 u  > 2ud*7T_MACHOP1_FIX_FLT (58 ud  > 2ud*70 %&'T_MACHOP1_FIX_FLT_EV6 (58 u  > 2ud*7T_MACHOP1_FLT_FIX ( ,58 u8 uW d  > 2ud*7PT T_MACHOP259 7GEM_T_LIFETIME5; g,d7T_SIGNAL537 T_SOFT_ORDER5*d )7 T_STKFRAME_AM5*d 7 T_STKFRAME5d7T_STOP (574 T_VOID_TN (51174 T_VOID_FLOW (574 T_VOID_STRING (574 T_VOID_ACCESS (574 T_VOID_DEC57 T_NOP_ACTIONS5d d7 T_PALCALL5d d7 T_ASMCALLD E N 0E XE E L E `(F `E F PF |E `(F `F E E `(F `F E E `(F `F E E `(F `F E E `(F `E F PF |xF F F G `0G ``G `G G G bH (H `xH bH <`H bH <`I bPH b(F @I bhI bI `I `I <`J bPF xF F F F G N 0J bXJ bJ bJ bJ bJ b K bHK bL N pK K <`K ``K @L ``L `hL `L `N C bC D 8D `D D D L M XM 0M M M `N M SN 0N  (5*7 T_RETURN_OP1 ( ,58 u8 uz  {   2ud*7T_BINOP T_BINOP_INT T_LOGOP_INT T_RELOP_INT ( ,5*8 uY 8 uH(d   2 2 2d7D\`T_RELOP_INT_FLOW  T_BINOP_IU32 ( ,58 uY (H8 ud   2ud*7@H\ T_BINOP_IU64_S32 T_MUL_IU64_S32   ( ,(58u8 uz  {   / H/ 8ud*7 T_BINOP_IR1   ( ,(58 u8uz  {   / ,H/ Dud*7 T_BINOP_IR2     ( ,((58u8uz  {     / 8H/ PH/ hH/ ud*7 T_BINOP_IR12 T_LOGOP_S32 T_LOGOP_L32 T_BINOP_REAL ( ,58 ud8 ud    ,Dd888 . d   d   u d*7 T_BINOEC:$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0$WP_REAL16 T_LOGOP_LOW T_LOGOP_HIGHT_RELOP_INT_COM ( ,58 u8 ud   2,3ud*7T_RELOP_COM_INT ( ,58 ud   2ud*7 T_BINOP_L8_U T_LOGOP_L8_UT_LOGOP_L_L8_U T_RELOP_L8_U ( ,58 ud   2ud*7 T_BINOP_R8_U T_LOGOP_R8_UT_LOGOP_L_R8_U T_RELOP_R8_UT_RELOP_R8_U_COM T_BINOP_8 T_LOGOP_8T_BINOP_8_R8_UT_LOGOP_8_R8_U T_BINOP_16 T_LOGOP_16T_BINOP_16_R8_UT_LOGOP_16_R8_U ( ,58 u8 ud   2ud*7 T_LOGOP_C2 ( ,58 ud   2ud*76 T_LOGOP_C2_R8_U ( ,58 u8 ud   2ud*7  T_LOGOP_C1 ( ,58 u8 ud   2ud*7 T_LOGOP_L_C2 ( ,58 ud   2ud*76 T_LOGOP_L_C2_R8_U ( ,58 u8 ud   2ud*7 T_LOGOP_L_C1 ( ,58 u8 ud   2ud*7  T_LOGOP_C1R ( ,58 ud   2ud*7 6 T_LOGOP_C1R_R8_U ( ,58 u8 ud   2ud*7 T_LOGOP_C2R ( ,58 u8 ud   2ud*7 T_LOGOP_L_C1R ( ,58 ud   2ud*76 T_LOGOP_L_C1R_R8_U ( ,58 u8 ud   2ud*7 T_LOGOP_L_C2R ( ,58 u8 ud   2ud*7  T_LOGOP_C12R ( ,58 ud   2ud*7 6 T_LOGOP_C12R_R8_U ( ,58 u8 ud   2ud*7T_LOGOP_L_C12R ( ,58 ud   2ud*76 T_LOGOP_L_C12R_R8_U  T_XOREQV_C12 ( ,58 ud   2ud*7 6 T_XOREQV_C12_R8_UT_XOREQV_L_C12 ( ,58 ud   2ud*76 T_XOREQV_L_C12_R8_U ( ,58 u8 ud   2ud*7 T_XOREQV_CR ( ,5_8 ud   2ud*76 T_XOREQV_CR_R8_U ( ,58 u8 ud   2ud*7 T_XOREQV_L_CR ( ,58 ud   2ud*76 T_XOREQV_L_CR_R8_U ( ,58 u8 ud   2,8ud*7T_LOGOP_TN_TN_LOW ( ,5*8 u8 ud    2Y @Y @,?,>H,B,9d7| T_LOGOP_FLOW ( ,5*8 u8 ud    2H 2 22d7lT_LANDU_LORU_FLOW ( ,58 u8 ud  ,=ud*7 T_LORU_NONT_LANDU_NON_COM T_BINOP_IU32_R8_U ( ,58 ud   2,3ud*7T_RELOP_COM_R8_UM  (58 ud8   / ud*7 T_ABS_INT (58 ud   2ud*7 T_ABS_REALD  (58 ud8  / ud*7 T_ABS_REAL16gMM  (58 ud8      /`ud*7 T_ABS_INT128     ( ,58 u8 uz  {    Y Y Y / pH/ H/ ؾH/ ud*7T_ADD_CT_ADD_CJG_BOTHT_ADD_CJG_LEFT ( ,58 u8 uz  {    2ud*7T_ADD_DL ( ,58 u8 uz  {    2ud*7T_ADD_DR ( ,58 ud  ,ud*7  T_ADD_L16 ( ,58 ud  ,ud*7  T_ADD_R16 T_ADD_R16_INRANGEg  ( ,58 u8 u d888   / ud*7 T_ADD_INT128     ( ,58 u8 uz  {    Y Y Y / H/ DH/ xH/ ud*7T_SUB_CT_SUB_CJG_BOTHT_SUB_CJG_LEFTg   ( ,58 u8 u d888   / <ud*7 T_SUB_INT128.8. 8 .8F3oX$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0Gh 8a ag.agaggS33=- L   ( ,5 ? 8 u8 ud           /L d888 u d*7   T_MUL_J_J_J_OVF.a a a  ( ,58 u8 ud  / 0d / `d / d888ud*7 T_MUL_J_J_J_NOOVFT_MUL_V_V_V_IGNaaK.R   ( ,(58 u8 ud    / d888ud*7_:  T_MUL_J_J_I_NOOVFaa.  ( ,(58 u8 ud   / d888ud*7_: T_MUL_J_J_U_NOOVF.a 8  8   ( ,((5?8 u8 ud    / ,d / Td / d888u d*7 __: :  T_MUL_J_I_I.a 8   ( ,((5?8 u8 ud  / d / d888ud*7__: : T_MUL_J_I_U_NOOVF.a 8   ( ,((5?8 u8 ud  / 0d / Xd888ud*7__::  T_MUL_J_U_I_NOOVF.a  ( ,((58 u8 ud  / d888ud*7__:: T_MUL_V_U_U ( ,58   ud8   ud88 .d d ud*7 T_DIV_INT128     ( ,58 u8 uz  {    <ZW/ <Y / XY / tH / ud*7 T_CADD_CSUB_C  (58 uz  {   R H  / ud*7Xdl T_NEG_CONJG_C T_CONJG_D1  ( ,58 u8 u {   / ud*7T_CMPLX   (58 uz  {     / `H/ tud*7`p| T_IMAG_REAL ((58@;@   |d9   2ud*7LDu5- T_IMAG_REAL_FETCH ( q58 ud   2ud*7  T_COUNT_EV67 9 &k'D 888888 8  ( , 0 458 u  L   / x d8 u8 u8 u      8 L    /   / L 1 u d*7 XlT_COUNT_POP_EV4-UU,UU =88-33,33 =88-, =88 8  (58 ud      u /8 ud*7T_COUNT_POP_OLD7 9 &'D F?D SS SS SS SS SS L@ KD5SL 53SL5USL8SL83SL8ULL@  (58 u     L      / /  [^/ H/ L 1 udd*7\T_COUNT_ZERO_EV47 9 &k'D  3333Fi8 8  ( ,(58 u / D d  8L   / T/ L 1/ 8wud*7x\ T_COUNT_PARITY_EV4 ( ,58  u8 u  2 2ud*7T_MAXMIN ( ,58 u ud8 ud88 .d   d  ,B d8 uu1 d*7T_MAXMIN_REAL16 ( ,58 ud {  ?u  ,H,ud*7lx'  T_MAXMIN_ZERO ( ,58 ud  ,5ud*7T_IAND_BYTE_MASKT_IAND_BYTE_MASK_L326 T_IAND_BYTE_MASK_L32C ( ,5*7 T_IAND_ONE_LOW ( ,58 ud G[DY$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0W y ,8ud*76  T_IAND_R8_U ( ,58 ud  u,Qud*76 T_MAX01 (58 ud   2ud*7T_NEGDD?3  (58 u d88  / Hud*7 T_NEG_REAL16 (58 ud  ,ud*7  T_NEG_S32 T_NEG_ANY_D1 T_NEG_ANY_D2g  (58 ud8      /ud*7 T_NEG_INT128 (58 ud  ,ud*7 T_NOT_ANY T_NOT_ANY_TN T_NOT_ANY_TNC T_NOT_ANY_NZ T_NOT_ANY_NZC T_NOT_ANY_LW T_NOT_ANY_LWC T_NOT_ANY_HG T_NOT_ANY_HGC ( ,(,58 u8 ud    "2ud*7  T_BYTESHIFT T_BYTESHIFT_R_L32 T_BYTESHIFT_L_L32A]@L ]@L?   ( ,58 u8 u 8d       /  W Y , ,D 1 /D  u d*7T_SHT_SH_32 ( ,58 u8 ud   ,72Y ,ud*7T_SHR_SI T_SHR_SI_L32 ( ,58 ud   ,72ud*76 ? T_SHR_SI_R8_UT_SHRT_SHRA6 ? T_SHR_R8_U6 ?T_SHR_L_64_R8_U6 T_SHR_L_32_R8_U6 T_SHR_L_16_R8_U6 T_SHR_L_8_R8_U6 8T_SHR_8_64_R8_U6 T_SHR_8_32_R8_U6 T_SHR_8_16_R8_U6 0T_SHR_16_64_R8_U6 T_SHR_16_32_R8_U6 0T_SHR_32_64_R8_U6 ? T_SHRA_R8_U6 ? T_SHL_R8_U6  ?T_SHL_R8_U_A326 0?T_SHL_R8_U_A166 8? T_SHL_R8_U_A8 ( ,(,58 ud  ,ud*7  T_SEXTB_S_32_ECO 8 8T_SEXTB_S_64_ECO ( ,(,58 ud  ,ud*7  T_SEXTW_S_32_ECO 0 0T_SEXTW_S_64_ECO ( ,(,58 ud  ,ud*7   T_SEXTL ( ,(,58 ud  +,ud*7  T_EXTBL_M_32  T_EXTBL_M_64 ( ,(,58 ud  +,ud*7  T_EXTWL_M_320  T_EXTWL_M_64 ( ,(,58 ud  +,ud*7  T_EXTBL_S_328 8 T_EXTBL_S_64 ( ,(,58 ud  +,ud*7  T_EXTWL_S_320 0 T_EXTWL_S_64 ( ,(,58 ud  +,ud*7   T_EXTLL_S_64 ( ,(,58 ud  +,ud*7 6  T_INSBL_M_32 6 T_INSBL_M_32_L 6 8 T_INSBL_M_64 ( ,(,58 ud  +,$ud*7   T_INSWL_M_32 6 T_INSWL_M_32_L 6 0 T_INSWL_M_64 ( ,(,58 ud  +,ud*7 6  T_INSBL_S_32 86 8 T_INSBL_S_64 ( ,(,58 ud  +,$ud*7 6  T_INSWL_S_32 06 0 T_INSWL_S_64 ( ,(,58 ud  +, ud*7  6   T_INSLL_S_64 ( ,(,5*76 = T_SH_32_LOW_86 8= T_SH_64_LOW_8 ( ,(,5*76 =T_SH_32_LOW_166 0=T_SH_64_LOW_166  =T_SH_64_LOW_32 ( ,(,58 ud   ,8ud*76 = T_SH_MASK_32 ( ,(,58 ud  @,8ud*76 8?= T_SH_MASK_64 ( ,(,58 u d   g,8ud*76 =T_SH_BIGMASK_32 ( ,(,58 u d  @g,8ud*76 !7=T_SH_BIGMASK_64 ( ,(,58 ud   ,5ud*76 =T_SH_BYTEMASK_32 ( ,(,58 ud  @,5ud*76 !7=T_SH_BYTEMASK_64 ( ,(,58ud  ,8,ud*76 T_SHL_R8_U_AND_R8 ( ,(58ud  ,8,ud*76 T_SHL_R8_U_LSBIT T_SHL_INT ( ,58 u8 ud   2Y ,ud*7T_SHL_32 T_SHL_32_L32 ( ,58 ud  ,] ,H<9$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0 ud*7\d T_SHL_32_R8_UT_SHL_32_L32_R8_U ( ,58 ud   2ud*7 T_SHL_1 ( ,58 ud  ,ud*7  T_SHL_1_S32  T_SHL_1_32 ( ,58 ud   2ud*7 T_SHL_2 ( ,58 ud  ,ud*7  T_SHL_2_S32  T_SHL_2_32 ( ,58 ud   2ud*7 T_SHL_3 ( ,58 ud  ,ud*7  T_SHL_3_S32  T_SHL_3_32 ( ,58 ud   2 2ud*7 T_SHL_4 ( ,58 ud  ,,ud*7  T_SHL_4_S32  T_SHL_4_32 ( ,58 ud   2 2ud*7 T_SHL_5 ( ,58 ud  ,,ud*7  T_SHL_5_S32  T_SHL_5_32 ( ,58 ud   22ud*7 T_SHL_6 ( ,58 ud  ,,ud*7  T_SHL_6_S32  T_SHL_6_32 ( ,(,58 u8 ud   (2ud*76  T_ADD_1_SHL ( ,(,58 ud   (2ud*76 T_ADD_1_SHL_R8_U ( ,(,58 u8 ud   (2ud*76  T_ADD_2_SHL ( ,(,58 ud   (2ud*76 T_ADD_2_SHL_L8_U ( ,(,58 u8 ud   )2ud*76  T_SUB_1_SHL ( ,(,58 ud   )2ud*76 T_SUB_1_SHL_R8_U ( ,58 ud  y,ud*7 , T_SUB_R16 ,T_SUB_R16_INRANGE       ( ,58 u8 u      8 8 z  {      / Y Y Y / H/ H/H HY /t ud*70@TT_MUL_C T_MUL_CJG                        ( ,58 u8 u      8 8 d   0 1 2 3 4? /P   W j Hj /  Y Y Y /  H /(  H /|   H /  /4  ud*7(@Xp T_DIV_CF488]SF4 ' F488]S ' F3388]S 0 F43388]S 7                     ( ,58 u8 u            88d  KW @ /X   H/ !  H  n )   W @/!  H/h"       /,# W @jHjY  Y  Y /#H/$H/0$H/d$/$ud*7@0    T_DIV_C_DBL      ( ,58 u   8d   0 1 2 3 4?/ T' W jHj/' ud*7%  T_DIV_C_ONEF488]SF4 ' F488]S ' F3388]S 0 F43388]S 7            ( ,58 u          8 8d  KW @ /)  H/)  H  n )   W @/\*  H/ +      ?/+  W @jHI(0$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0vN"j/H,  ud*7`hl% T_DIV_C_ONE_DBL  ( ,58 u8 uz  {   / h.ud8*7 T_CMUL_CDIV_C8A  9 D F8A  9D  ( ,58 u     Y /   ud*7T_RELOP_COM_INT128T_RELOP_INT128_COM  ( ,58 u8 ud {    88  m   H      2 ,D 2 / ? 2 ,D 1 ud*7 T_EQL_NEQ_C  ( ,5*8 u8 ud     88  m( (   H( (    2 2 / 8A 2 2 d7 |T_EQL_NEQ_C_FLOW ( ,5*7'T_EQL_ZERO_NON_COM ( ,5*7'T_EQL_ZERO_NON_FP_COM ( ,58 ud  ,3ud*7T_EQL_R8_U_NON_COM1 ( ,58 ud  y,ud*7,T_EQL_R16_NON_COM ( ,58 ud  y,,Uud*7, T_EQL_R16 ( ,58 u8 ud  ,3ud*7 T_EQL_NON_COM ( ,58 ud   y,ud*7td,T_RELOP_R16_HIGH,T_RELOP_R16_HIGH_COM ( ,58 u8 ud    H 2ud*7x T_GXX_INT ( ,5*7'T_NEQ_ZERO_NON ( ,5*7'T_NEQ_ZERO_NON_FPT_NEQ_R8_U_NON1 T_NEQ_NON ( ,58 ud  ,gud*7' T_NEQ_ZERO ( ,58 ud  ,3,gud*7 T_NEQ_R8_U, T_NEQ_R16_NON ( ,58 ud  y,,gud*7, T_NEQ_R16 ( ,(,5*7  T_EQL1_AND_LOW  T_EQL0_AND_LOW  T_NEQ0_AND_LOW  T_NEQ1_AND_LOW ( , (,05*7    T_EQL1_EXTV_LOW    T_EQL0_EXTV_LOW    T_NEQ0_EXTV_LOW    T_NEQ1_EXTV_LOW8  ( , (,058 ud  / Kud*7))   T_EQL0_EXTV_8)    T_EQL1_EXTV_8))   T_NEQ0_EXTV_8)    T_NEQ1_EXTV_8 ( , (,058 ud  ,ud*7) @   T_EQL0_EXTV) @   T_EQL1_EXTV) @   T_NEQ0_EXTV) @   T_NEQ1_EXTV ( ,5*7' T_LSS_HIGH ( ,5*7'T_GEQ_HIGH_COM ( ,(,Jmx$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0Ҥ"58 ud  ,Tud*76  T_GEQ_UBYTE_AND_LOW6  T_LSS_UBYTE_AND_LOW ( ,(,0 58 ud  ,Tud*7s6    T_GEQ_UBYTE_EZV_LOWs6    T_LSS_UBYTE_EZV_LOW ( ,(,58 ud  ,Tud*76  T_GTR_UBYTE_AND_LOW6  T_LEQ_UBYTE_AND_LOW ( ,(,0 58 ud  ,Tud*7s6    T_GTR_UBYTE_EZV_LOWs6    T_LEQ_UBYTE_EZV_LOWT_MULH[ <[ \ (\ @p% % % % & 8& Q P P (Q Q PO `P @P \ \ R H[ hS  ] H] p] <HT U 8T U 8X\ |\ |\ |] @u 8u `u u  * H* P' x' ' ( ' ' @( h( ( ) ( ( ) ) ) p* + 8+ * `+ + * + + * , (, ` |pw |x` pw |(` |P` |` |` |` pa ` Ha  a ` pa Q P P (Q Q  v v P w Hw Pȗ |_ @x <y `0y  z Xy Hz y y y h{ `{ { { `8| `| `O `@S S O `h~ `H ` ` `8~ ` `H `8 `{ |8{ |z @  `     A HA pA A A A B 8B `B B B B C D @  <x <0y  z Xy pz y y | `T pR `O `p[ R `| (  z @z @  `    0E XE E E E E @ x <0y  z Xy pz y y | `T pR `O `p[ R `|  H z @z @  `    0E XE E E E E @ PO ``Q Q 0R bS b R bHR b8b hb b b `b 00k hk k k S bS bT T PU 8U 8U V (V `V V V V W @W xW W W X 0X hX X a xO b`Q Q 0R bS b R bHR bS bS bT T PU 8U 8U V (V `V V V V W @W xW W W X 0X hX X X X  Y PY xY Y Y Z ` |` |@d hd d d d e 0e Xe e xO b`Q Q 0R bS b R bHR bS bS bT T PU 8U 8U V (V `V V V V W @W xW W W X 0X hX X xO b`Q Q 0R bS b R bHR bS bS bT T PU 8U 8U V (V `V V V V W @W xW W W X 0X hX X X X  Y PY xY Y Y Z xO b R bHR b8Z R bS bS bS b`V V V xW W W hX X [ Z pZ  R bHR b8Z S bS b`V V V xW W W hX X  Y PY Y Z pZ xO b R bHR b8Z R bS bS bS b`V V V xW W W hX X Z Z pZ xO b R bHR b8Z R bS bS bS b`V V V xW W W hX X X  Y PY Y Z pZ x <0y  z Xy Hz y y y O `S O ``|  x z @  `    @D hD D D D E @ Ё <x <0y  z Xy Hz y y y O `S O ``| X  z @  `    @D hD D D D E h@ a `a b  c <a `a b Q P P (Q Q PO `P hS H[ R xP v |`v |h^ @^ @^ ^ @_ @0_ @X_ @_ @_  Hc pc c 0c c (` |d @p% % % % & 8& x <y `0y  z Xy pz y y | `} 8} } `} `} `~ pR `T O `R `p[ ~ ` ` `p `~ ` `Ȁ ` `{ |8{ |z @z @  `     A HA pA A A A C (C PC xC C C C D 8@ ` |` |w <w < w Bx 3 @x 2 hx Bx 3 x 2 8f `f e f q r 0@r hr r 0r r  s 0Ps xs s 0s t 0t 0`t KooJ$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0O="t t 0t pi i i j p p p `l m Hm xm m m `q q (q q e g `g g g 0g 8h 0@h ph 0h 8h h 0 i f f f l 8l hl l l n 0n `n n n o o o p @p hp n o (o Po xo e 8g <Hi <g g 0g 8h 0@h ph 0h 8h h 0 i 0j `j j j j n o (o Po xo Q P P (Q Q PO `P @P hS H[ v (v <HT T U 8U 8] |] |^ |@^ @u u  * H* P' x' ' ( @( h( ( ) ) ) ) 5; 8d b ud*7,(  T_ACCESS_REG5 (; 8d s d*7  T_ACCESS_MEM (58d 4; T ud7   T_ARG_REG_01 (5 n)d 4; T ed7%   T_ARG_REG_02 (5 d 4; T ed7)   T_ARG_REG_03 (5 4; T hd7   T_ARG_REG_04 ((5d8@;@|d9  4; T 2d7u  - 5 T_ARG_REG_05 (5*7  T_ARG_REG_BIFCALL (5d; T ud7 T_ARG_STKFRAME (58 ud 4 4; T  2d87  T_ARG_MEM5 d  eud*7 T_ARGPTR_TN5* 7 T_ARGPTR_AM ( ,5 8   4  ; T 4; V( ,d9 9 t  d7\|$(  T_ARGVALA_MEM (5 d \  d7,0=%T_CALL (5 n 8)ed \  d7PT=%T_CALL_SYM_ADDR (58 ud \  d7@D= T_CALL_ADDR5 7i T_ENDPROLOG5 d7kT_ENTRY5d d7 T_INITCALL5 *7 T_LENGTHREF5;  d7 T_PARMALLOC (58 u  d7 T_PARMTEMP5; 8d ud*7T_RESULTREG_ANY5 $ 8d  uud*7 T_RESULTTMP5 d7T_RETURN (58d;  ud7 T_RETURNREG5 8d  eud*7) T_TEMPREF5 *7) T_TEMPREF_AM57 T_NOP_ACTIONSȃ b b@ b ` b@ `h `  0b `8 h    0  X   І   H p    ` ` (5*7 T_RETURN_OP1   K  (58 ud8  n8  ) W 2 ,7,H,H "  p2 H /  H /  H / Ԃ H ud*7>T_CAST_FIX_FLOAT (58 ud  "  ,%H,&HW B,'H ,7,'ud*7Xdp|>T_CAST_FIX_FLOAT_EV6  (58 ud n8) d    W Z B/ H2" 2  ,32H,1H,3W 0,7ud*7>T_CAST_FLOAT_FIX (58 ud  W ,Z B,7H,Z 2 ,ud*7L`l>T_CAST_FLOAT_FIX_EV6                    (58 ud n8)     ?   "0 0@  P2 2H! 0@S /L H2 2H/ | H! 0@S /  H/ ܇ H/  H!( 0 @ R /\ H/Ȉ H/ H/  H!( 0@ R/̉ H/  H/ 4 H/ t Hud*7  @Th|0DXl>T_CAST_FLOAT_FLOAT (58 ud   2ud*7 T_CAST_INT_64 T_CAST_INT_32 T_CAST_INT_LOW T_CAST_INT_LOW_COM  T_CAST_INT_L8 T_CAST_INT_L16 T_CAST_INT_L32 T_CAST_64 T_CAST_64_COM T_CAST_64_NEG T_CAST_64_LOW T_CAST_64_LOW_COMT_CAST_64_HIGH T_CAST_64_HIGH_COMT_CAST_64_NONZERO T_CAST_64_NONZERO_COM T_CAST_32 T_CAST_32_COM T_CAST_32_NEG T_CAST_32_LOW T_CAST_32_LOW_COMT_CAST_32_HIGH T_CAST_32_HIGH_COMT_CAST_32_NONZERO T_CAST_32_NONZERO_COM T_CAST_S32_32 T_CAST_Z32_64  T_XCVT_32_32  T_XCVT_S32_32 T_XCVT_S32_S32U-   D B   D   D  (58 u +P "  !(    2ud / H  d   2u,A / D g/ T H   d   2u/ d g/  H!    d   2u,A /  g/  Hd  2ud*74L|tLL$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{01" T_CVT_INT T_CVT_IUA_INRANGE T_CVT_IUA_UA_NOCODE  T_CVT_IUA_I_NOCODE (58 ud   +2ud*7T_CVT_INT_ADDRT_CVT_ADDR_INT (58@  eud*7 : T_CVT_ADDR_AM_INTD?  (58 ud  / ud*7T_CVT_INT64_INT128?U- D  (58 uP    / (Hd  / lud*7,\xT_CVT_INT128_INT64DD  (58 ud  / 4ud*7T_CVT_INT128_INT128D  (58 ud  / ԗud*7T_CVT_INT128_UINT64DD  (58 ud  / `ud*7T_CVT_INT128_UINT128DK  (58 ud  / ud*7T_CVT_UINT64_INT128DK  (58 ud  / ud*7T_CVT_UINT64_UINT128D BA   D D  (58 uP   / 0ud  / @/ `g/ pHd  / ud*7,T_CVT_UINT128_INT64A   D  (58 ud uP d  / / g/ d*7<T_CVT_UINT128_INT128 (58 ud K,'H n8) 8,,7z  {   2ud*78Dx_T_CVT_INT_REAL (58 uz  {   2ud*7_T_CVT_INT64_FIF_REAL (58 uz   {  , 2ud*7_T_CVT_INT32_FIF_REAL (58 ud ,7d K,'H n8)   8, ,7 z  {   2ud*7LX_T_CVT_UINT32_REALA   ii 'D ii '(D h D h D  (58 u {    K,'H n8)   , ,7   ? /L "( @ / xj /   H/ j/  H/ Xj / l  H/ j /   Hud*7T` ,X_T_CVT_UINT64_REAL    ii 'D ii '(D h D h D  (58 u      ? /  "( @ / Ģj /  H/ 0j/ T H/ j /  H/ j /  ud*78_T_CVT_UINT64_FIF_REAL (58 uW ,7d8 .d d ud*74<_T_CVT_INT_REAL16U-  (58 ud  ,Dd88 . d P Z   / < d   u d*7 |_T_CVT_REAL16_INT (58 ud .d  d ud*7_T_CVT_INT128_REAL (580 ud .d d ud*7_T_CVT_REAL_INT128   (58 uz  {   2/ hud*7_ T_CVT_REAL_CMPLX1   (580 ud .d  / d ud*7_ T_CVT_REAL_CMPLX2 (58 {  uud*7_< T_CVT_CMPLX_REAL1 (58 uz  {   2ud*7_ T_CVT_CMPLX_REAL2 (580 ud .d  d ud*7_ T_CVT_CMPLX_REAL3 (58 uz  {   2ud*7_  T_CVT_FLOAT  T_CVT_FLOAT_DBLE (508 ud8 .d d ud*7_T_CVT_REAL_REAL16 (58 ud  ,Dd88 . d  d   u d*7 _T_CVT_REAL16_REAL  (58 uz  {   / ud*7_  T_CVT_CMPLX1   T_CVT_CMPLX2    (58 u 0   / حd . d    u 8  / d . d  8 /  d ud*7_  T_CVT_CMPLX3 (58 ud    2K,Z 2 ,H n8) , 2ud*7`t   T_REAL_INT (58 uz     2 Z   2 KZ ,H ,H  n8) Z ,H, 2 ud*7d| T_REAL_INT_SC (58 uz Z   {   Z 2 2H2ud*74<hT_REAL_INT_FIF T_REAL_UINTT_REAL_UINT_FIFih^  iD   (58 u  n 8        )   ?    ! j/ Z  2 2  2 u d*7 T_REALI_UINTih^  iD   (58 u   {  ?    ! j/г Z  2 ud*7T_REALI_UINT_FIFT_ROUND T_ROUND_FIF (58 u  jd n8  ) ,h 2  _ M۾,$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"2 Z  2 ,H, 2 ud*7  T_ROUNDI_INT (58 u    Z   jd n8 {  ) ,h 2  _ Z 2   2 , H2  ,  2 ud*7HP@ T_ROUNDI_INT_SC (58 u jd  ,h 2 _ 2Z  2ud*7 T_ROUNDI_INT_FIF (58 u  Z  j {  ,h 2 _ Z 2 2H2ud*7@H@ T_ROUNDI_INT_FIF_SCih^  h( iD   (58 u     n8  ) ?   j/  d  888j /й  Z , 2  2 ud*7 T_ROUNDI_UINTih^  h( iD   (58 u    ?    j/ d 88j/л Z ,ud*7T_ROUNDI_UINT_FIFT_ROUND_IEEE_Xhhc  hhb  (58 u   z 888 {  ?  jj^   /H  H/ ud*7T_ROUND_REAL_IEEEhc  hb  (58  u   ?j^  /H/ Pud*7Tl|T_TRUNC_REAL_IEEEhZ  (58 u   d  888?  ,j/L ud*7T_ROUND_REAL_VAX (580 ud .dZ } H d ud*7TH\ T_RTL_A_RV T_RTL_A_CV T_RTL_R_RV ( ,58Z 0H   ud8Z 1H   ud88 .dZ } H d ud*7,8@`lt T_RTL_A_AV_AV ( ,58 0  ud8Z| 2H   ud88 .d  d ud*7HT\GEM_CG_T_RTL_C_CV_CVGEM_CG_T_RTL_A_IV_IV (58 uz  {   2ud*7T_SQRT_EV6_ARCH7B  D &'   (580 u    /  d .d   /  d ud*7T_SQRT_EV6_TUNE ( ,58 u  n u d8Z   H   un u d   ) e d   ) ed8 88 8  .dZ } H d ud*7Xl|  T_RTL_A_AR_XR ( ,((58@ ;@  | d  e d8@ ;@ | d  e d8 8  .dZ } H d ud*7uu- - T_RTL_A_AR_M_XR_M (58 u nud n ) e d  ) e d8 88 .d*7 T_RTL_RR_RR ( ,58 u  n u d8 u  n u d n )ed   ) e d   ) ed8 8 88 8 .d*7T_RTL_RR_RR_RR ( ,58 u  n u d n ) e d   ) e d 8  ud8 8 88 .d*7T_RTL_RR_RR_IV  (58 u  z 0  0 2 4/, d . d   z  {  2 ud*7 T_RTL_CABSU-  ( ,58Z 0H   uZ ,7d8Z 1H   uZ,7d88 .dZ  H   Z ,P  Z   / Hd ud*7,8@t(X` T_PWR_A_AV_AV ((5*7_2` T_XCVT_ADDR( Ș ( Ș ( Ș ( Ș ( Ș ( Ș     @ P |( Ș ( P |Ș ( Ș ( Ș  ` P ` @ 00 00 00@ 00p 00 ` `p؈ ` P`( h 0`  @   (   P   x     Ȍ        @   @ @ ` ` ` ` ` `8 ` `` ` ` ` ` @ @؋ @ @@ `8 ` <`<` `< `` ``؎ `` 00 00 00@ 00p 00   0`  0`0`  @0 `X @ @ @@Џ @ @ @H p  @ <  8 `   0ؑ 00 < < Д X < P Ph  @ @ 0@x  @( @ || P ||P |x | |Ȓ | |P, x, , , , - @- h- - - - . 0. X. . . . . .  / ` H/ ` p/ ` / ` / ` / ` 0 ` 80 ` `0 ` 0 ` 0 ` 0 ` ( P |Ș ( Ș h  ȗ |h  ȗ |h  ( P |Ș ( Ș ( Ș   h  ȗ |h  ȗ |h  H p  P< P< P< P<8 P` P  P ( Ș ( P |Ș ( ( ( Ș N3 Jg$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0[ .;-7tɑj259]Zn0E|+J~MS7)Osaq{[u0_jT^>8RHt"s\NxFX 4Kpk,+cONK*!|$B41fWEEC,P(*V''+jUF_x[|.5=lb%.sw(r/_;^WrgHF#o&8b\ TM+l_qjC/ZB rko *F/Y!*3\7FN߉Y6i DHc=Spw"][R wϳKA#$Q> ˓)0tXpԟ} v+l$m^wU,pP~9?Gx.YlPVЦ.n"{v%;A&Ӽ`{3ŗ|38_qx kJt }o3U-9ZtkZ- ju\Ss7 E] \}T.'5t;#(~BQzV/"{hn ÁR u8Fla ~ :EV [{}p㴣k/*WA8_ǝ'&#Sf[ 'nٞRVSL qh$n]I>I[m|UO Da{A;b)87۽\,}J)I#PH8xW2BAx_2̔UAcM(5tUKv_uTj1M P„\LbhW7z'xd>M.1~Nh< LU Q%w,K)C@|>Sp|G+.1/h6CpA ƃ*+[@01f&N@v-?~#}sIQv]gIrRtCzg76nƳ|~z}lZ/}R`U=u&5Z[hBk-0u_em=l {$Jpr@2ItOo 8׈w-@vё%dC(A5uG{p]XE@';3JX`.Szg&e }PU=ngfuAb m +hZ DiTn_1tO6Vo^{ze fcwDr0,GeWq$F &>/z}ZS݄(v,XnHt~Zd|S6O_J!@A^T ӨKU[ 5i/>ͶT;Ozl>HTMOݶp6k "xrr1{wkFrPLo&gx Pev7.1i-1xr,y-;m"zX5ddŬ;F?5Hun+VLs*nI\ "HZ]K_YheƇ \3:t(B_R.T>M$HC*=3hZe.c%T%&;r"A=MmY$oWV}wW;f:v ZMa+Slӷ_٩g+}nSL|/#-'#s_#) y"< # ^g֕ ASRe @=% $ke_ ( N~."U2R'";@yPW KvG[6PgX ak;<>&1?'dR7-%Pl5xY<;Ig^fE9K8k|QxNPaQq1L )udCѳ65[##962(1:=dun.mGLm`ǭ|Ed[o91~Q >J`\:ebp xʊ9AjCY0?"u(`3@C"SvܕedX2wJ9 Ev| {XI`[5sqaae@] S|F{;AxJ?1fk$d5 7+uV>f$d'aM]o]fT!D\aP\Hwc 7C@n gzmބcOeTĬ%jxhH1=q&^X:w*c{@F2Ĵa"~1HRx*+Gq8MrzxUxY R٠:#U53dS3V> bG 3e3"3Wi8z&{1T`U62)԰);7V4͋h6V,\- u4NLj}{MS;A. U`gT N6emjd|' `m}V^^S cYru"b$B֬f'ίn2>p,io4E<~4B@ ŘHZFo)}YUx (, [D- ՝6n"]'xfs=,HD~$ fB=F$ r OZܰ%"^?3(QRQ,s?ڦCESCJvu^/o eF/@rK&#kAyC<#/jg"ML3*n~#J*3fT>nf&abCfy{A I]~6Vo 'WT1k `i+;!}7+$fbf)zĮ<B_{W e۞w8-' ٽ9<@w`K`#1PrI_#w*V @M~O]bVs'D<'U:+۬?IOM5 (*x\ *GĶOtSfX7ؘR RpG]h^kWa s8ϔ\EetGyrwK:')o/FbW)d_QĊ SgVLj5·3D|g'`߇lH+~!-}b Bbnt??}=/>D[,@`_]^lkPs:#fh~\ R)h__)^|(tz%&,z1 ;S kt/48F, .B2- du&"5е {hQY$|2ѿzh|DO$raMf~t|#7C8|ww_ol0>O~'ry~@>ӵ}j3)(?M F~DW*!~Ac!0j9!!:7I}PW3jKg+Pv%{ڛ5<) xDEYw] xbiD6$WB*ɺQZ+!r _}Ouh>0g:21E>aW :L]1`vRlm^1{RDlHr~,cNbz~1VBN>k>rf/-lϹ3:+:^Br 6?bgb*)&=Z'[tw}`b&;CtTFp2ufkb?@CUE: 2p;}^K] k|-tG_'stHDm-"!xˤnXDphPqvg4rDZJ9|-=幺u<)Dm_ri%5> IO;|pK+'/̵Q^ ~HGou"{tA賃S$J4rhvp5,. &+vwZ:_%Z2$;4 etwoKHR @J0__f2[sEi;9PF;~fwVF%3ksr5CR4? 8R43'EWk7)DYJ9*dNeKќld`%jX%o^.|nE>%W~rY-o 3Jݏ`# !R Q\RHU v ,ޝGt"749J1P"M`+ҞRM2 "f(S%Vg2`csn#~$߭O@3tzo%WZ̥v֨VسS]%+Sk\KIdҞVV>Q7@~z_ϾNFϟFi_RF =[H^W(}]^S(*}WaiPNtΦx[Le/ΉFT)\l[g V$u,PPX"\wn "}67(cpO{%$f$A=mȎo,<eBO&?GJ[3*LɷB1Ն>_+te 4*.| \3hRG,'J=5-u9$S<-t6'0Dea i@ =! WP3pJibzUT 49a'/alVr=;iKcST @" (Q-,3JC]-)d?r.F̯-wJwa]qӮ(- pI5``C#bQMj_3ntSqh/6֍N0?cE'rLo-LP'hy']ztP_ T_}'Gf|_WUh4Slrq&Al j JV0k$3tn ثSrYb.5q_jE#xp'V< 8#ngDْ|ϖq?W<"1Z+6PV@=VN<ZI4ႂ;G_3E"f: ]U?r fNT/o|W`ƚq3RA~rU9Sk>q\`J{A)=En[4b+/WhF3=9sNuzPK;\>fY397#1z!V@䯧!Z{go~Pm\wMP֛Pm"a:mWSGthJY`behi,;E<5lvKvduNJ^ݳ*efaeԏL ΃=f8! pP1>a4|?3`B3ҀNm1^]z *] q1+ļb|._>C Ovo6g8) ޽t8Fux.K2Q'\^1Z]P)Ne}tMn}L\Dx` Wg>"3%⦿ZF@wL,k};9(&0 JUlv r>[F;" WX0e:sđ#p |(<_/Gp1J/=B]УY3rK]s/3}=k?Cxq- [Lt-@ 2t&^i1^ Ȳ 5S]~=! ?)Jf;$L]YC_ h=7{X~?u o|tz l7 nJ - Vssm`[^ʫH0SǞEʃ! -7oM3L>3 >m ]lÝl}msIa8Oi|0fo/X!8Z9u -PR o!'5CMnkupPCPW?2W3F!2$W - Rz>h nS_LIcO  W @jHO>$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0="( Ș  @ ( P |Ș ( ( Ș ( Ș ( Ș 0 <X < < Д  P Pؖ P ( Ș  @ @ ` P ` @5 58 5 50 <81 5? 5=D  <83,0 55= 55= 55= 55= 55= 5555==   5G= 5G 5G= <81G= 5$M= 5M 5M$= <81$M= <81M$= ? 5#L=D 5$M= 55#$LM== 55LM 55LM=#$== 55 HI== 55HI 55HI= == 55!"JK== 55JK 55JK=!"==    55!"JK==55!"JK== 55JK55JK 155 HI== 355!"JK== 355!"JK==355!"JK==   < 4G=> D < 4$M=> D < 4$M=8>f9  D 4#<=?D 8B  < 4 I=8> fB 4H=?D  D 8B  < 4"K=> 4!J=?D  D <18G= <18G <18$M= <18M <18$M=f9  1<=D <18Mf9  1<D 8B  <18 I=1H=D 8B    8B  D  <11"!KJ== P+1$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"D  ( ,58 u8 ud   2ud*7:<`T_AMINUS_ADIFF ( ,58 ud  y,ud*7,T_AMINUS_ADIFF_LIT16 ( ,58 ud ,78 ud   2ud*7:T_AMINUS_UINT32 ( ,58 u8 ud   2ud*7:< T_APLUS_GEN ( ,58 ud ,78 ud   2ud*7:T_APLUS_GEN_UINT32:T_APLUS_GEN_Z32 ( ,58 u8 ud  ,ud*7 T_APLUS_32 ( ,58 ud  ,ud*7 T_APLUS_32_R8:<`T_AMINUS_ADIFF_NEG:<T_APLUS_GEN_NEG,,  ( ,58@ d88@ d  / ud*7:<T_APLUS_AM_GEN ( ,58@8@$  d*7:<T_APLUS_AM_GEN_AM ( ,58@R  d  R ,,ud*708\d T_APLUS_LIT ( ,5@d*7T_APLUS_LIT_AM ( ,(,58 u8 ud   )2ud*7:<6  T_AMINUS_SHL ( ,(,58 u8 ud   (2ud*7:<6  T_APLUS_SHL:6 T_APLUS_SHL_UINT32:<6 T_APLUS_SHL_IADDR:<6 T_AMINUS_SHL_NEG:<6 T_APLUS_SHL_NEG ( ,(,$(, 58 u8 u d   ,8 $ , ,ud*7:6 6 $T_APLUS_SHL_IAND_0 ( ,(,$(, 58 u8 u d   ,8 ,,ud*7:6  $T_APLUS_SHL_IAND_1 ( ,(,$(, 58 u8 u d   ,8  (2ud*7:6 6 $T_APLUS_SHL_IAND_2 ( ,(,$(, 58 u8 u d  $ + ,,ud*7:  $6 $T_APLUS_SHL_IAND_3 ( ,(,$(, 58 u8 u d  $ + ,$,ud*7:  $6 $T_APLUS_SHL_IAND_4 (58  G)  eud*7( T_BASEDREF_GEN (5*7(I  T_BASEDREF_GEN_OFF0 (58  G)d*7( T_BASEDREF_GEN_AM (58  Gd*7( T_BASEDREF_AM_AM (58  )  eud*7(  T_BASEDREF_TLS (58  )d*7(  T_BASEDREF_TLS_AM (5d\ X 6 8@; @R  | d9   R  2ud*7HT| ,,(u5 H  T_FETCH_GEN (5d8@; @R  | d9   R ,1ud*70<dlu5  T_FETCH_GEN_B4_S32  (5d\ X  6 \ 6 8@; @R  | d9   R  / ud*7Xl8< ,,(u5 H T_FETCH_GEN_CMPLX8  (5d\ X  6 \ 6 8@; @R  | d89 W p   H   R  / ud*7Xl8< ,,(u5 H T_FETCH_GEN_OCTA (5d\ X 6 8@; @R  | d9   R  2ud*7HT| ,,(u5 H T_FETCH_GEN_FIX_IN_FLT (5d\ X 6 8@; @R  | d9   R  2ud*7HT| ,,(u5 H T_FETCH_GEN_FLT_IN_FIX (5d9  d88@; @R  | d8  R / ud*7DPxu T_UFETCH_BYTE_LOWu T_UFETCH_BYTE_Z8 (5d\ X 6 9   d88@; @R  | / ud*7l ,,(u   T_DFETCH_WORD_Z16 (5d\ 6 9      d888@; @R  | / | ud*7x $u5 A T_PFETCH_WORD_Z16 (5d\  6 8@; @R  | d8  d9   R Y Y Y @ "   B / dH/ ,H/ H/ ud*7@T  $u  T_UFETCH_QUADu  T_UFETCH_LONGu T_UFETCH_LONG_Z32u T_UFETCH_LONG_S32u T_UFETCH_WORD_Z16 (5\ 6 9    nd8@; @ | d8888) ! 0 / lH/ d*7 u T_UFETCH_FLOAT (5d\ 6 8@; @R  | d8  d9   R W 0/ H/ ud*7@T $u T_UFETCH_FLOAT_FIF (5\ 6 8@; @ | d9        nd8888 8 ) /4 d*7 u  T_UFETCH_OCTA (5\ X  6 \ 6   d888@; @R  | d9 R  / ud*7|48(($u5 H T_UFETCH_CMPLX8L11  (5  d888@; @ | d9 / dud*7u5  T_UFETCH_LONG_PAIR (5\ 6   d888@; @R  | d9 R  / $ud*7ht u5  T_UFETCH_CMPLX16Q5 d  eud*7 T_LITADDR5* 7 T_LITADDR_AM5* 7 T_LITREF_LIT8_U5* 7 T_LITREF_LIT165  h ud*7QH_$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0\" T_LITREF_TN5*d d7' # T_LITREF_INT_ZERODD 5  / Tud*7' T_LITREF_INT128_ZERO5*d ?d7' T_LITREF_REAL_ZERO 5  ?/ ud*7' T_LITREF_CMPLX_ZERO5*  ,Dud7& T_LITREF_TRUE_TN5*7& T_LITREF_TRUE_LIT5 d  d*7T_LITREF_STR_FSA5    gu d*7T_LITREF_STR_SA# <#  (59 d8@; @ 1}6X  H | d  8X / H/ d7LX`T_PREFETCH_EV41# <1# 6# <6# 3# <3# 7# <7#  (59 d8@; @?; 4#$ W }X  | / H  | /  H X  | / 8 H  | / L H X   | / | H  | / H X   | / H  | / d7t$@Hd|T_PREFETCH_EV51  (59 8@; @ | / "d78 T_WRITE_HINTE  =<? (08  (59 8@; @ | d 8/ 8#d78DT_WRITE_HINT_FILL# 5   nS) |   / $d9 7L$  T_SPLIT_FLUSH# # 5   nW S) |   / P%d9 7h@80 T_SPLIT_FLUSH_CMPLX5   nd9  S) |  u 2ud74\  T_SPLIT_LOAD  5   nW d9  S) |  u / &ud7|P80 T_SPLIT_LOAD_CMPLX57A  T_SPLIT_REG ( ,5\ 6 8@; @ | d88 u 9 / dd7(,5  T_USTORE_QUADL ( ,5\ 6 8@; @ | d88 u 9 / dd7(,5  T_USTORE_REAL8L_FIF ( ,5\ 6 d8@; @9  | / ,dd7$('5  T_USTORE_QUADL_0  ( ,5d8 ud88@; @ | 9 / )dd75  T_USTORE_LONG_PAIR ( ,5\ X 6 d8@; @ | 9  2dd7$00,5 H T_STORE_STKFRAME ( ,5\ X 6 8 ud88@; @ | 9  2dd7(4405 H  T_STORE_GEN_45 H  T_STORE_GEN_8 ( ,5\ X 6 8 ud88@; @ | 9  52dd7(4405 H T_STORE_GEN_FLT_IN_FIX ( ,5\ X 6 8 ud88@; @ | 9  2dd7(4405 H T_STORE_GEN_FIX_IN_FLT   ( ,(58ud88@; @ | 9 ? / -d7_5 :<T_STORE_CVT_CMPLX   ( ,(,58u8ud888@; @ | 9  / . d7O5 T_STORE_CMPLX_CMPLX  ( ,5\ X 6 \ 6 8 ud88@; @ | 9  / /d7@D(4405 H T_STORE_GEN_CMPLX8  ( ,5\ X 6 \ 6 8 ud88@; @ | 9  / 0dd7@D(4405 H T_STORE_GEN_OCTA  ( ,5\ X  6 \ 6 8@; @W  | 9 ?,W p/ 1d7ph<@$00,'5 T_STORE_CMPLX_ZERO ( ,5\  6 8 ud8@; @! 2  B@rHH | 9 d88      @! 2 B@r/ H/ H/P d7  0x(,   T_USTORE_LONG ( ,(, (5  8@; @   | d8     9  Y (H8  u@! 2  B/ H/ d7u  ; -   T_USTORE_BINOP_LONG ( ,5\  6 8 ud8@; @! 2  B@rHH | 9 d88      @! 2 B@r/ H/ H/P d7  0x(,  T_USTORE_REAL4_FIF   T_USTORE_QUADu ; -   T_USTORE_BINOP_QUAD ( ,5\  6 8 ud8@; @! 2  B@rHH | 9 d88      @! 2 B@r/ H/ H/P d7  0x(,  T_USTORE_REAL8_FIF  T_USTORE_FIXED_16 ( ,5\  6 8@; @!( 2  B@rH H H  | d89   @!( 2  B@r/ H/ H/ H/ d7 dp|$(    T_USTORE_0   T_USTORE_INT128_0 ( ,5\ 6 8 u nu)d8@; @ | 9 d          d88 8 8 8 8  @! 0 p/x H/0 H/ d7,<(,  T_USTORE_FLOAT ( ,5\ X 6 \ 6 8 ud88@; @ | 9  / Xd7@D(4405 H T_USTORE_CMPLX8L ( ,5\ X 6 \ 6 8 ud88@; @ | 9  / d7@D(4RP/$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0q"#405 H T_USTORE_CMPLX16Q ( ,58@; @ | d8 u      89 @/ d7  T_USTORE_BYTE_LG ( ,58@; @ | d   89 @/ Dd7  T_USTORE_BYTE_0_LG ( ,58@; @ | d8 u      89 @/ d7  T_USTORE_BYTE_BG ( ,58@; @ | d8 u        89 @/\ d7  T_USTORE_LONG_LG ( ,58@; @ | d8 u        89 @/\ d7  T_USTORE_REAL4_LG_FIF ( ,58@; @ | d8 u        89 @/  d7 T_USTORE_LONG_BG ( ,5\ 6 8 u nu)d8@; @ | 9 d            d88 8 8 8 8 88 @! 0  ,1 /\ H   ,3 / d78`(,  T_USTORE_REAL_LG ( ,58@; @ | d8 u            89 @/ d7  T_USTORE_QUAD_LG ( ,58@; @ | d8 u            89 @/ d7  T_USTORE_REAL8_LG_FIF ( ,58@; @ | d8 u        89 @/ d7 T_USTORE_QUAD_BG T_USTORE_FLOAT_BG T_USTORE_CMPLX8_BG T_USTORE_BYTE16_BG5  n)R  d  R ,,ud*7$,PX% 0 T_SYMREF_ANY%A T_SYMREF_ANY_RP5  n*d)d7% 0T_SYMREF_ADDR_MODE%A T_SYMREF_ADDR_MODE_RP57%A T_SYMREF_REG_VOID59   |   R uud*748yI 9   T_FETCHSYM_AUTO_NODEFER59   | d*7y I 9   T_FETCHSYM_AUTO59   |   R u,ud*74@yI 9  T_FETCHSYM_AUTO_SEXTL59   |    u,'ud*7y9 I E HT_FETCHSYM_ITOF_EV65d; @  n)R  | d9   R  2ud*7,8`pyT_FETCHSYM_GEN5d; @  n)R  | d9   R ,1ud*7,8`hyT_FETCHSYM_GEN_B4_S32 5d; @  n)R  | d9   R  / $Lud8*7,@h|yT_FETCHSYM_GEN_CMPLX8 5d; @  n)R  | d9 W p  H  R  / Mud8*7,@TpyT_FETCHSYM_GEN_OCTA5d; @  n)R  | d9   R  2ud*7,8`pyT_FETCHSYM_GEN_FIX_IN_FLT5d; @  n)R  | d9   R  2ud*7,8`pyT_FETCHSYM_GEN_FLT_IN_FIX (58 d9   | _TuHuud7P8@H9 I F    T_STORESYM_AUTO9 I F    T_STORESYM_AUTO_S32 (58 ud9   | ud79 I   T_STORESYM_AUTO_NOTARGET (58 ud9   |  ,ud79 I E HT_STORESYM_FTOI_EV6 (5  n8 ud8; @) | 9  2dd7T_STORESYM_GEN_4T_STORESYM_GEN_8  (5  n8 ud8; @) | 9  / Qd7T_STORESYM_GEN_CMPLX8  (5  n8 ud8; @) | 9  / Rdd7T_STORESYM_GEN_OCTA (5  n8 ud8; @) | 9  52dd7T_STORESYM_GEN_FLT_IN_FIX (5  n8 ud8; @) | 9  2dd7T_STORESYM_GEN_FIX_IN_FLT  (5  n8 ud8; @) | 9 / Tdd75 T_STORESYM_GEN_LONG_PAIR  (5  ; @) | 9 ?,W p/ |Ud7Xd'5 T_STORESYM_CMPLX_ZERO (5;8d9   | sd7I  A <T_STORESYM_ACCESS_REG (5(8; d9   | sd7I  A <T_STORESYM_ACCESS_MEM (5  8; @) | 9  2dd7 5 T_STORESYM_STKFRAME  `   `  0 М 0 8 X  p  ؛    X    ( X    8  `   ؞  0b8 0`h  @rȟ 0 ( `X ` 0` 0` 0`  H 0bx 0b Bء  8 @rh  BȢ p! ! " H" x" " " # 8# h pb@ pb   @ 0b 0`0 X @r 0   @ h b ` b @ 0 | X  Ф   `# # # # $ ($  b0 bX  b @~X  0b0 @~ 2  B Ш @r   |H 0b@ |p |8    Щ 0 Bp @ Ъ @ @  B 8b0 @ @` }  p ( `   Ȭ 0  0 ` @  @  P r 0b 0b 0b  0b 0b 0bX 0b 0b@! 0b! 0bX$ $ $ $ % H%  b <X    }b  а pb pbH @x 2  Bȱ  @r@ S"@+$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0e"4 h B |( 0b 0bX 0b 0b 0bx  Ȯ   ` b b (5*7 T_RETURN_OP1 (58 ud  ,ud*7  T_ALLBITS_INT (58 ud  , ud*7  T_ALLBITS_INT_TN_COM (58 ud  ?,ud*7 T_ALLBITS_INT_TN_HIGH (58 ud   ,2ud*7 T_ALLBITS_UINT KD    (5d   / bud*7 T_ALLBITS_FLOW_INT KD    (5d   /cud*7 T_ALLBITS_FLOW_UINT (58 ud u   H  2d*7LX`T_ANDSKIP_ORSKIP_TN1T_ANDSKIP_ORSKIP_TN2T_ANDSKIP_ORSKIP_TN3T_ANDSKIP_ORSKIP_TN4 (58 ud 2*7 T_ANDSKIP_FLOW1 (51*7 T_ANDSKIP_FLOW2 (58 ud d87 T_BR_LIST5 1   $^  d7$, T_BR_TARGET5 ,D74T_BRANCH (58 ud   ,A,9,;76 T_BRARITH_INT (58 ud  ,B,976T_BRARITH_UINT (58 ud   , ,,76T_BRARITH_REAL=9:A  (58 u d   / hd76T_BRARITH_REAL16 (5Y 8 uH8 ud   227 8L7 T_BRCOND_TN ((5Y 8 uH8 ud  0 227(@T7gT_BRCOND_EDRAIN ((,58 u8 ud   ,<,?,>d77T_BRCOND_LANDU ((,58 u8 ud   ,<,?,>d77T_BRCOND_LANDUR (5  oo77 T_BRCOND_FLOW= KK  ( ,58 u nud8 u/ k nu)   e d)  e d888 8   / l   .d7T_JUMP (58 ud,)7 T_JUMPLOCAL ( ,58 ud   22o*7  T_LANDC_FLOW1 ( ,5 o oo*7  T_LANDC_FLOW2 ( ,588 uud1*7T_LANDC_LORC_TN1T_LANDC_LORC_TN2T_LANDC_LORC_TN3T_LANDC_LORC_TN4 (58 ud  ,8ud*7 T_LBSET_TN T_LBSET_TN_NON_NZLT_LBSET_TN_LOWT_LBSET_TN_LOW_COM (5*8 ud  ,?,>7 T_LBSET_FLOW T_LNOT_ANY_TN T_LNOT_ANY_TNC T_LNOT_ANY_NZT_LNOT_ANY_NZCT_LNOT_ANY_NZFT_LNOT_ANY_NZFC T_LNOT_ANY_LWT_LNOT_ANY_LWC T_LNOT_ANY_HG T_LNOT_ANY_HGC (5*7  T_LNOT_FLOW (58 ud  ,3ud*7 T_LNOT_TN (58 ud  ,gud*7 T_LNOT_TN_NON (58 ud  ,gud*7 T_LNOT_TN_NON_COM T_LNOT_TN_LOW ( ,58 ud   22o*7  T_LORC_FLOW1 ( ,5 oo o*7  T_LORC_FLOW2 T_LSBIT_TN (58 ud  ,8ud*7T_LSBIT_TN_TN_LOW (58 u d  ,D,<ud*7T_LSBIT_TN_TN_LOW_COMT_LSBIT_TN_NON (58 ud  ,Uud*7T_LSBIT_TN_NON_COM (58 ud  ,]ud*7T_LSBIT_TN_TN_HIGH (58 ud  ,\ud*7 T_LSBIT_TN_TN_HIGH_CT_LSBIT_TN_LOWT_LSBIT_TN_LOW_COMT_LSBIT_TN_HIGH T_LSBIT_TN_HIGH_COM KD D   (5d  / wud*7 T_LSBIT_FLOW T_NONZERO_NONT_NONZERO_NON_8T_NONZERO_NON_16T_NONZERO_NON_32 (58 ud  ,gud*7 T_NONZERO_TNT_NONZERO_TN_8T_NONZERO_TN_16T_NONZERO_TN_32 (58 ud  ,Uud*7T_NONZERO_TN_NZCT_NONZERO_TN_NZC_8T_NONZERO_TN_NZC_16T_NONZERO_TN_NZC_32 (5*8 ud   227T_NONZERO_FLOW5*  ,D7#  GEM_T_LITREF_FALSE5*  ,D7&  GEM_T_LITREF_TRUE (58 ud  2*7T_ORSKIP_FLOW1 (51*7T_ORSKIP_FLOW2 ( , 05Y 8 uH(d8Y 8vH vu1od*70HLl| T_SELC_TN ( , 05oood*7  T_SELC_FLOW ( , 05d1od*7 T_SELC_VOID (5dY 8 ud uHd  vu ,D 1d*7$Lh T_SELELSE_TN (5dd 1d*7T_SELELSE_FLOW (5d ,D 1d*7T_SELELSE_VOID (58 ud 2*7T_SELTHEN_FLOW1 (51*7T_SELTHEN_FLOW2   ( , 058  u8 uY (H8 u&2 Z @Y / ~ H/ ~ud*7dl T_SELU_FIXEDT_SELU_FIXED_L32T_SELU_FIXED_LOWT_SELU_FIXED_NON ((,059  |8u8uY 8uH(d9 &2ud7py9 I  ; -   GEM_T_STORESYM_SELU_FIX ( , 0 (,5 8  u8 u8  T^9$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"Eu 4m,MH,NH,QH,RH,SH,LHud*72<'T_SELU_FIXED_RELZERO ((, 0$(,5$9   | 8u8uY $8$uH(d9 4m,MH ,NH ,QH ,RH ,SH ,LH ud7 $y9 I  2<'; -     GEM_T_STORESYM_SELU_FIX_REL0 ( , 058 u  8u  2d8u1ud*7 T_SELU_FLOAT  ( , 058  u8 u8 u&Z |/ PH2ud*7|T_SELU_FLOAT_NZFP     ( , 058  u8 u ,'8 uZ Y , H,HY / PH/ |ud*7T_SELU_FLOAT_EV6 ((,059  |8u8u8ud9 &2ud7y9 I  ; -   GEM_T_STORESYM_SELU_FLT ( , 0 (,5 8  u8 u8  u 4m,H,H,H,H,H, Hud*72'T_SELU_FLOAT_RELZERO ((, 0$(,5$9   | 8u8u8$ud9 4m,H,H,H,H,H, Hud7 y9 I  2'; -     GEM_T_STORESYM_SELU_FLT_REL0 ( , 0518  ud ,D18u1u8d*7 T_SELU_FLOW5 71 T_VBRANCHX < < <г  < H p     h   <  0 `  ȶ  ( @  h P `x h  0 X   з    H x  ȹ  ( P x  غ  ( P x  Ȼ   0 X   H p  м  (  ؽ  ( P P x     @ p  п  0 `   H p   @ h  b  b P  bH bx b     bH  b bH < } }( }  b  8 h    ( ,59 8@; @|     t   ) d*7 w T_FETCHF_FIX_NODEFER ( ,59 8@; @|  d*7w  T_FETCHF_FIX ( ,59 8@; @| 8 u  "  / H  / H (   ) d ( t   d*7  tw T_FETCHF_STR_NODEFER ( ,59 8@; @| 8 d*7w  T_FETCHF_STR ( , 059 8@; @|     t   ) d*7 x T_FETCHS_FIX1_NODEFER ( , 059 8@; @|     t   ) d*7 x T_FETCHS_FIX2_NODEFER ( , 059 8@; @| 8 u  "  / H  / H (   ) d ( t   d*7  x T_FETCHS_STR_NODEFER ( , 05 9 8@; @| d*7x T_FETCHS_FIX1_STR8 ( , 05 9 8@; @| 8@$  d*7x T_FETCHS_FIX2_STR8 ( , 059 8@; @| 8@$   d*7x T_FETCHS_STR_STR8x T_FETCHS_FIX_SUBSTR_NODEFER ( , 05 9 8@; @| d*7x T_FETCHS_FIX_SUBSTRx T_FETCHS_STR_SUBSTR_NODEFER ( , 05 9 8@; @| d*7x T_FETCHS_STR_SUBSTR ( , 0 45  8@; @| 89 t  d7  T_STOREF_GEN ( , 0 4( ,$5  $  8@; @| 88 9 t  d7Q T_STOREF_CONCAT ( , 0 4($, $(($,,5( ,   8@; @| 88 89 t  d7QQ  T_STOREF_CONCAT_2 ( , 0 4( ,$ (( ,,((0(,450 4 ,$ 8@; @| 88 889 t  d7QQQ   T_STOREF_CONCAT_3 ( , 0 45 8@; @|    9 t  d7/ T_STOREF_NULL_GEN ( , 0 4( ,$5 $8@ ; @ | 8n)   " wH+ p 9 t   d7'2}` T_STOREF_SCAST_FIXED ( , 0 4( ,$5 $8@ ; @ | 8n)  " w  H+    9 t   d7? $2}` T_STOREF_SCAST_FIXED1?$2` T_STOREF_SCAST_FIXED2 ( , 0 4( ,$58@; @|  " wHw49 d7|2  '' 2` T_STOREF_SCAST0_FIXEDU $ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0.} V2 @'' 2` T_STOREF_SCAST0_1: ?$' 2` T_STOREF_SCAST0_2@:?$' 2` T_STOREF_SCAST0_3 ( , 0 4 8 5   8@; @| 89 t  d7  T_STORES_GEN (5 8 n t  d*7>GEM_CG_T_CAST_STR8 ( ,588         t d*7 QT_CONCAT_FIXED ( ,(,5 888     t  d*7 QQT_CONCAT_FIXED_2 ( ,(,( ,$5 $ 888 8    t  d*7QQQT_CONCAT_FIXED_3 ( ,(,( ,$$(($,,5 ( ,888 8 8   t  d*7QQQQT_CONCAT_FIXED_4 ( ,(,( ,$$(($,,,(0,,45 ( 04888 8 88   t  d*7QQQQQ T_CONCAT_FIXED_5 ( ,5*7h T_ELEMENT_FSL1 ( ,58 u nud8)    " +H(Hw  ) t  d*7T_SCAST_IURCA_FIXED ( ,58n)8  u   "  /  H /  H(    ) d t  d*7  xT_SCAST_IURCA_GEN ( ,58c8 uH(    [) t  d*7 <(@T_SCAST_STR_FIXED ( ,58c8 uH(8  u   "  /  H /  H(    ) d t  d*7  @,D|T_SCAST_STR_GEN (5* 70T_USTRING_FSL1C0T_USTRING_FSL1C_STR16 (58 ud  " H,8H,5d*7dpx0T_USTRING_FSL1I (58 udZ H  )(   , d*7DPX0 T_USTRING_FSA (58 ud  Z  H       d888 )(   , gu d*7 LX`0 T_USTRING_SA ( ,5*  %  d7GEM_CG_T_SCMP_F_FIXED ( ,5   %  ud*7GEM_CG_T_SCMP_R_FIXED ( , 05*   %  d7T_PADSCMP_F_FIXED ( , 05    % ^ ud*7T_PADSCMP_R_FIXED ( ,5*  %  d7GEM_CG_T_SCMP_F_GEN ( ,5   %  ud*7GEM_CG_T_SCMP_R_GEN ( , 05*   %  d7T_PADSCMP_F_CPAD_GEN ( , 05   %  ud*7T_PADSCMP_R_CPAD_GEN ( , 05*   %  d7T_PADSCMP_F_GEN ( , 05   %  ud*7T_PADSCMP_R_GEN ( ,(,( ,$5*  $  %  d722::GEM_CG_T_SCMP_SCAST_F ( ,(,( ,$5  $   %  ud*722::GEM_CG_T_SCMP_SCAST_R ( , 0(, ($,(5*$  (   %  d722::T_PADSCMP_SCAST_F ( , 0(, ($,(5 $   (   %  ud*722::T_PADSCMP_SCAST_R ( , 0(, ($,(5*$  (   %  d722::T_PADSCMP_SCAST_F_GEN ( , 0(, ($,(5$  (   %  ud*722::T_PADSCMP_SCAST_R_GEN (58c  v   u H8  v   "   /  H  /  H(  ) d( t d*7  <XT_STRLENGTH_GEN ((,59 8@;@|8   u  u   "  /  H  /  H (   ) d ( t   d*7  wT_STRLENGTH_FETCHF_GEN ( , 05 d*7#GT_SUBSTR_UNALIASED#GT_SUBSTR_UA_FSA#GT_SUBSTR_UA_ADDR_GEN ( , 05 d*7#G'T_SUBSTR_UNALIASED_0#G'T_SUBSTR_UA_0_FIXED_2#G'T_SUBSTR_UA_0_GEN_3#G'T_SUBSTR_UA_0_GEN_4 ( , 05  d8t  d*7#'T_SUBSTR_0_FIXED ( , 05 8c gH u"   /  H  /  H(  )d8 t  d*7<LXx#'T_SUBSTR_0_GEN ( , 05    d8cc  H8   v d8 v,u88 8t    d*7 T\h#T_SUBSTR_FIXED ( , 058c gH u"  / H / H(   ) dc c  H 8    vd8  v , u  88 8 t  d*7 8HTt#& T_SUBSTR_GEN (5d8  vud*7 T_LENGTH_GEN ( ,5d8c gH uY 8 uH( d     4GHDI E F ,gVZ$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"g,9 H ,f,9 H ,f,B H ,g,B H ,3,B H ,3,9 ;  \  / `{ H/ { d*70@L\tx$8H\lx& T_CHKLEN_GEN'T_CHKLEN_SUBSTR T_CHKLEN_FIXED%T_CHKLEN_SUBSTR_FIXED ( ,5    88 u88  u   , u"  / H / H(   ) d( t  d*7Q&& T_CONCAT_GEN5 5  ( ,5W w8 d  8W / xH/ ud*7,<th$ T_ELEMENT_CO5 5  ( ,5 88 W w  @ $  d e d  8W / H/ ud*74Dh& T_ELEMENT_GEND D1F ,1 ,B  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / d8 @ ; @   | d8    / d7w6 @= 5 5. -  T_STOREF_FETCHF_L4D D11F  1,,1B  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / d8 @ ; @   | d8     / d7w6 = 5 5. -  T_STOREF_FETCHF_L8D D3F ,3 ,B  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / Pd8 @ ; @   | d8    /` d7w6 0= 5 5. -  T_STOREF_FETCHF_Q8D D33F  3,,3B  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / xd8 @ ; @   | d8     / d7w6 0= 5 5. -  T_STOREF_FETCHF_Q16DF  B DF  B DF   B  ( , 0 45   8 @ ; @   | 9 d   q #/ H/` H/ d76 5 /' T_STOREF_NULL_L4DF  B DF  B DF    B  ( , 0 45  8 @ ; @   | 9 d    q #/ H/ H/ d76 05 /' T_STOREF_NULL_Q8. .. ... .... ..... ......  ( , 0 4$(, 5 $  8@;@  |d8 @ ; @   | d88 9 9   # 4/ \ H/  H /  H  /( H   / H    /P d7 (Lxw6 = . -  T_STOREF_FETCHF_STB_ECO8 8. 88 88. 888 888. 8888  ( , 0 4$(, 5  $ 8 @ ;@ |d8 @ ; @   | d88 9 9   # </ 4 H/ X H/  H /  H / D H  / H  /, d7$@\w6 = 5 5. -  T_STOREF_FETCHF_STW_ECOD D.F ,. ,B  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / d8 @ ; @   | d8    / d7w6  = . -  T_STOREF_FETCHF_STB_LOOP_ECOD D8F ,8 ,B .  ( , 0 4$(, 5 $  9 d9 88 8@;@  |d / d8 @ ; @   | d8   q   /  Q / d7,w6 @= 5 5. -  T_STOREF_FETCHF_STW_LOOP_ECO (5 d  )e d   g dW$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"x gd 8A e d vd gd8 8 88888 .d*7 T_BIT_1_FIXED (5c8 uH gd  /    ) d  u d   g d vd 8A e d vd vd8 8 88888 .d*70<T_BIT_1_STRING ( ,5m d)  e d   g d  g d 8A e d vd gd 8A e d vd gd8 8 8 8888888 .d*7 T_BIT_2_FIXEDgDS  ( ,5  v d  v d8 8     /   ) d ud vd 8 u  u d 8Aed vd vd 8Aed vd vd8888888888 .d*7T_BIT_2_STRING ( ,5  a d) ed  g d vd 8A e d vd888888.d)H8(A ed v d  g d  g d88888.d*70 T_BIT_SINGLE_FIXED ( ,5  a u/   )d ud  g d vd 8A e d vd888888.d uH8( ed v d  g d  g d88888.d*7$0@T_BIT_SINGLE_GEN   ( , 05  a d )ed  g d vd 8A e d vd888888.d)H8(A ed v d8  cc   gH g, Hu/ d g d88888.d*7 <t|T_BIT_RANGE_FIXED   ( , 05  a u/   )d ud  g d vd 8A e d vd888888.d uH8( ed v d8  cc   gH g, Hu/ Td g d88888.d*70<LT_BIT_RANGE_GEN (5 d8)( 4d*7 T_BIT_ZEROBITS_XLW (5 d  )e d  g d  v d8 8 8 8.d*7T_BIT_ZEROBITS_FIXED (5  u /   )d  u d  g d  v d8 8 8 8.d*7T_BIT_ZEROBITS_GEN ( ,5  d8  A ed8  v d8  v d8   v d888 8  .d d ud*7 T_MEMBER_GEN ( ,5 d8  A ed8 vd8  v d8  Ae d8  v d8  v d888 8 8 8  .d d ud*7T_SUPERSET_GEN ( ,5 d8 Aed8 vd8  v d8   A e d8  v d8  v d888 8 8 8  .d d ud*7 T_SUBSET_GEN ( ,5 d  )e dZ   g d  v H  v d8 8 " 8 HnHh8.d*7X'(T_SCAST_0_STR_FIXED ( ,5  u "   /  H  /  H(  ) d  u dZ   g d  v H  v d8 8 "  8 H nH h8.d*7Dt\x0@LT'T_SCAST_0_STR_GEN ( ,5 d )edW   g d  g d  v H gd  v d888 " 8  H0 HX 8.  d*7 \$,~ T_FILL_FIXED ( ,5    vu "  / H / H(   )   ( d e dW  gd8  v d vH vd vd888"  8H 0H X8 .d*7 Tl(T~ T_FILL_GEN ]9 ]9  D  ( ,5d8 vd8 v  ,av8"  / H / H(  ) d   vdZ   8 / d   8v d   8e 8 v,  d88 8 8888<H   8v d  8 / <d   8v d   8e d   8v d88 8 8 8 88888.d8/ `1d*7 &T_REPLICATE_GEN ( ,5  u"  / H / H(  ) d ud  8u d  8 e d  8e d88 8 8  .d*7 Ph+&&T_TRANSLATE_GEN ( ,5     u d*7  T_IS_SINGLE ( ,5     u d*7 T_ISV_SINGLE_8_RTN ( ,5 d8  e d8  u d8 ed8  u d8888  .d d ud*7&& T_ISV_GEN_8 ( , 0 4( ,$58@; @|   e d8W   X;$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0&"g d  g d8 8 8 H  g 8 8 dW nHh.9 d7| '' 2` T_STOREF_SCAST0_4(($?$' 2` T_STOREF_SCAST0_535  ( ,5 8@; @  | (8         d88 8 O  / 0  HO /  HX   / | H/ d u   "    /  H  /  H (   )d(t d9 *78 <|wC T_FETCHF_VARYING_NODEFER35  ( ,5 8 @ ; @ | (        d8 88O /  HO /  HX    / |  H/ d  u d9 *7xwC T_FETCHF_VARYING35  ( , 05 8@; @  | (       d88 8 O  / | H O /  H X   / | H / d u   "   /  H  /  H (   ) d(t  d9 *7 D,HxC T_FETCHS_VARYING_NODEFERxC T_FETCHS_VARYING_SUB_NODEFER35  ( , 05 8 @ ; @ | (        d8 88O /  HO /  HX    / |  H/ d  u d9 *7xC T_FETCHS_VARYING_SUB N  ( , 0 45 8 @ ; @| (    ccp gH g uHc u gH u u[ / 8888O  / H X   /H    / d 9 t  d7t|0(LlC T_STOREF_VARYING_GEN N  ( , 0 4( ,$5   $ d8 @ ; @  | (   c gH ucc gH  u gHc  u gH u u,/ ,8888 O  / HX     / H  /d9 t d74<hxQC T_STOREF_V_CONCAT ( , 0 45;8d9  | sd7%T_STOREF_ACCESS_REG ( , 0 45(8; d9  | sd7%T_STOREF_ACCESS_MEM ( , 0 4 8 5 d88@; @| ( d cc(gH g uHc u gH u u,d88  O  / HX     / H    /    9 t d7$<4XxC T_STORES_VARYING_GEN ( , 05  d   A e u 8 dmQ(H  g u d1od88)  t )d*7`hx$GEM_T_SELC_STR (5d     Aeu 8d      g u d ,D 1d*7  GEM_T_SELELSE_STR ( , 05 d   v u 8d  v u 8d  Ae u 8d1od8"   /  H  /  H(  d888)) (t d*7'GEM_T_SELC_SUBSTR (5d     Aeu 8d      v u 8d      v u 8d  ,D 1d*7 GEM_T_SELELSE_SUBSTR ( , 05 d  d  e 8d e 8 d8 u8 8  g&2 m Q (Hg 2ud8 8)   t  )d*7$$GEM_T_SELU_STR ( , 05   A e8 d v 8 d  v8d8 u  2dA e 8v8v 8 18u"  / H / H(  d888)) (t  d*7$ (GEM_T_SELU_SUBSTR      x  ( X  H     0      8 p p  (  ` h 0 `   ( X      H p   ( P x   P     H  ` ` ` `P  X   x  @    H   p     H    @  @  @  @  @  (   @ x P   (  (   @ x P   (  (   @ x P   (  (   @ x P   (  (   @ x P   (  (   @ x P   (  X  0 x  X        x   H x   H x   H x   H x   H x   H  D   ;D  D8?<?  < 4M$=9 5B c(H8 uB  v    /* / * d7,YO$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"0 8 T_BIF_ADAWI_NOVALUE< 4M$=98 8=5U=33<8= 5B c(H8 uB  v      /(, / * d 7<,$0 8 T_BIF_ADAWI_PSL2 4 28 48 2D 4D 2= 4= 2  4  5B  vB c(H8 u   1 ; 8#T $ 9 ; / |.H / .H / .H / /H / L/H / |/H / /H / /H / 0H / H0,9 / * d 7XH@$4DT`00 8  $ 9; T_BIF_AAOES2 4 28 48 2D 4D 2= 4= 2  4  5 B  vB c(H8 uB  v    1 ; 8#T %  : < / \2 H / 2 H / 2 H / 2 H / ,3 H / \3 H / 3 H / 3 H / 3 H / (4 ,9 / 4* d 7XH@ ,<L\lx00 8  % :<T_BIF_AAOES_RETRY2 4 2  4  5B  v  1; 8#$ "/ X6H/ 6H/ 6H/ 6,9/ *d 7l|0 8  " T_BIF_INCDEC2 4 2  4  5B  vB  v    1; 8#$!#/ (8H/ \8H/ 8H/ 8,9 / 4*  d 70 8 !#T_BIF_INCDEC_RETRY2?=9 1?D 2@ 9 1@D 5B  v  1; 8#&(/ :H/ :d7L\h0 8 &( T_BIF_LOCK 2?=9  1 >;KD 2@ 9  1 ;;KD 5B  vB  v    ; 8#')/; H/D< d 7h|0 8 ')T_BIF_LOCK_RETRY2U9>D  4U9>D  5 B  vB c(H8 uB c(H8 uB   v  ; 8#/= H/> d 7P@8xh`0 8 T_BIF_CMP_STORE 2DU99  4DU99  5B  vB  vB c(H8 u      ; 8#*+/x? H/? d 7dTL0 8 *+T_BIF_CMP_SWAP 2]B 9  4]B 9  5B  vB  v    ; 8#87/  @T_FX_QUAD_NODEFER ( , 059  | d*7%I   9>   @ T_FX_QUAD_NOP ( , 05*d7  @T_EXTV_QUAD_NOP%I    9>  )T_FX_REG_LOW_L ) T_EXTV_LOW_L%I   9>  )T_FX_REG_LOW_L8 ) T_EXTV_LOW_L8%I   9>  )T_FX_REG_LOW_L16 )T_EXTV_LOW_L16%I   9>  ) T_FX_REG_LOW_L32 ) T_EXTV_LOW_L32%I   9>  ?)T_FX_REG_HGH_QH ?) T_EXTV_HGH_QH%I   9>  T_FX_REG_HGH_LH  T_EXTV_HGH_LH8  ( , 059  |  ud  R / Sud*7\p%I   9'6 T_FX_REG_TN_AND8  ( , 058 ud  / Tud*7'6  T_EXTV_TN_AND%I   9))T_FX_REG_NON_AND))T_EXTV_NON_AND8  ( , 059  |  ud  R / PUud*7\t%I   96 )T_FX_REG_TN_AND_NZL8  ( , 058 ud  / DVud*7))T_EXTV_TN_AND_NZ8  ( , 058 ud  / Wud*76 )T_EXTV_TN_AND_NZL  ( , 059  |  ud  R @ / Wud*7\%I   9))@T_FX_REG_TN_QH  ( , 058 ud  @ rs/ Xud*7))@ T_EXTV_TN_QH  ( , 059  |  ud  R  / Yud*7\t%I   9)) T_FX_REG_TN_LH  ( , 058 ud   / Zud*7r))  T_EXTV_TN_LH8  ( , 059  |  ud  R / [ud*7\|%I   9)6 @T_FX_REG_TN_SAND8  ( , 058 ud  / \ud*7)6 @T_EXTV_TN_SAND  ( , 059  |  ud  R @ @ /] ud*7\%I   9))@T_FX_REG_TN_ANY  ( , 058 ud  @ @ /^ ud*7))@ T_EXTV_TN_ANY ( , 058 ud  +,ud*7 6 8T_EXTZV_B_8_64 ( , 058 ud  +,ud*7 6 0T_EXTZV_B_16_64 ( , 059  |  ud  R ,ud*7\h%I   96 ?)T_FX_REG_LOW_ANY ( , 058 ud  ,ud*76 ?)T_EXTV_LOW_ANY  ( , 059  |  ud  R ?/ bud*7\t%I   96 @)T_FX_REG_HIGH_ANY  ( , 058 ud  ?/ cud*76 @)T_EXTV_HIGH_ANY ( , 059  |  u8 ud  R ,ud*7t|%I   9>)T_FX_REG_LOW_VAR ( , 0(58@;@? |d9   ,.,ud*7u - T_EXTV_MEM_BYTE_ECO ( , 0(58@;@? |d9   ,8,ud*7u5 - T_EXTV_MEM_WORD_ECO ( , 0(58@;@? |d9   ,.ud*7u - T_EXTZV_MEM_BYTE_ECO ( , 0(58@;@? |d9   ,8ud*7u5 - T_EXTZV_MEM_WORD_ECO ( , 05 n;@)? |d9   ,.,ud*7y - T_EXTV_FETCHSYM_BYTE_ECO ( , 05 n;@)? |d9   ,8,ud*7y5 - T_EXTV_FETCHSYM_WORD_ECO ( , 05 n;@)? |d9   ,.ud*7y - T_EXTZV_FETCHSYM_BYTE_ECO ( , 05 n;@)? |d9   ,8ud*7y5 - T_EXTZV_FETCHSYM_WORD_ECO ( , 058 u8 ud  ,ud*7)T_EXTV_LOW_VAR8  ( , 059  |  u8 ud  R / lud*7t%I   9>6 T_FX_REG_TN_VAR8U8  ( , 058 u8 ud  / mud*76 T_EXTV_TN_VAR8U8  ( , 059  |  u8 ud  R / nud*7t%I   9> T_FX_REG_TN_VAR1S8 [w]$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0d" ( , 058 u8 ud  / oud*7 T_EXTV_TN_VAR1S  ( , 059  |  u8 u8d d     R  z} @ /p u d*7 %I   9>6 @T_FX_REG_TN_VAR  ( , 058 u8 u8d d       @ /r u d*7 6 @ T_EXTV_TN_VAR L  ( , 059  |  u8 u8 u   888 d     R  z}/8s u d*7 %I   9>T_FX_REG_TN_GEN L  ( , 058 u8 u8 u   888 d      rs/t Z B,u d*7  T_EXTV_TN_GEN ( , 058@; @?@R  | d9   R ,3ud*7LX5  @@@@ T_FX_MEM_QUAD ( , 05X 6 8@; @?R  | d9   R ,3ud*7Xd,(H  @@@T_FX_MEM_QUAD_V 5 ) @@T_FX_MEM_QUAD0_L1 5 ) @@T_FX_MEM_QUAD0_L8 5 ) @@T_FX_MEM_QUAD0_L16 5 )  @@ T_FX_MEM_QUAD0_L3238  ( , 058@; @?@R  | d9   R / xud*7LX 5  @@T_FZX_MEM_QUAD0_M83  ( , 058@; @?@R  | d9   R / yud*7LX 5 ) @@?T_FX_MEM_QUAD_L15 ) @@8T_FX_MEM_QUAD_L85 ) @@0T_FX_MEM_QUAD_L165 )  @@ T_FX_MEM_QUAD_L3238  ( , 058@; @?@R  | d9   R / {ud*7LX5  @@T_FX_MEM_QUAD0_S_1  ( , 058@; @?@R  | d9    @ @ R ,3/| ud*7LX5  @@?@T_FX_MEM_QUAD_F  ( , 058@; @?@R  | d9   @ @R ,3/ } ud*7LX5 ) @@?@T_FX_MEM_QUAD_F_Z8  ( , 058@; @?@R  | d9   @ @R ,3/ < ud*7LX5 ) @@?@T_FX_MEM_QUAD_F_Z16  ( , 058@; @?@R  | d9    @ @R ,3/  ud*7LX5 )  @@?@T_FX_MEM_QUAD_F_Z325  @@?@T_FZX_MEM_QUAD_FB ( , 05\ 6 8@; @?R    | d8    d    R /  u 9 d*7\p,0 @@@T_FX_MEM_UQUAD  ( , 05\ 6 8@; @?R    | d8    d    @ @ R /  /  u 9 d*7\p,0 @9@T_FX_MEM_UQUAD_F ( , 058@; @? R  | d9   R ,1ud*7LXz5    T_FX_MEM_LONG ( , 05X 6 8@; @?R  | d9   R ,1ud*7Xd,(H   T_FX_MEM_LONG_VH   T_FX_MEM_LONG_VQ ( , 05X 6 8@; @?R  | d9   R ,1,7ud*7Xd,(H   T_FZX_MEM_LONG_VQ}5   T_FZX_MEM_LONG_325   T_FX_MEM_LONG0_L15   T_FX_MEM_LONG0_L85   T_FX_MEM_LONG0_L161  ( , 058@; @? R  | d9   R / `ud*7LX5 )  T_FX_MEM_LONG_L15 )  T_FX_MEM_LONG_L85 )  T_FX_MEM_LONG_L165   T_FX_MEM_LONG_S32 ( , 058@; @? R  | d9   R ,1,7ud*7LX}5   T_FZX_MEM_LONG5   T_FX_MEM_LONG_Z3218  ( , 058@; @? R  | d9   R / 0ud*7LX5   T_FX_MEM_LONG_S_1  ( , 058@; @? R  | d9   @ @R ,1/ 8 ud*7LX5 )   T_FX_MEM_LONG_F_Z8  ( , 058@; @? R  | d9   @ @R ,1/  ud*7LX5 )   T_FX_MEM_LONG_F_Z16  ( , 058@; @? R  | d9    @ @ R ,1/̎ ud*7LX5    T_FX_MEM_LONG_F5    T_FZX_MEM_LONG_FB ( , 05\ 6 8@; @?R    | d8  d  R / u9 d*7\p,0  T_FZX_MEM_ULONG  T_FX_MEM_ULONG_Z32  ( , 05\ \o $ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0Th6 8@; @?R    | d8    d    @ @ R /  / u 9 d*7\p,0   T_FX_MEM_ULONG_F ( , 058@; @?R  | d  8R / ,u9 d*7LX   T_FZX_MEM_DWORD_F   T_FZX_MEM_DWORD ( , 058@; @?R  | d  8R / u9 d*7Xl   T_FX_MEM_DWORD   T_FX_MEM_DWORD_Z16  ( , 058@; @?R  | d  8@ @ R / /`  u9 d*7LX   T_FX_MEM_DWORD_F ( , 05\ 6 8@; @?   R  | d   8888R / | ,u9 d*7dx,0 5 AT_FZX_MEM_PWORD_F 5 AT_FZX_MEM_PWORD 5 AT_FX_MEM_PWORD_Z16 ( , 058@; @?R  | d9   R ,8ud*7LX 5 T_FZX_MEM_PWORD_ECO  ( , 05\ 6 8@; @?  R    |       d88 8 8@ @ R / | /4 u 9 d*7dx,0  5 AT_FX_MEM_PWORD_F 5 AT_FX_MEM_PWORD ( , 058@; @?R  | d9   R ,8,ud*7LX 5 T_FX_MEM_PWORD_ECO 5 T_FX_MEM_PWORD_Z16_ECO55=  ( , 05\ 6 \ # X  6 8@; @?R    | d     888 8R /  u9 d*7,0\<PX T_FZX_MEM_UWORD_F T_FZX_MEM_UWORD T_FX_MEM_UWORD_Z1655=  ( , 05\ 6 8@; @?R    |         d88 8 8@ @ R /< u 9 d*7\p,0  T_FX_MEM_UWORD_F5  ( , 05 d8@; @?R  | d9 8  R / ud*7Xd T_FZX_MEM_BYTE ( , 058@; @?R  | d9   R ,.ud*7LX T_FZX_MEM_BYTE_ECO T_FX_MEM_BYTE_Z8 T_FX_MEM_BYTE_Z8_ECO58  ( , 05  d8@; @?R  | d9 8   R / X ud*7dx  T_FX_MEM_BYTE ( , 058@; @?R  | d9   R ,.,ud*7LX T_FX_MEM_BYTE_ECO5  ( , 058@; @?R  | d9 8  R / dud*7LX T_FX_MEM_BYTE_L15  ( , 058@; @?R  | d9 8  R  ?/ p ud*7LX T_FX_MEM_BYTE_H15 8  ( , 058@; @?R  | d9 8   R / #  / ud*7LX T_FZX_MEM_BYTE_F5   ( , 058@; @?R  | d9 8   @ @ R / / ud*7LX T_FX_MEM_BYTE_F85  ( , 058 u d8@ ; @ R   | d8  d8 88 9   R / L  ud*7`l T_FX_MEM_VAR_BIT_L1858  ( , 058 u d8@ ; @ R   | d8  d8 88 9   R /   ud*7`l T_FZX_MEM_VAR_BIT858  ( , 058 u d8@ ; @ R   | d8  d88 8 9   R / @  ud*7`l T_FX_MEM_VAR_BIT5 5=  ( , 05\ 6 8@; @?+R y   | d8    d    w @   yR /̭  u 9 d*704 @? T_FX_MEM_X8_F@ 88f@9 5D  55=D  DD   ( , 05\ 6 8@; @   R e| 8 u8 u         88 8 d9       R  z}/ u d*7\d 48 T_FX_MEM_GEN ( , 05  8@; @  e d8   u d8   u d8 8 8 9  .d d 2 ud*7 T_FX_MEM_RTN ( , 0 459  | 8 ud  ]g$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"2ud7%I   9 6 @ T_SX_REG_FULL<  ( , 0 459  |  u8d/ hud7%I 9B   ))JT_SX_REG_LIT8_0<  ( , 0 458 ud  / Hud*7))J T_INSV_LIT8_0=  ( , 0 459  |  u8d/ ud7%I 9B   ))1T_SX_REG_LIT8_1=  ( , 0 458 ud  / ud*7))1 T_INSV_LIT8_1<=   ( , 0 459  |  u8d/ طud7%I 9B   ))( T_SX_REG_LIT8<=   ( , 0 458 ud  / Ըud*7))( T_INSV_LIT8<8=  ( , 0 459  |  u8 u8d /йud7%I 9B   )) T_SX_REG_88<=  ( , 0 458 u8 ud8       / u d*7 ))T_INSV_8F<  ( , 0 459  |  u 8d/ @ud7%I 9B   ))JT_SX_REG_LIT15_0F<  ( , 0 458 u d  / 4ud*7))JT_INSV_LIT15_0F=  ( , 0 459  |  u 8d/ $ud7%I 9B   ))1T_SX_REG_LIT15_1F=  ( , 0 458 u d  / ud*7))1T_INSV_LIT15_1F<   ( , 0 459  |  u 8d/ ud7%I 9B   ))(T_SX_REG_LIT15F<   ( , 0 458 u d  /ud*7))( T_INSV_LIT15F<8=  ( , 0 459  |  u8 u  d/,ud7%I 9B   )) T_SX_REG_15F<8=  ( , 0 458 u8 u  d88      /h u d*7 )) T_INSV_15E<  ( , 0 459  |  u 8d/ ud7%I 9B   ))JT_SX_REG_LIT15H_0E<  ( , 0 458 u d  /ud*7))JT_INSV_LIT15H_0E=  ( , 0 459  |  u 8d/ ud7%I 9B   ))1T_SX_REG_LIT15H_1E=  ( , 0 458 u d  /ud*7))1T_INSV_LIT15H_1E<   ( , 0 459  |  u 8d/ud7%I 9B   ))(T_SX_REG_LIT15HE<   ( , 0 458 u d   / ud*7))( T_INSV_LIT15HE<8=  ( , 0 459  |  u8 u  d / ud7%I 9B   )) T_SX_REG_15HE<8=  ( , 0 458 u8 u  d88       /h u d*7 )) T_INSV_15H  ( , 0 459  |  u8d/ ud7%I 9B   6 ?JT_SX_REG_LOW_0  ( , 0 458 ud  / ud*7 6 ?JT_INSV_LOW_0_64 )JT_INSV_LOW_0_32=  ( , 0 459  |  u8 u8d @/ ud7%I 9B   6 ? T_SX_REG_LOW=  ( , 0 458 u8 ud8      @/u d*7  6 ? T_INSV_LOW_64 6  T_INSV_LOW_32  ( , 0 459  |  u8d/ ud7%I 9B   ))@JT_SX_REG_HIGH_0  ( , 0 458 ud  / hud*7))@J T_INSV_HIGH_0  ( , 0 458 ud   / Hud*7)) JT_INSV_HIGH_0_32=  ( , 0 459  |  u8 u8d @/ ^$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0m<ud7%I 9B   ))@ T_SX_REG_HIGH=  ( , 0 458 u8 ud8      @/pu d*7 ))@ T_INSV_HIGH!<  ( , 0 459  |  u 8d/ ] ,ud7lt%I 9B   ))@JT_SX_REG_LIT_0!<  ( , 0 458 u d  / ] ,ud*7))@J T_INSV_LIT_0!=  ( , 0 459  |  u 8d/ ] ,ud7lt%I 9B   ))@1T_SX_REG_LIT_1!=  ( , 0 458 u d  / ] ,ud*7))@1 T_INSV_LIT_1< =  ( , 0 459  |  u 8d/ ud7%I 9B   ))( T_SX_REG_LIT< =  ( , 0 458 u  d     /u d*7 ))( T_INSV_LIT_64))( T_INSV_LIT_32!<8=  ( , 0 459  |  u8 u  d/$] ,ud7%I 9B   ))@ T_SX_REG_F ( , 0 459  |  u ,4ud7%I 9B   6 ?7 @J T_SX_REG_B_0 ( , 0 458 ud   ,4ud*76 ?7 @J T_INSV_B_0 ( , 0 458 u  d   , ,5  ,= ud*76 ?7 @1 T_INSV_B_145=  ( , 0 458 u8 u  d       /  u d*7 6 ?7 @ T_INSV_B_646 ?7 @ T_INSV_B_32L6  7  T_INSV_B_324=  ( , 0 458 u8 u  d       /  u d*7 6 ?@ T_INSV_B_64H4=  ( , 0 458 u8 u  d       /  u d*7 6 ?  T_INSV_B_32H4=  ( , 0 458 u8 u  d       +/   W BY , u d*7 6 ?7 @  T_INSV_B_8_646 7  T_INSV_B_8_32L6 7   T_INSV_B_8_324$=  ( , 0 458 u8 u  d       +/  W BY , u d*7 6 ?7 @ T_INSV_B_16_646 7  T_INSV_B_16_32L6 7  T_INSV_B_16_324 =  ( , 0 458 u8 u  d       +/  W B, u d*7 6 ?7 @  T_INSV_B_32_6454= 54=  ( , 0 4( ,$0(5 8 u8  u  d    $ (V (   V  /p  H /  ] ,ud*7s$()))$)(@$(@T_INSV_B_EXTZV_64s$()))$)( $( T_INSV_B_EXTZV_32s$()))$)( $( T_INSV_B_EXTZV_32L<8= 8<=  ( , 0 4( ,$0(5 8 u8  u d8    $ V  ,HV  ,/  H/ ] ,ud*7)))$)($(@!( T_INSV_EXTV_8!<8= !8<=  ( , 0 4( ,$0(5 8 u8  u  d88    $ V  , HV  , / H/ ] ,ud*7 ))@)$)($(@!( T_INSV_EXTV_F!<8=  ( , 0 458 u8 u  d88      / ] , u d*7 ))@T_INSV_FL<8=  ( , 0 459  |  u8 u8 u8 ud    8d  888 8 9 /   ] ,ud7%I 9B   > T_SX_REG_GENL<8=  ( , 0 458 u8 u8 u8 ud    8d  88d8 8       /  W B, u d*7  T_INSV_GEN ( , 0 45\ 6 8@; @? | d8 9 _3$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"@/ d748   JT_SX_MEM_BYTE_0 ( , 0 45\ 6 8@; @? | d8 u  89 @/ Ld78<    T_SX_MEM_BYTE5<  ( , 0 45\ 6 8@; @? | d8  9 @/ Td748   JT_SX_MEM_BYTE_LIT_05=  ( , 0 45\ 6 8@; @? | d8  9 @/ d748   1T_SX_MEM_BYTE_LIT_15< =  ( , 0 45\ 6 8@; @? | d8   9  @/ d748   (T_SX_MEM_BYTE_LIT5<8=  ( , 0 45 \ 6 8@; @? | d8    u    89 @/` d78<   T_SX_MEM_BYTE_F ( , 0 458@; @? | d8 u       89 @/ d7   T_SX_MEM_BYTE_LG ( , 0 458@; @? | d   89 @/ Dd7   JT_SX_MEM_BYTE_0_LG<18<  ( , 0 45\ 6 8@; @? | d8    9  @/  d748   JT_SX_MEM_BYTE_LIT_0_LG<18=  ( , 0 45\ 6 8@; @? | d8    9  @/T  d748   1T_SX_MEM_BYTE_LIT_1_LG<18< =  ( , 0 45\ 6 8@; @ ?   | d8     9   @/  d748   (T_SX_MEM_BYTE_LIT_LG<18<8=  ( , 0 45 \ 6 8@; @ ?   | d8    u      89  @/  d78<   T_SX_MEM_BYTE_F_LG ( , 0 458@; @? | d88 u9 ,d7 T_SX_MEM_BYTE_ECO.<  ( , 0 45\ 6 8@; @? | d8 9 / @ d748  JT_SX_MEM_BYTE_LIT_0_ECO.=  ( , 0 45\ 6 8@; @? | d8 9 / T d748  1T_SX_MEM_BYTE_LIT_1_ECO.<=   ( , 0 45\ 6 8@; @? | d8 9 / h d748  (T_SX_MEM_BYTE_LIT_ECO.8<=  ( , 0 45 \ 6 8@; @? | d88    u   9 /  d78<  T_SX_MEM_BYTE_F_ECO ( , 0 458@; @? | d8 u       89 @/ d7 T_SX_MEM_BYTE_BG ( , 0 4( ,0 ($ ,( 0,5$ 08@; @? | d8  9  Y 080 uH(@/  d7}  ; -  =(=, T_SX_BINOP_FX_BYTE ( , 0 4( ,0 ($ ,( 0,5$ 08@; @ ?   | d8     9  Y 080 uH(@/T d7}  ; -  =(=, T_SX_BINOP_FX_BYTE_LG ( , 0 458@; @? | d 89 @/ Ld7  J   T_SX_MEM_DWORD_0 ( , 0 458@; @? | d8 u  89 @/ d7     T_SX_MEM_DWORD ( , 0 45\ 6 8@; @ ?     | d8 u    89 @/ d78<  5  T_SX_MEM_PWORD ( , 0 458@; @? | d88 u9 ,d75  T_SX_MEM_PWORD_ECO ( , 0 45\ 6 8@; @ ?     | d8 u     89 @/ d78<   T_SX_MEM_UWORD  ( , 0 458@; @? | d88 u 9 / x d7  T_SX_MEM_UWORD_ECO ( , 0 458@; @? | d8 u       89 @/ d7     T_SX_MEM_DWORD_LG ( , 0 458@; @? | d   89 @/ $d7     JT_SX_MEM_DWORD_0_LG ( , 0 45\ X 6 8@; @? | d8 u      89 @/< d78DD@   T_SX_MEM_DWORD_BG ( , 0 458@; @? | d8 u  `ay$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"       89 @/ d7   T_SX_MEM_PWORD_LG ( , 0 458@; @? | d     89 @/ d7   JT_SX_MEM_UWORD_0_LG ( , 0 45\ X 6 8@; @? | d8 u        89 @/ d7@DD8  T_SX_MEM_PWORD_BGH  T_SX_MEM_WORD_V ( , 0 4( ,0 ($ ,( 0,5$ 08@; @ ?   | d8  9  Y 080 uH(@/  d7}  ; -   =(=, T_SX_BINOP_FX_DWORD ( , 0 4( ,0 ($ ,( 0,5$ 08@; @ ?     | d8     9  Y 080 uH(@X /| H/ d7 }  ; - 5  =(=, T_SX_BINOP_FX_PWORD}  ; -  =(=, T_SX_BINOP_FX_UWORD ( , 0 458@; @?  | d8 u89 ,d75    T_SX_MEM_LONG ( , 0 45X 6 8@; @? | d8 u89 ,d784H   T_SX_MEM_LONG_V1<  ( , 0 45\ 6 8@; @?  | d8 9 @/ ! d748  5   JT_SX_MEM_LONG_LIT8_01=  ( , 0 45\ 6 8@; @?  | d8 9 @/ # d748  5   1T_SX_MEM_LONG_LIT8_11<=   ( , 0 45\ 6 8@; @?  | d8 9 @/ ($ d748  5   (T_SX_MEM_LONG_LIT81<  ( , 0 45\ 6 8@; @?  | d8  9 @/ `% d748  5    JT_SX_MEM_LONG_LIT_01=  ( , 0 45\ 6 8@; @?  | d8  9 @/ & d748  5    1T_SX_MEM_LONG_LIT_11< =  ( , 0 45\ 6 8@; @?  | d8  9 @/' d748  5    (T_SX_MEM_LONG_LIT14  ( , 0 45\ 6 8@; @?  | d8 9 @/ ) d748  5    JT_SX_MEM_LONG_FB_0145=  ( , 0 45\ 6 8@; @?  | d8 u  d  8 89  @/4*  d78<  5    T_SX_MEM_LONG_FB14=  ( , 0 45\ 6 8@; @?  | d8 u  d  8 89  +@/+  d78<   5    T_SX_MEM_LONG_FB_814$=  ( , 0 45\ 6 8@; @?  | d8 u  d  8 89  +@/(-  d78<   5    T_SX_MEM_LONG_FB_161145=  ( , 0 4( ,$0(5 \ 6 8@; @?  | d8@;@$? |d    889 9  @/ .  d7PTz  $(=$=(5    5 $(  - T_SX_MEM_LONG_FB_FX}  $(=$=(5    5 $(  - T_SX_MEM_LONG_FB_FZX1<8=  ( , 0 45\ 6 8@; @?  | d8 u    d  8 8 89 @/1  d78<  5    T_SX_MEM_LONG_F1<=  ( , 0 45\ 6 8@; @?  | d8 u    d  8 8 89 @/2  d78<   5    T_SX_MEM_LONG_F_Z8   5    T_SX_MEM_LONG_F_Z16    5    T_SX_MEM_LONG_F_Z32 ( , 0 45\ 6 8@; @ ?   | d8 u      89 @/ d78<    T_SX_MEM_ULONG ( , 0 45\ 6 8@; @ ?   | d8 u        89 @/\ d78<    T_SX_MEM_ULONG_LG ( , 0 458@; @?@ | d8 u89 ,d75  @@@@ T_SX_MEM_QUAD ( , 0 45X 6 8@; @? | d8 u89 ,d784H  @@@T_SX_MEM_QUAD_V ( , 0 45\ 6 8@; @?  | 9 @/ ,d748 5   @@@JT_SX_MEM_QUADL_0 ( , 0 45\ 6 8@; @?  | d88 u  9 @/  d78< 5   @@@T_SX_MEM_QUADL3<  ( , 0 45\ 6 8@; @?@ | d8 9 @/ H: d748  5  @@JT_SX_MEM_QUAD_LIT8_03=  ( , 0 45\ 6 8@; @?@ | d8a F$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0 q"" 9 @/ `; d748   5  @@1T_SX_MEM_QUAD_LIT8_13<=   ( , 0 45\ 6 8@; @?@ | d8 9 @/ < d748  5  @@(T_SX_MEM_QUAD_LIT83!<  ( , 0 45\ 6 8@; @?@ | d8  9 @/ = d748  5  @@?@JT_SX_MEM_QUAD_LIT_03!=  ( , 0 45\ 6 8@; @?@ | d8  9 @/ > d748   5  @@?@1T_SX_MEM_QUAD_LIT_13< =  ( , 0 45\ 6 8@; @?@ | d8  9 @/@ d748  5  @@(T_SX_MEM_QUAD_LIT34  ( , 0 45\ 6 8@; @?@ | d8 9 @/ lA d748  5  @@JT_SX_MEM_QUAD_FB_0  5  @@(@JT_SX_MEM_QUAD_FB_0_LG345=  ( , 0 45\ 6 8@; @?@ | d8 u  d  8 89  @/B  d78<  5  @@?@T_SX_MEM_QUAD_FB  5  @@(@T_SX_MEM_QUAD_FB_LG34=  ( , 0 45\ 6 8@; @?@ | d8 u  d  8 89  +@/D  d78<   5  @@?@T_SX_MEM_QUAD_FB_834$=  ( , 0 45\ 6 8@; @?@ | d8 u  d  8 89  +@/$F  d78<   5  @@?@T_SX_MEM_QUAD_FB_1634 =  ( , 0 45\ 6 8@; @?@ | d8 u  d  8 89  +@/G  d78<    5  @@?@T_SX_MEM_QUAD_FB_323345=  ( , 0 4( ,$0(5 \ 6 8@; @?@ | d8@;@$?@|d    889 9  @/ $I  d7PTz  $(=$=(5  @@?@5 $(@@?@- T_SX_MEM_QUAD_FB_FX}  $(=$=(5  @@?@5 $(@@?@- T_SX_MEM_QUAD_FB_FZX3<8=  ( , 0 45\ 6 8@; @?@ | d8 u    d  8 8 89 @/K  d78<  5  @@T_SX_MEM_QUAD_F ( , 0 45\ 6 8@; @ ?   | d8 u      89 @/ d78<   @@@T_SX_MEM_UQUAD85D<  ( , 0 45\ 6 8@; @ | d8 u d88        9 @/ N  d78<   JT_SX_MEM_VAR_BIT_085D=  ( , 0 45\ 6 8@; @ | d8 u d88        9 @/O  d78<   1T_SX_MEM_VAR_BIT_185D<8=  ( , 0 45\ 6 8@; @ | d88 u8 u           9 @/xQ  d7<@   T_SX_MEM_VAR_BIT5 5!"<<   ( , 0 45\ 6 8@; @? +     | d8       d@@@/dS  9 d78<  J @?T_SX_MEM_X8_F_LIT_05 5!"==   ( , 0 45\ 6 8@; @? +     | d8       d@@@/|U  9 d78<  1 @?T_SX_MEM_X8_F_LIT_15 5   !"!"<<==   ( , 0 45\ 6 8@; @?+ | d88 u          d @    @@/W   9 d7<@   @? T_SX_MEM_X8_F       ( , 0 45\ 6 8@; @?@ | d88 u  9 #$ (0/ 0Z  H/ `Z  H/ pZ  H/ Z  d7<@ 5  @@0T_SX_MEM_X8_24_48L_ECO   ( , 0 45\ 6 8@; @?  | d88 u  9 # / <\  H/ l\  d7<@ 5    T_SX_MEM_X8_24_32W_ECO@ bh$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"388f@ 9  5      <      =    D  5    <    =    5        =    D   ( , 0 45\ 6 8@; @ e| 8 u8 u8 u      8 8 88d       9 /]   d7@D   T_SX_MEM_GEN ( , 0 458@; @  e d8  u d8  u d8  u d8 8 8 8 9  .d7 T_SX_MEM_RTN ( ,(, 0$4((5(8@; @ ? | d88( u9 ,d7u $; - GEM_T_STORE_INSV_BYTE_ECO ( ,(, 0$4((5(8@; @ ? | d88( u9 ,d7u $5 ; - GEM_T_STORE_INSV_WORD_ECO ((,04 5   n; @)? | d88  u9 ,d7y ; - GEM_T_STORESYM_INSV_BYTE_ECO ((,04 5   n; @)? | d88  u9 ,d7y 5 ; - GEM_T_STORESYM_INSV_WORD_ECO       ( ,(, 0$4((5 ( $8@; @?  | d88 u  9 #$ (0/ Hf  H/ xf  H/ f  H/ f  d7u $ 0 $5 ; - GEM_T_STORE_INSV_24_48L_ECO ( ,(,((,$( 5 8@; @ | d8 (g9 ,d7u; -  $6 (GEM_T_STORE_MASKED_BYTE_ECO ( ,(,((,$( 5 8@; @ | d8 (g9 ,d7u5 ; -  $6 (GEM_T_STORE_MASKED_WORD_ECO88 00 " 5G= $G% " <18G= " < 28G=9 " 5G " <18G " < 28G9 " 5 .$G% " <81$M= $G% " <8 2$M=9 " <81 8$G%  ( , 0(5 ;@ ?    Y Q 8 uH8@e9    / n  / m  / `j ud*7dlu  - T_EXTV_MEM_BYTE_FAT ( , 0(5 ;@ ?    Y Q 8 uH8@e9    / o  /o  / j ud*7|u 5 - T_EXTV_MEM_WORD_FAT ( , 0(5 ;@ ?    Y Q 8 uH8@e9    / n  / m  ud*7dlu  - T_EXTZV_MEM_BYTE_FAT ( , 0(5 ;@ ?    Y Q 8 uH8@e9    / o  /o  ud*7|u 5 - T_EXTZV_MEM_WORD_FAT ( , 05 n;@)?e9    / n  / m  / `j ud*7y  - T_EXTV_FETCHSYM_BYTE_FAT ( , 05 n;@)?  e9    / o  /o  / j ud*7y 5 - T_EXTV_FETCHSYM_WORD_FAT ( , 05 n;@)?e9    / n  / m  ud*7y  - T_EXTZV_FETCHSYM_BYTE_FAT ( , 05 n;@)?  e9    / o  /o  ud*7y 5 - T_EXTZV_FETCHSYM_WORD_FAT ( , 05 ; @ ?    Y Q 8 uH8@e9    / n  / m  / `j ud*7\d|  T_FX_MEM_BYTE_FAT ( , 05 ; @ ?    Y Q 8 uH8@e9    / n  / m  ud*7\d|  T_FZX_MEM_BYTE_FAT  T_FX_MEM_BYTE_Z8_FAT ( , 05 ; @ ?    Y Q 8 uH8@e9    / o  /o  ud*7t|  5 T_FZX_MEM_PWORD_FAT ( , 05 ; @ ?    Y Q 8 uH8@e9    / o  /o  / j ud*7t|  5 T_FX_MEM_PWORD_FAT  5 T_FX_MEM_PWORD_Z16_FAT ( , 0 45 ; @ ?    Y Q 8 uH8@e8 u9  / k  /j  d7    c_Z$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{02DT_SX_MEM_BYTE_FAT ( , 0 45   ; @ ?  Y Q8 uH8@e8 u9  / k  /@k  d7    T_SX_MEM_BYTE_LG_FAT ( , 0 45   ; @?Y  EQ8 uH8@e8 u9   / k  /k  d7  T_SX_MEM_BYTE_BG_FAT ( , 0 45; @ ?    Y Q 8 uH8@e9 / k / |l d7|    JT_SX_MEM_BYTE_0_FAT ( , 0 45 ; @ ?    Y Q 8 uH8@e9  / k   /l   d7    JT_SX_MEM_BYTE_0_LG_FAT ( , 0 45 ; @ ?   Y Q8 uH8@e9  / k   /   39 D  D  K  f>  LD  =9D D   ( ,5 8(E     ud               j j /T   d&  ̴d8  ud*7(%44   GEM_T_INCR_D8 g> 39D D   ( ,5 8( E      ud         j j /  d&   ̴d8  ud*7(%44  GEM_T_INCRP_D8L? g>   398g> D D  3g> D  D  Kf>  LD  =9c8f> LD D =f> LD D   ( ,5 8(E    ud                   jjj/Ļ   d&  ̴d8  ud*7(%44   GEM_T_INCR_D4L? g>   3  g> D  39D D  Kf> LD  = f> LD =9D D   ( ,5 8(E  ud                     j j /  j j /  j j /eiSXe$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0yf  d&  ̴d8  ud*7+%44  GEM_T_INCR_D4B)%44  GEM_T_INCR_D8_0*%44  GEM_T_INCR_D8_1)%44  GEM_T_INCRP_D8_0*%44  GEM_T_INCRP_D8_1)%44  GEM_T_INCR_D4_0*%44  GEM_T_INCR_D4_1,%44  GEM_T_INCR_D4B_0-%44  GEM_T_INCR_D4B_1 (5 8I  u&  ̴H    u&  ̴.d  ud*7$@h(GEM_T_CVT_D8_D8_GEN*GEM_T_CVT_D8_D8_1O*GEM_T_CVT_D8_D8_11(GEM_T_CVT_D4_D4_GEN*GEM_T_CVT_D4_D4_1O*GEM_T_CVT_D4_D4_11+GEM_T_CVT_D4_D4_OPB-GEM_T_CVT_D4_D4_1BO-GEM_T_CVT_D4_D4_1B1 (5   8   u'I  .d8. d   &  ̰d  u d*7TD(GEM_T_CVT_D4_D8_GEN*GEM_T_CVT_D4_D8_1O*GEM_T_CVT_D4_D8_11+GEM_T_CVT_D4_D8_OPB-GEM_T_CVT_D4_D8_1BO-GEM_T_CVT_D4_D8_1B1 (5    8  u'd8.d   &  d  u d*7(GEM_T_CVT_D8_D4_GEN*GEM_T_CVT_D8_D4_1O*GEM_T_CVT_D8_D4_11 (5  8   u'I  . d8. d   d   u d*7 TD_(GEM_T_CVT_DEC_INT_GEN_*GEM_T_CVT_DEC_INT_OP1_(GEM_T_CVT_DEC4_INT_OP_*GEM_T_CVT_DEC4_INT_OP1_+GEM_T_CVT_DEC4_INT_OPB_-GEM_T_CVT_DEC4_INT_OP1B (5   8   ud8.d   &  ̰d  ud*7_GEM_T_CVT_INT_DEC_GEN_GEM_T_CVT_INT_DEC_OP1_GEM_T_CVT_INT_DEC4_OP_GEM_T_CVT_INT_DEC4_OPB_GEM_T_CVT_INT_DEC4_OP1_GEM_T_CVT_INT_DEC4_OP1B ( ,5  8   u'I  .d8   ud88. d  &  ̬d   u d*7 \L(GEM_T_SH_DEC_GEN*GEM_T_SH_DEC_OP1+GEM_T_SH_DEC_OPB-GEM_T_SH_DEC_OP1BL  ( ,5 8(E   m     u'd w  /   d&  ̴d8  ud*7(4  6 GEM_T_SHRD_D8_1N7_1==L  ( ,5 8(Em  u'd    w   @ /L  d&  ̰d8  ud*7(4   6 GEM_T_SHRD_D8_1N7_2====L  ( ,5 8(Em  u'd    w   @ /  d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_1N7_3======L  ( ,5 8(Em  u'd    w   @ /  d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_1N7_4KK  ( ,5 8  u'd/  d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_8_1DKL  ( ,5 8( E  m    u'd/ d&   ̰d8  ud*7(4    GEM_T_SHRD_D8_8_2DDK=L  ( ,5 8( E   m    u'd /  d&   ̰d8  ud*7(4   GEM_T_SHRD_D8_8_3DDDK==L  ( ,5 8( E   m    u'd / P d&   ̰d8  ud*7(4   GEM_T_SHRD_D8_8_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4  6  GEM_T_SHRD_D8_9N15_1KL  ( ,5 8(E  m  u'd w   @ /  d&  ̰d8  ud*7(4   6  GEM_T_SHRD_D8_9N15_2=K=L  ( ,5 8(Em  u'd   w     @ /  d&  ̰d8  ud*7(4  6  GEM_T_SHRD_D8_9N15_3==K==L  ( ,5 8(Em  u'd   w     @ /  d&  ̰d8  ud*7(4  6  GEM_T_SHRD_D8_9N15_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_16_1KKK  ( ,5 8  u'd/ | d&  ̰d8  ud*7(4    GEM_T_SHRD_D8_16_2DKKL  ( ,5 8( E  m    u'du/ X d&   ̰d8  ud*7(4   GEM_T_SHRD_D8_16_3DDKK=L  ( ,5 8( E   m    u'd / d&   ̰d8  ud*7(4   GEM_T_SHRD_D8_16_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_17N23_1KKK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4   6 GEM_T_SHRD_D8_17N23_2KKL  ( ,5 8(fX'y$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0}"wE  m  u'd w    /  d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_17N23_3=KK=L  ( ,5 8(Em  u'd   w      /  d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_17N23_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_24_1KKK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4    GEM_T_SHRD_D8_24_2KKKK  ( ,5 8  u'd/ l d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_24_3DKKKL  ( ,5 8( E  m    u'd/ T d&   ̰d8  ud*7(4   GEM_T_SHRD_D8_24_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_25N31_1KKK  ( ,5 8  u'd/ d d&  ̰d8  ud*7(4   6 GEM_T_SHRD_D8_25N31_2KKKK  ( ,5 8  u'd/ H d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_25N31_3KKKL  ( ,5 8(E  m  u'd w    / 8  d&  ̰d8  ud*7(4  6 GEM_T_SHRD_D8_25N31_4KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_32N_1KKK  ( ,5 8  u'd/ t d&  ̰d8  ud*7(4    GEM_T_SHRD_D8_32N_2KKKK  ( ,5 8  u'd/ T d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_32N_3KKKKK  ( ,5 8  u'd/ @ d&  ̰d8  ud*7(4   GEM_T_SHRD_D8_32N_4<L  ( ,5 8(E   m  u'd   w  j / 4  d&  ̴d8  ud*7(4  6 "GEM_T_SHRD_D4_1N15_1=<=L  ( ,5 8(Em  u'd     w   @ j/  d&  ̰d8  ud*7(4  6 "GEM_T_SHRD_D4_1N15_2KK  ( ,5 8  u'd/ X d&  ̰d8  ud*7(4   GEM_T_SHRD_D4_16_1DK<L  ( ,5 8( E   m    u'd j/ , d&   ̰d8  ud*7(4   GEM_T_SHRD_D4_16_2KK  ( ,5 8  u'd/ l d&  ̰d8  ud*7(4  6 "GEM_T_SHRD_D4_17N32_1K<L  ( ,5 8(Em  u'd w  @   j / L  d&  ̰d8  ud*7(4  6 "GEM_T_SHRD_D4_17N31_2KK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4  ) GEM_T_SHRD_D4_32N_1KKK  ( ,5 8  u'd/ d&  ̰d8  ud*7(4  ) GEM_T_SHRD_D4_32N_2<8=<L  ( ,5 8(Em  u'd         j j /x   d&  ̴d8  ud*7(4 4   GEM_T_SHRD_D4_1_1<8=<L  ( ,5 8(Em  u'd      w   jj/,  d&  ̴d8  ud*7(4 4  6  GEM_T_SHRD_D4_3O13_1   ( ,5 8(E  u'd  w  @ +#/   /   d&  ̴d8  ud*7(4 6 GEM_T_SHLD_D8_1N7_1 =  ( ,5 8(E  u'd    w  @ +#/ |  /   d&  ̰d8  ud*7(4  6 GEM_T_SHLD_D8_1N7_2 ==  ( ,5 8(E  u'd    w  @ +#/ <  / T  d&  ̰d8  ud*7(4 6 GEM_T_SHLD_D8_1N7_3===  ( ,5 8(Ep  u'd    w  @ / 4  d&  ̰d8  ud*7(4 6 GEM_T_SHLDgP$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0@"_D8_1N7_4DK  ( ,5 8( E   u' d/  d&   ̰d8  ud*7(4 GEM_T_SHLD_D8_8_1DDK  ( ,5 8( E   u' d/  d&   ̰d8  ud*7(4  GEM_T_SHLD_D8_8_2DDDK  ( ,5 8( E p     u' d/ d&   ̰d8  ud*7(4 GEM_T_SHLD_D8_8_3(4 GEM_T_SHLD_D8_8_4 K  ( ,5 8(E  u'd  w   @ +#/ H  / `  d&  ̰d8  ud*7(4 6  GEM_T_SHLD_D8_9N15_1 =K  ( ,5 8(E  u'd    w   @ +#/  /  d&  ̰d8  ud*7(4  6  GEM_T_SHLD_D8_9N15_2==K  ( ,5 8(Ep  u'd    w   @ /  d&  ̰d8  ud*7(4 6  GEM_T_SHLD_D8_9N15_3(4 6  GEM_T_SHLD_D8_9N15_4DKK  ( ,5 8( E   u' d/  d&   ̰d8  ud*7(4 GEM_T_SHLD_D8_16_1DDKK  ( ,5 8( E p     u' d/  d&   ̰d8  ud*7(4  GEM_T_SHLD_D8_16_2(4 GEM_T_SHLD_D8_16_3(4 GEM_T_SHLD_D8_16_4 KK  ( ,5 8(E  u'd  w    +#/ , / D d&  ̰d8  ud*7(4 6 GEM_T_SHLD_D8_17N23_1=KK  ( ,5 8(Ep  u'd    w    /  d&  ̰d8  ud*7(4  6 GEM_T_SHLD_D8_17N23_2(4 6 GEM_T_SHLD_D8_17N23_3(4 6 GEM_T_SHLD_D8_17N23_4DKKK  ( ,5 8( E p     u' d/  d&   ̰d8  ud*7(4 GEM_T_SHLD_D8_24_1(4  GEM_T_SHLD_D8_24_2(4 GEM_T_SHLD_D8_24_3(4 GEM_T_SHLD_D8_24_4KKK  ( ,5 8(E p   u'd w    /   d&  ̰d8  ud*7(4 6 GEM_T_SHLD_D8_25N31_1(4  6 GEM_T_SHLD_D8_25N31_2(4 6 GEM_T_SHLD_D8_25N31_3(4 6 GEM_T_SHLD_D8_25N31_4KKKK  ( ,5 8( E p     u' d/  d&   ̰d8  ud*7(4 ) GEM_T_SHLD_D8_32N_1(4  ) GEM_T_SHLD_D8_32N_2(4 ) GEM_T_SHLD_D8_32N_3(4 ) GEM_T_SHLD_D8_32N_4   ( ,5 8(E  u'd  w  @ +#/ P  / h  d&  ̴d8  ud*7(4 "6 GEM_T_SHLD_D4_1N15_1=  ( ,5 8(E  u'd    w  @ /   d&  ̰d8  ud*7(4 "6 GEM_T_SHLD_D4_1N15_2DK  ( ,5 8( E   u' d/ ( d&   ̰d8  ud*7(4 GEM_T_SHLD_D4_16_1(4 GEM_T_SHLD_D4_16_2K  ( ,5 8(E  u'd  w  @ / L  d&  ̰d8  ud*7(4 "6 GEM_T_SHLD_D4_17N31_1(4 "6 GEM_T_SHLD_D4_17N31_2KK  ( ,5 8( E p     u' d/ ! d&   ̰d8  ud*7(4 ) GEM_T_SHLD_D4_32N_1(4 ) GEM_T_SHLD_D4_32N_2<8=  ( ,5 8  u'd       w  j /"  d&  ̴d8  ud*7(4  GEM_T_SHLD_D4_1_1<8=  ( ,5 8  u'd       w   j /8$  d&  ̴d8  ud*7(4  6 GEM_T_SHLD_D4_3O15_1+4 "6 GEM_T_SHLD_D4B_1N15_1+4 "6 GEM_T_SHLD_D4B_1N15_2+4 GEM_T_SHLD_D4B_16_1+4 GEM_T_SHLD_D4B_16_2+4 "6 GEM_T_SHLD_D4B_17N31_1+4 "6 GEM_T_SHLD_D4B_17N31_2+4 ) GEM_T_SHLD_D4B_32N_1+4 ) GEM_T_SHLD_D4B_32N_2D = ===  ( ,58  uF#d  / ' Hd  / ' H  d  / ' ud*7P|'GEM_T_CMPEQL0_DEC_GEN'GEM_T_CMPNEQ0_DEC_GENU< =U< ===U<hq4$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0+{q8H_61b>6(ɿMV~'+ȡ"s'%;UWq+E^y~kOXJh|BP-v%x{`^U2 CRmq"*}._ү.TzX ?-M"KBǼrun49dZE.}x)]afE<S/>*M]/H< }*5}OGu80lHĸ1wjӛaª>(\@7Flp%(?K5馯?Au6(^I VF?#ͱz]JNhOWr8=H8b4LLH(iP*"; hYD.8U9!^ONjQԉSLVi@\ewz54B b}SjlP9P6xEJnU9^i)dG#6/{nbYWW<%Ģ ,U@piF>e'F`I*sS;Hݫ]wUK s@B $@+xr7KMMK( }\F0FQ5oMA$dž%nۄ1MANO9(ݠ8sx:g/}i2J"-~)0y]E?Qn % ߳ﯻ9^C;vAiuoT|Ddh?"C΁5WehH3`XI T[Avxo+jցysC4PvB `gye/$Щ.'\y8߮S/1^V܋/- |^#W&PH|z8hKFI" c*) J 볝P~ ]E[ &Q`]gsk%Jr@#'So,[#FYQ熂Gyv䰧|Sج䏻dnx[x_`q_1GlnrT{C]|.)It@=Dt&6:Y*2?T=zֹ]Qrbf( bEbߘ3 :NԜXujQ]LKOX)G"[s8f{bMtNÄ;0(fl*Dst_O݈{&

&Ab'Rr4UH_ !"PLp$3Zǽtyb('4i?Wo?W[9 1&[%9sUaHYO)]:f H4-Oڰ[vfoy٭'a dXq~:ER+(l\mv"mJvU9䃥©>4(qnrے R1X ~㦊(vLsr{a/r H[X3ۼdQLZ"zmi]j7&\ /{8'}jYfDKRƈ>J-5*ӴRm/L@|1QDK/5c^IB%Vu)!`O~ kZ c3!lb [Lhx[ B[SdzHk_L-OEiawzT/ ]*P l7D}e^"]hW Kj NHfVR)QvWuA~Hn}_=L=#N-`^WҲFENJ0:5eqw\<*); Gv=X}WN\@@@VAZ>7FSRwR1Wm"el|tT~UTt#Y8-6o8]B9n`_F$YvɉW,,tfֺ^1zP v!um{y~)UV;ehKb}+7 :X/2z2]LPJ&GD<,PquobS6`/ f=@{|6 \V K7$_ȆndrBOJ[jXSn鯂[y%鐢b77eKmh/Cdu:*9a'5D7VVYO6>}zXv؊ǦeiN%˖*" z) dJ7|\ʛDQ|{Ӳ ARXjtHi\Yf|iRh({  -20mF&ha?Gvp9v@a+=xx<)-A0 /jXP:U G5t3Ddf =YVwqE\o nU- ^-@W'(͟uhGbgѴeA8f 3  m.zݜ_Ǎ+X0J>+ a'Ǟ4PTʺ{!X9ST3V4^Ug$\0PP7h,`Ie' {m}Y"[))t2 :x~uaD"|1X'jS8e:ؗ0'mfE8: G.}SqKA0R,8#M;$mztRy0C &R.[:ll +ħr 6Da,yOg+)< ߦuu\Zidw@bŇ.X.w2hmn6T1(mz]5dAg:{7VAHg78}Bm "x9 :|dJ__[H}`%P#ۑ<8%FhH FܨT (DnL r󈭥URU+G⢆ bej͢'-wY*R5|'[R;_*cOR#?zFZ|V*`UPQ1aw(f% _iRB^j/IrcAx l|71v)"d.Q\Od~X%ɏz+:%F۱4zTv gt)#R~*QDK5@2aD\4169%~JtAI'3'P VWXTr}b+=}6'|1WXW5:(eIH_J0R1h 0qqL2?,ɳqXwh_aA J9w LA74e**o[3íO ySc叇dImsG7|`j#q[E>\l|)c!cUߏ 1vɣƇhNt`"լ/ ` , ItEfYVvb WK`te :ըtgAG[`gP">W<`B_)J5tqT 2[;\8 '|5^@T^R_]d{G}8@uG'->" N 'KGN A JI߇%H*4b\@{}NR%YzJJ&b9$` x ( fU+A B ɯ:xXTF]siQUwgjagEqGI21eC R]1ŗ9|iwq `O7l@ 5'Z^/t#.Tn%I>%nj^S ~s;_ ߽%Z h~i?ʌSJNHz@$lSZQO:gP bJ&pN)+8fNbG+ݯI4 }-?-cŎ3( 66y~Nf`w'Qh ؑHy@op|9p *!vyEN'۠Nr   HJY'"i0H.gwHTt[[36k9$79QqcW[T0 WҘM[XG{$XYϷOU/^ZZgRw1PR=oEi ik1z{X-RMR%ܨlBF_p][%ǧ6wGi e]CT@d >;;n[F D(:ybp K@]fJ8I9 (׈W<^mL#Mh3N#K\z@g3C$ ec(.-]\Q19Tz sTjEfn:NSeA}RW<q1FZZ:k4ǫ1O4)Qy=O0ǽPtKBkFJI0]JAQRKtܛg7JEFbLMZ1zd@KJN _dyO.s%%Y#\~pP$uJ##\/q]7=$~BoYP\I3H@^}4WAJShN{"h[欇`NZgt@HrUm%?M{NC9h:* G> c$yM-4.f7~?Z[@~A?E7L̉u'K lh2[=! !xz(9LXON*\!8m^cpK(7B TϫM ;<VFCz}O`gEBY8t \s6;);GFol!KDi#LYH  l)K - d2guI0^3g<Af |RLp[qyDJY(/&QXcLԖ/{^TT&#oX_ 93W*dgKU~T_ُ;w-Rxg;R &W]c\<Ā rbqr\R27PSϽ|l \Da3R 9 s\ACZI45+KH$/{﶑X%[sIN&b^ S&Xu+=liE{ EL1Is,m9$NܩH !HɌC5dٝdɡ]VO!̑$&7fm8m˓p;`Eh;%EWPTPr(*H}SZjuYTt'+&GCWa) [FTQOZ,պ2$|# 鼛^.3:'EaVgeX H voen]1`t]2SvB> m@UAHn"h\;HF7WB4~)A [ ewy M wrߦjJSYg'3^TG=Ae;*Fm&%QkE:f}GX9!"Rf;)%{U[x  7 g3aIyğ+4qX8F<s7&3+$%4oWQ? #? mm(V*G-4!DkjOȯbmNOnJG2}4|S2-FxjwK.hP01M93' ?6>GZ^5nVV&yE/1iVo:b iV6)RPGdU` orܵR9&y/q,_aK٫^#V! kՉ~bT:! @IXL><"$$ z w${q _ tOq9t_&Fv)jՇ4 ZHDEj zd¡ ]GQ*S!s]6eh8u@.,"n:ijh*皳Q {?m\3[]DR[m[ԝ0 .a8aNSkMm*sMDzw,ʘDG|@VK l4i>.̟FRl *I?cbKC`"߳OdSL6@do"z'q%gҴ?Oj*>uzr31ݑ]mW/n$: ZFb> T^uAq *_ghHDئno֥==NbמV==uJ!>kIT% QxxRIg"N?P [ 1;9Uu" t).Ojb< E:r(g2K?x$M.4Xh~5LbȗxMil> #q)$kP,Xr /Q:5QtXB\e<+a7S*I+A`Wi+@s /~>p_Fi`3yAKAO4wNu.bAx{ua, ^hEXobKPLM&l5U<2O__;s6.CDF@Bn\ʳM :vxmxUZnuץ?2q։hrUGApwytg,$`CsP 1~82k J]c`BfjUYYNsX^8' OK.otŢXEn\;S AiBR : \:6\Cy"0<23YΧ%KjMin]4O ]F[\ct8NTdz-A,pcPPCdSҶx\= <~d(g{og5jp9AUeTX=> Vd>Fh "RkiӇd̀Ndp+cDFWuqs@,2edgOyEbSp|x!6S ufF t4C%dSԬғ4@fl&}nFoRq+L.Xmf:`Z?A<}7W+@(;rmJ }p+6uJUSiR}C'aD1=)2b*zvLˆϴp1;7LoOcT%t VL|?H%Г>jF$ f Xϙi2L}BC6}mn;6:Ny7ηx{9^"9 Jgg*҈239Ï){u-g7<l1g %, $,Z?|NX~~9?2inңOgM5G@MYh{$b&"2-nC(!d]ʝ_I-7FQ0.t 0;%rcT#m d"0Z}-It݃)4mv;j3bm~L\K.qg1Dsn^c[JyUZH8S0ld=k~vڝ憿&\^m0Ekp ~U 0'gp>3BT;RR}bN4D}ZiRmVc}mH$,X!,c9 xD`*VV6''NeV|"hWhˆir&(UvM¢¡+ 6=H1vZ]6Rߋ) 0_sqn3ݲAvpbC_ .>9̰/fMo LkBխCRxFe)&QzUH6|Fn]ٜ8S֝|s1:U JIo07DAWKw0¥r.@aUg@i:yP7 Ja Fm *i$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0"  ( ,58  udF#    / P)  H    / x)  H     / )  8ud*7T'GEM_T_CMPLSS0_DEC_NZ'GEM_T_CMPGEQ0_DEC_NZCU= =U= ===U=  ( ,58  udF#    / +  H    / +  H     / +  8ud*7T'GEM_T_CMPGTR0_DEC_NZC'GEM_T_CMPLEQ0_DEC_NZ3L3= 3=L33== 3===L33=3=3==  ( ,5  E Em  8   u ' d8  u'd   d8 8d  F # /- H/. H/.   m,gH,Uud*7 4@H((GEM_T_CMPE_DEC_GEN)*GEM_T_CMPE_DEC_01*)GEM_T_CMPE_DEC_10++GEM_T_CMPE_DEC_OBOB,-GEM_T_CMPE_DEC_0B1B-,GEM_T_CMPE_DEC_1B0B3L3= 3=L33== 3===L33=3=3==  ( ,5  E Em  8   u ' d8  u'd   d8 8d  F # /1 H/1 H/|2 ud*7 ((GEM_T_CMPE_DEC_NZC)*GEM_T_CMPE_DEC_NZC_01*)GEM_T_CMPE_DEC_NZC_10++GEM_T_CMPE_DEC_NZC_OBOB,-GEM_T_CMPE_DEC_NZC_0B1B-,GEM_T_CMPE_DEC_NZC_1B0B((GEM_T_CMPNE_DEC_NZ_GEN)*GEM_T_CMPNE_DEC_NZ_01*)GEM_T_CMPNE_DEC_NZ_10++GEM_T_CMPNE_DEC_NZ_OBOB,-GEM_T_CMPNE_DEC_NZ_0B1B-,GEM_T_CMPNE_DEC_NZ_1B0B3L3= 3=L33== 3===L33=3=3==  ( ,5   8  u'I . d  ud8  u'I . d8  u   d8  F # /d6 H/6 H/47   m ,gH ,Uud*7dT 4HXp|(+GEM_T_CMPE_DEC_OOB+(GEM_T_CMPE_DEC_OBO ( ,5    8  u'I . d  ud8   u '  I  . d8  ud88 .d d ud*7dT((GEM_T_CMPL_DEC_GEN)*GEM_T_CMPL_DEC_01++GEM_T_CMPL_DEC_OBOB,-GEM_T_CMPL_DEC_0B1B(+GEM_T_CMPL_DEC_OOB+(GEM_T_CMPL_DEC_OBO ( ,5    8  u'I . d  ud8   u '  I  . d8  ud88 .d d ud*7dT((GEM_T_CMPG_DEC_GEN*)GEM_T_CMPG_DEC_10++GEM_T_CMPG_DEC_OBOB-,GEM_T_CMPG_DEC_1B0B+(GEM_T_CMPG_DEC_OBO(+GEM_T_CMPG_DEC_OOB (5 8  d  _uud7<DXGEM_T_CSE_DEC_GEN5* 7Y (GEM_T_CSEREF_DEC_GENY )GEM_T_CSEREF_DEC_OP0Y *GEM_T_CSEREF_DEC_OP1Y +GEM_T_CSEREF_DEC_OPBY ,GEM_T_CSEREF_DEC_OP0BY -GEM_T_CSEREF_DEC_OP1B1 (1 P1 x1 08 X8 8 8 8 8  9 H9 p9 9 9 9 : 8: `: : : : ; (; P; x; ; ; ; < @< h< < < < = 0= X= = = = =  > H> p> > > > ? 8? `? ? ? ? 1 (1 P1 x1 1 1 1 2 @2 h2 2 2 2 3 03 X3 3 3 3 3  4 H4 p4 4 4 4 5 85 `5 5 5 5 6 (6 P6 x6 6 6 6 7 @7 h7 7 7 7 8 {{{|{(((||{)))$|8|{***@|T|{+++\|p|{,,,x||{---||||0}}?8}}(E L}} }\~}T~d~~t~?~ E ~x  ̀sȁ|؁t ̃dl|$ 0F @ (G Ĉ ̈ XG   \hTlԌ̌@H<P\d<l| č Ѝcdl,`?tЎ؎̎?HP@?X̏ԏlď?܏LTD?dt??$(?4\`L?lܑ?\`T?p   В ؒ      0 8H Pl`?pK | plxjA$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0H"lpx   ԖȖ?Ԗ?, ?0`@ ?dt??@ėM ̗ؗ(N '0P@?X?XN h(-??ĘИ?8 @ОPܞPP P, O < O P$ Ԡ0P 4̠ hP 4̠ P PP \(Q Ȥ@@ؤPQ PQ PP,d BBR P$P0@P L`|BS ЧܧXdtBS Ȩ Ԩ8T PpT P T $4T @PU P\h@U PtxU U @ LԪX BPV (BV 8ЬBdV p     8  DBԯhW T \W h  xB W  (  @Lı  \XX p  X    P ȳT`س pY P HY ( 8еP ܵXd tBBY  $ BBP(Z \BB0`Z p( < Z L Z , [ ,  Ⱥܺ@[ "$[  ,"[ 8"H[ PXؽ` LP\ @< Xd@< p@< (40<DPP\ ]     ,0<@ p|ZZ8O`AF 47L`7xL`(t n , _  xp  H T  ` 0X`hZ$,} (,d 0(L24H s XdPp `b  8b DXBb pb (8H8@hc px       $4  <L  Td  l|      le f tl- l( Lf H XdH  pf   P,4P@HTdp|g g h ,8H\hh hxh h (8LXhxi i i (j $Xj $j j tj ,k @P`Xk tk ,DTk h l 4L\p(`l <Tdx0D\l l 0m Dl`p@m l4pm H\lm m k2x$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0Վ"|n Xn    4DXl| 0DT  h| 8Ld  x8  p L   B p     P h q d  t  Pq P     0 q <   P  D r P  \ l 8r x     r ,r ,Xdps | Hs |$0 Ts ` l|s  0< H(t T Xt T  $t 0 <Lt X dp$4x(<L`$@LXdp  Pv ,8D  8 v D |$ PL   0'v <'$ 'PD'((((2 )<.H.,(.2T. /. ,/0w 0 00 011D11222204<4,3 4 T4d4p4,3 4 4454@56L56" 66L56" 607<76D7X7d76l7777888 8998 9H:T:9 \:t::9 :;:;d ;P<; \<<p<<=p<=`>= l>?> ??=  ?A@A (ADBPA >P== >> >0>% >h? t?>?4@P @@? L@A A`@  AA A4A AB B BBXD( dDBLDpDDEX PED\E0F   > = > > ?  ? ? ? @ $A @ 8A x@ A #XA  F = =  (-> 0> 4> > (?<> T> X> > (?`> x> |> > (?> > > > +?> > > > +?> > > > +?> jooPo0oonnnnnnnnnnnpnPn0nhjnmmnnnPmpm0mhjhjmnnnnnnnnnlpnnnnnnnpnll`llpnnkkkhjPkhjjjpnjpnpnjxihhhhhhn`h@h hggffPf).M64.MLB e0e1.5  x (e  MACRO64DEC01-NOV-1993MACRO64MACRO-64 V1.2-108 (#Alpha/MACRO-64 - Internal UtilitiesDEBUGAlpha/MACRO-64 - CLP Facilityp $LINE !"#$& %'(*+,./12346)-0589:;<=>?@ABCDGIJ;<=>?KLMNOPQRSTUVWXYZ[\]^_`abcdefghimnopqrstuvwxyz{|}~      !@B"DFHIJK#$)+(,-/12345L067>MNOPQRSTUVWXYZ[]DGHIJKLM^_abcdeghijklmnopOPQRSTUVWXYZ[\]^_`abcdfghjkmnopreilqstvwyz{}~ux|rsutvwy{}      !"$%'()*,#&+.345?N\q`ACEGxz|~9:-Jf7jkl%&'.8:;<=@ABC9/012F*FTTTTTT0T TTTTTTT4T$T@@@ @XXXXXXXXX0X X(XXXX8XXX XXXXXXX4X$X,XXXX<XDDDG DD DDD DDD@@TTTTTT @ @XXXXXXXX@@\@\ \WWWWWW3W#WWWWWWW5W%WWWWWWW5W%WWWWWWW5W%W_WWWW_&_f_[[[[[[[[[[[[[[[[[[[[[[5[%[[ [[[[[=[-[[[ [[[[[[[5[%[-[[[[=[`T`T`T`T`T`T`0T` T`T`TrY$ALPHA_MACRO64012.AC2 &[ASM.KITBUILD_20201CB9_A]MACRO64.EXE;1{0b"2`T`T`T`T`4T`$T`X`X`X`X`X`X`X`X`X`0X` X`(X`X`X`X`8X`X`X` X`X`X`X`X`X`X`4X`$X`,X`X`X`X`<X DH@ HH@HH@ HH__ @\\\\\`\cc\ \_`H H`HH`H H`Hk@hh $ ,@c&'  "?G@H@ H@H@H@H@ H@H  !$%#@T@T@T@T@T@T@0T@ T@T@T@T@T@T@T@4T@$TLLL L@X@X@X@X@X@X@X@X@X@0X@ X@(X@X@X@X@8X@X@X@ X@X@X@X@X@X@X@4X@$X@,X@X@X@X@<X W W W W C C C C [ [ [ [ [ [GGD` k` ` @@@@`@`@`@`@@@@@C HHH <  T T T T T T 0T T T T T T T T 4T $T @ @ @ @ X X X X X X X X X 0X X (X X X X 8X X X X X X X X X X 4X $X ,X X X X <XLDH H\\)*.` (048Ppdltx| +U[[ G@ss`sccpp=G PPP(0ppppp p@p`p psss s@S@S@S@S@S@S@1S@!S@S@S@S@S@S@S@5S@%S`S`S`S` S`S`S`S`S`S`S`S`S`1S`!S`9S`)S`S`S`S` S`S`S`S`S`S`S`S`S`5S`%S`=S`-S8 4 /sscDchh Alpha/MACRO-64 - LOC Facility%*d%0*d%0*X %0*X%08XMACRO-64 V1.2-108 .REPEAT.IRP.IRPC%d$ ,=;) > .endc TRAPB .endm TRAPB .endm .endc JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECMACRO64$ = 1 macro64$ = 1 MACRO64$HOST = "OpenVMS Alpha" macro64$host = "OpenVMS Alpha" MACRO64$TYPE_SYMBOL = 1@0 MACRO64$TYPE_PROC_DESC = 1@1 MACRO64$TYPE_LABEL = 1@2 MACRO64$TYPE_EXTERN = 1@3 MACRO64$TYPE_WEAK = 1@4 MACRO64$TYPE_PSECT = 1@5 MACRO64$TYPE_MACRO = 1@6 MACRO64$TYPE_STRING = 1@7 MACRO64$TYPE_OPCODE = 1@8 MACRO64$TYPE_DIR = 1@9 MACRO64$TYPE_GENREG = 1@10 MACRO64$TYPE_FLTREG = 1@11 macro64$type_symbol = 1@0 macro64$type_proc_desc = 1@1 macro64$type_label = 1@2 macro64$type_extern = 1@3 macro64$type_weak = 1@4 macro64$type_psect = 1@5 macro64$type_macro = 1@6 macro64$type_string = 1@7 macro64$type_opcode = 1@8 macro64$type_dir = 1@9 macro64$type_genreg = 1@10 macro64$type_fltreg = 1@11 .define_ireg R0 0 .define_ireg R1 1 .define_ireg R2 2 .define_ireg R3 3 .define_ireg R4 4 .define_ireg R5 5 .define_ireg R6 6 .define_ireg R7 7 .define_ireg R8 8 .define_ireg R9 9 .define_ireg R10 10 .define_ireg R11 11 .define_ireg R12 12 .define_ireg R13 13 .define_ireg R14 14 .define_ireg R15 15 .define_ireg R16 16 .define_ireg R17 17 .define_ireg R18 18 .define_ireg R19 19 .define_ireg R20 20 .define_ireg R21 21 .define_ireg R22 22 .define_ireg R23 23 .define_ireg R24 24 .define_ireg R25 25 .define_ireg R26 26 .define_ireg R27 27 .define_ireg R28 28 .define_ireg R29 29 .define_ireg R30 30 .define_ireg R31 31 .define_ireg FP R29 .define_ireg SP R30 .define_freg F0 0 .define_freg F1 1 .define_freg F2 2 .define_freg F3 3 .define_freg F4 4 .define_freg F5 5 .define_freg F6 6 .define_freg F7 7 .define_freg F8 8 .define_freg F9 9 .define_freg F10 10 .define_freg F11 11 .define_freg F12 12 .define_freg F13 13 .define_freg F14 14 .define_freg F15 15 .define_freg F16 16 .define_freg F17 17 .define_freg F18 18 .define_freg F19 19 .define_freg F20 20 .define_freg F21 21 .define_freg F22 22 .define_freg F23 23 .define_freg F24 24 .define_freg F25 25 .define_freg F26 26 .define_freg F27 27 .define_freg F28 28 .define_freg F29 29 .define_freg F30 30 .define_freg F31 31 .if different, , .DEFINE_IREG r0 0 .DEFINE_IREG r1 1 .DEFINE_IREG r2 2 .DEFINE_IREG r3 3 .DEFINE_IREG r4 4 .DEFINE_IREG r5 5 .DEFINE_IREG r6 6 .DEFINE_IREG r7 7 .DEFINE_IREG r8 8 .DEFINE_IREG r9 9 .DEFINE_IREG r10 10 .DEFINE_IREG r11 11 .DEFINE_IREG r12 12 .DEFINE_IREG r13 13 .DEFINE_IREG r14 14 .DEFINE_IREG r15 15 .DEFINE_IREG r16 16 .DEFINE_IREG r17 17 .DEFINE_IREG r18 18 .DEFINE_IREG r19