$$ALPHA_MACRO64011.A$kpALPHA_MACRO64011.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY DISK$USER2:[ASM.KITBUILD_20202F79_A]*.* DISK$USER2:[ASM.KIT]ALPHA_MACRO64011.A/LABEL=(ALPHA_MACRO6)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure ASM PV5.5 _11SRUS::  _$2$DUA2: V5.5-2 $,)*[ASM.KITBUILD_20202F79_A]HELP_MERGE.EXE;1+,^U./ 4-LU0123 KPWO56߲P7P89GHJ h(P0@P,SAPHELP_MERGE_ALPHAV1.0A10-62$ $ $ $ $J$( 8.  DECC$SHR_001@^6SYS$PUBLIC_VECTORS_0010@x0@`  0P 0pp &&00 %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 #4G~^ ^(GG# B  = > (blZk =b#@ӰB4GbGAYZkG] ](0#kG#~^^~ (0޴8@GGG,"GH1G,"PHJF!B,! AH'H!D@GG$D@, H$,G¤$HH@G,"&PHJF!BGQ.1"RQJGGJAF GDF BG(b 4GkZk.qH PJF>#GGG.vrJ UJF>.&JD/d#G[[KgKG C , A H'H!D`G$D d. dJ.JC"r@@E/ EKDG@, HFe/ eKdG`%. @%J@dF ` . @JF,HF /XK?G]]} (0ݤ8@P#k; [!GR 'JHD@B`.`JG`FCK``."t."VJ"UuJJJ@FWB Bw.@wJF t."" BVvJJFVB.JFt."VvJJFUBXF.JFECt.GtJt."WwJJFUBu."UuJJFGGFt."tJ6Bk?FeF `?F4G .#GXJKG@B`. S`JgJaFGdF ."J5BGkGGk#~^^~ (0޴8@H>PGGGGGGG(BG0b?"GtGQZk"b#a_伷@\@8k@ é@é @é @é @é @ 8 E "hBGpbG1"tG yZkGG]]} (0ݤ8@H=P`#kG#TG~^^ ~(08޴@HP>X`GGG AHA8FDG " BbGxZk&"4G0B8bWZk@B$"TGHby@ZktGG ¤BX$"CbxZkTGBGbxZk&"0B4G8b}WZk@B$"TGHb]@ZktGG B$"CbxZkTGBGbxZk&"0B4G8baWZk@B$" TGHbA@ZktGG B$" CbxZkTGBGbxZk&"0B4G8bEWZk@!b#!#G_ ="GGTGGXb#*_P$" , !HE "tGBCbxxZk&"4G0B8b"WZk衘$",HE "tGBCbexZk&"4G0B8bWZk`B"(eZk("hb#_G GB"b?"GtGQZk0b#m_U@ ?Bb$"H"GtG=xZk"(b# , H"D _pB"("2eZkpB("G-eZktGBb$"H"G!xZkPP="GGzTGtGXb#_% - )!IEP$"_BH"bGtGxZkP$G# GB"b?"GtGPZk0b#_]@ ?Bb$"H"GtGwZk$"P , H"D %"(" - )!IE`BJeZkB$"bGTGwZk 4GG cD B$"bGTGwZk 4G cD0A A?B $"bH"GtGwZk GGB"b?"GtGePZkZ 0b#_]@ S Bb$"H"GtGwZk="GGTGtGXb#=_"%(" - )!IEP`BeZkB($"bGTGwZk 4GG cD B0$"bGTG|wZk 4G cD0A A?B8$"bH"GtGpwZkG GB"b?"GtGPZk 0b#_]@  ?Bb$"H"GtGWwZkPBGXb4GIZktGG o, !oHEBb@$"H"DwZk?"tGB"bGOZkBH$"bH"GtG5wZk?"tGBb"GOZkPBGXb4GIZk4GPBGXbIZk4GG]] }(08ݤ@HP=X`p#kTTt  P 0@p @DECC$SHR@SYS$PUBLIC_VECTORS' HELP_MERGEDEC C T1.3-007TRANSFER$BREAK$GO __iscntrlusageedit   @   ,     (   ,   @ line_level@               W8 ?  ( & ( J( J + ? ?@( advance_help@4 5# 5# ^8|0pmainp p     p                 PA$ALPHA_MACRO64011.A^ULU)[ASM.KITBUILD_20202F79_A]HELP_MERGE.EXE;1      Y ^ x       Y ^   Y ^    Y ^  # # &< o o o o o o o oP__main  `(*[ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1+,NU.'/ 4j''R-LU0123KPWO(56EIvP7P89GHJN$ !***************************************************************************$ !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.1 Installation ProcedureK 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.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 = "011"$ 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 = "V1.5";$ 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$!m V{$ALPHA_MACRO64011.ANULU([ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1j'R"$process_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$ !P$$ ! Copy new ENV file to system area$ ! D$ vmi$callback provide_file 'ident'$lse LSE$SYSTEM_ENVIRONMENT.ENV -1 VMI$ROOT:[SYSLIB] ! $ GOTO HELP_INS $ !S$ ! No LSE support message.$ ! $NOLSE:D$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 "MO$say "not installed on your system. If you want ''name' language support for "T$say "use with LSE, you must:" $SAY " "B$SAY " 1. Install LSE."3$SAY " 2. Register and load a valid LSE license.W!$SAY " 3. Re-install ''name'." $SAY " "DC$SAY " If you do not use LSE or you do not need ''name' language "LD$SAY " support for LSE, there is no problem with your installation "$SAY " of ''name'."A$SAY " "$ GOTO HELP_INSL$ ! $ ! 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 "_I$say "not licensed for use on your system. If you want ''name' language"t*$say "support for use with LSE, you must:" $SAY " "m3$SAY " 1. Register and load a valid LSE license.d!$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_lHD$ALPHA_MACRO64011.ANULU([ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1j'oopS$!$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_20202F79_A]MACRO64$HELLO.M64;1+,[U./ 4N -LU0123KPWO56@-P7+P89GHJ;++; 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 sectioMe$ALPHA_MACRO64011.A[ULU,[ASM.KITBUILD_20202F79_A]MACRO64$HELLO.M64;1NB 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_20202F79_A]MACRO64$IVP.COM;1+,TU ./ 4y-LU0123KPWO56@)P7HP89GHJ $ 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.1"$ 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:MACRO64011.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)K 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.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$! $cleanupU+P$ALPHA_MACRO64011.ATU LU*[ASM.KITBUILD_20202F79_A]MACRO64$IVP.COM;1y  ::$ if 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_20202F79_A]MACRO64$IVP.M64;1+,SU./ 4N -LU0123KPWO56̉P7kP89GHJ;++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_20202F79_A]MACRO64$IVP.OBJ;1+,UU ./ 4-LU0123KPWO56@*jP7P89GHJ??.MAIN. 4-NOV-1993 16:29MACRO-64 V1.1-087 i,$CODE$($LINK$$DATA$ $ABS$0J MACRO64$IVPL L=4,#~^G G #k\ \=0;=    **[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1+,]U.*/ 4*)-LU0123 KPWO*56@jP7ͱP89GHJ h*OP0@)OPMACRO64$MSG_ALPHAV1.0A10-62$L$J(@^6SYS$PUBLIC_VECTORS_001eJ(J({QQQQ{ *(<0N8b@tHPX`hp x : L ` z      Ȁ Ѐ ؀0 D 耇X l       (( `N hr p x    8   2 p  ȁ ЁЇ|؇臇"X({ ((v08&@HPBX~`hpxL&`6|ȈЈ6؈\與4h j(08@DHPX>`hpxL 4b |  ȉ,!Љp!؉!!艇$""#6#f##{# $(H$0x$8$@$H,%PT%X%`%h%p(&x&'H'''p((("))Ȋ)ЊT*؊*+芇+ ,<,,, -P- z-(-0-8$.@L.Hz.P.X/`J/h/p/x>0z0Z11 22&3j33T4ȋ4Ћ5؋p55苇h6"777r8{8*9 9(90`:8:@:H;P;X<`<h>=p">f>>>\??ȏ"@Џ@؏@dA菇AAABBvBBC C(nD0DpvExEEpFFFGjGG*HHȗHЗ\IؗIpJ$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 literalTOK23opco8$ALPHA_MACRO64011.A]ULU*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*y"deTOK24"+"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.F INSVIRMEM2Virtual memory exausted after assembling !SL linesjLASTGASPWVirtual memory exausted 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 in .MCALL diq$ALPHA_MACRO64011.A]ULU*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*"rective 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.INVOFFuYou attempted to specify data intialization 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 intial 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\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: MACRO64TTh @SYS$PUBLIC_VECTORS up$ALPHA_MACRO64011.A]ULU*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*?`)MMMACRO64$MSG_ALPHAV1.0 4-NOV-1993 13:23 4-NOV-1993 13:23Linker A10-62  .$$ABS$$. )*[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1+,WU.</ 4N<<-LU0123KPWO=56 D?P7P89GHJ;++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-con tinue 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 /$ALPHA_MACRO64011.AWULU)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<iRoops 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 &p$ALPHA_MACRO64011.AWULU)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<!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 $I.A0, $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 computatio1n. ; 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' ( Y$ALPHA_MACRO64011.AWULU)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<"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, branch 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 linkage 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_20202F79_A]MACRO64$WHAMI.M64;1+,\U./ 4O-LU0123KPWO56iP7`3P89GHJ;++; 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 Z$ALPHA_MACRO64011.A\ULU,[ASM.KITBUILD_20202F79_A]MACRO64$WHAMI.M64;1O3he 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 executing 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-sect ion 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 Y$ALPHA_MACRO64011.A\ULU,[ASM.KITBUILD_20202F79_A]MACRO64$WHAMI.M64;1O7used 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_20202F79_A]MACRO64.CLD;1+,OU.0/ 4N00-LU0123KPWO156v@wP7.P89GHJM!****************************************************************************!* *M!* Copyright (c) 1978, 1980, 1982, 1984, 1986, 1987, 1992, 1993 *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-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 Verb! ------ ------- ---- ! VAX VAX MACRO , $ALPHA_MACRO64011.AOULU&[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1N0|l" 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!! 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,* type=vax_enable_options)# qualifier library, placement=local ) qualifier listing, placement=positional,  value(type=$outfile), batch*' qualifier names, placement=positional,a" value(type=vax_names_options), nonnegatable( qualifier object, placement=positional, value(type=$outfile),e defaults3 qualifier show, value(list,type=vax_show_options)t4 qualifier noshow, value(list,type=vax_show_options) qualifier cross_reference,.$ value(list,type=vax_crf_options). qualifier update, value(list),placement=local0 qualifier debug, value(list,type=debug_options) qualifier analysis_data,  placement=positional,* value(type=$outfile)- qualifier diagnostics, placement=positional,  value(type=$outfile)M!----------------------------------------------------------------------------i-! MACRO/RSX11 command definition (MACRO-11): *!*$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,  nonnegatable& qualifier alpha, ! Define to disallow nonnegatable disallow alpha image backtransM!-----------------------------------------------------------------------------I! MACRO/MIGRATION command definition (Alpha MACRO-32 Migration Compiler):d!E&define type migration_optimize_options keyword none keyword all keyword schedule, negatable keyword peephole, negatable keyword addresses, negatable  keyword references, negatable keyword vaxregs, negatable %define type migration_warning_optionse keyword all keyword none6" keyword informationals, negatable keyword warnings, negatable"define type migration_dump_options keyword all keyword noneg 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 nonee keyword atomicity, negatableo keyword granularity, negatableT"define type migration_flag_options keyword all keyword nonev keyword alignment, negatableS keyword jumps, negatable keyword arglist, negatableI keyword instructions, negatable keyword codegen, negatable/ keyword directives, negatable keyword hints, negatable keyword stack, negatable$define type migration_enable_options keyword absoluteM keyword debug keyword truncation keyword globalE keyword suppression keyword traceback keyword flagginge keyword quadword  keyword overflow keyword ama keyword dbg keyword fpt keyword gbl keyword lsb keyword tbk"define type migration_show_options keyword conditionalsI keyword calls keyword definitions keyword expansionsC keyword binaryo keyword library keyword cnd keyword mc keyword mdX keyword me keyword meb!****DEFAULT****>!-------- Uncomment this section to make the default MACRO/VAX!b,!define syntax MIGRATION_MACRO ! verb MACRO !m&! qualifier vax, ! Define to disallow! nonnegatableJ! disallow vaxt!c'! qualifier rsx11, ! Define to disallowA! nonnegatableC! disallow rsx11E!u'! qualifier alpha, ! Define to disallowV! nonnegatable ! disallow alphay!.D!-------- Uncomment this section to make the default MACRO/MIGRATION+ define verb MACRO ! syntax MIGRATION_MACROs" qualifier vax, syntax=VAX_MACRO, nonnegatable# qualifier rsx11, syntax=RSX_MACRO,a nonnegatable% qualifier alpha, syntax=ALPHA_MACRO,2 nonnegatable7 qualifier $cmdver,value(type=cmdver_versions,required)l$!-------- End default change section!****DEFAULT****< qualifier migration, ! Define so /MIGRATION/MIGRATION works nonnegatable image alpha_macro parameter p1, label=file,o prompt="File",, value(required,concatenate,type=$infile)0 qualifier DEBUG, value(list,type=debug_options)' qualifier LIST, placement=positional,  value(type=$outfile),A batch.# qualifier LIBRARY, placement=local ' qualifier SHOW, placement=positional,S nonnegatable,, value(list,type=migration_show_options),( qualifier NOSHOW, placement=positional, nonnegatable,e+ value(list,type=migration_show_options)l 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) andd% (noshow.expansions or noshow.me) orR" (show.binary or show.meb) and" (noshow.binary or noshow.meb) or! show.library and noshow.librarye% qualifier DISABLE, placement=global, - value(list,type=migration_enable_options)0 disallow not disable andT ( disable.absolute or disable.debug orr disable.truncation or disable.global or disable.suppression ord disable.traceback orf disable.flagging or disable.quadword or disable.ama or disable.dbg or disable.fpt or disable.gbl or disable.lsb or disable.tbk )$ qualifier ENABLE, placement=global,. value(list,type=migration_enable_o$ALPHA_MACRO64011.AOULU&[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1N0" ptions), disallow not enable and ( enable.absolute or  enable.debug or enable.truncation orf enable.global or  enable.suppression or enable.traceback or enable.flagging orB enable.quadword or  enable.overflow or- enable.ama orR enable.dbg or enable.fpt oro enable.gbl orT enable.lsb orl enable.tbk  ) disallown( (enable.absolute or enable.ama) and& (disable.absolute or disable.ama) or% (enable.debug or enable.dbg) andA# (disable.debug or disable.dbg) orE* (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) andM) (disable.suppression or disable.lsb) orm) (enable.traceback or enable.tbk) and ' (disable.traceback or disable.tbk) or , enable.flagging and disable.flagging or, enable.quadword and disable.quadword or) enable.overflow and disable.overflow # qualifier FLAG, placement=global, 4 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)-& 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 orO preserve.none or preserve.all)- qualifier DIAGNOSTICS, placement=positional,A value(type=$outfile)- qualifier MACHINE_CODE, placement=positionalO* qualifier UNALIGNED, placement=positional( qualifier SYMBOLS, placement=positional& qualifier TIE, placement=positional, defaultp( qualifier OBJECT, placement=positional, default, value(type=$outfile)) qualifier WARNINGS placement=positional,. 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)e) qualifier OPTIMIZE placement=positional,u/ value(list,type=migration_optimize_options)g( 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, defaulta ! Developer-only optionsodefine type alpha_dump_options keyword all keyword nonen 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 p!)<! Since the syntax qualifiers change the entire syntax used,=! within this syntax we need to redefine the /ALPHA qualifieri<! (so /ALPHA/ALPHA works), and disallow the other qualifiers! % 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)l5 qualifier environment placement=positional,@ value(type=alpha_env_options,required), nonnegatable,' defaultn( qualifier object, placement=positional, value(type=$outfile),- default-' qualifier list, placement=positional,1 value(type=$outfile),- batch2 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,x- value(type=alpha_names_options,required), nonnegatable,d defaulta' qualifier show, placement=positional,xD 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.includee5 disallow noshow.library and show.libraryo- disallow noshow.binary and show.binarya# qualifier library, placement=local_1 qualifier optimize, placement=positional,rG value(list,type=alpha_optimize_options)o3 qualifier nooptimize, placement=positional,pG value(list,type=alpha_optimize_options): disallow optimize.schedule and nooptimize.schedule: disallow optimize.peephole and nooptimize.peephole3 qualifier alignment, placement=positional, aH value(list,type=alpha_alignment_options)5 qualifier noalignment, placement=positional, aH value(list,type=alpha_alignment_options)4 disallow alignment.data and noalignment.data4 disallow alignment.code and noalignment.code) qualifier WARNINGS placement=positional,r( default,* value(list,type=alpha_warning_options)/ disallow warnings.all and warnings.nonek disallow not warnings and& (warnings.all or warnings.none or3 warnings.warnings or warnings.informationals)y4 qualifier machine_code, placement=positional2 qualifier define, placement=positional, negatable value(list,required)p ! Developer-only qualifiers qualifier dump_facility,y placement=positional,y5 value(list,default=none,type=alpha_dump_options),n nonnegatable+ qualifier dump_file, placement=positional,y value(type=$outfile),  nonnegatable. qualifier BREAKPOINTS, label=gem_breakpoints, placement=global,c value(list,required)% qualifier GEMDEBUG, label=gem_debug,i placement=global" qualifier DUMPS, label=gem_dumps, placement=global,  value(list,required)( qualifier SWITCHES, label=gem_switches, placement=global, value(list,required). qualifier TRACEPOINTS, label=gem_tracepoints, placement=global,e value(list,required)^$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1#&*[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1+,YU ./ 4-LU0123KPWO56`U+P7SP89GHJLSE 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_LISTOPDEF!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 ATTRIBUTEPICPRINTPROBERPROBEWPROCE-]#$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1V"DURE_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_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 s'$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1P"torageAllocate 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 ;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}%... ;Con$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1\3sult 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 attributes=Data 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.ELSEOptional .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 conditionalf*B$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"D.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 ;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$%{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 ɯAb$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1$/"Uthe 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_mfetchfcmovnefcmovltfcmovlefcmovgtfcmovgefcmoveqfclrfbnefbltfblefbgtfbgefbeqfabsextwlextwhextqlextqhextllextlhextblexcbxornoteqvdrainadivtdivsdivgdivfcvttscvttqcvtqtcvtqscvtqlcvtqgcvtqfcvtlqcvtgqcvtgfcvtgdcvtdgcpysncpysecpyscmpultcmpulecmptuncmptltcmptlecmpteqcmpltcmplecmpgltcmpglecmpgeqcmpeqcmpbgecmovnecmovltcmovlecmovlbscmovlbccmovgtcmovgecmoveqclrchmuchmschmkchmecflushcall_palbugchkbsrbrbptbnebltbleblbsblb0$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"fcorbisandnotbicbgtbgebeqandaddtaddsaddqaddladdgaddf 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 titlelisting 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 b&o$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;16"wooleanB,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 per 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 tyv%$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"pe 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_DESCRIPTOR_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}%...,*$ALPHA_MACRO64011.A^ {q| HE64;1yp"?v=$vce3^F~Q$0hIz& p$Y~(OL `Jcyz"J+pu`ہ o!^ ƐyOz^*VɿvcmV'ssb+;/}]/{ РD;OYۛԹD)_SHߠ 0Fr1/QvB1gyy/\, / d8m7AGN U3 VyE9XbB[!5QN Ge}IK>KQCvLo?3i}BM<!2 MaTTS_aQ5^&;8rU!T&Eh$va]o\NkIYaZG3Z6Xxzs?zh O^J;J%2:Ǖ"=@@ Y}Fa%ZL%%a B>xEGv,4]m=="xq+S |( ĆhF9\rgȸ@~[*D$;bqa6RL4pƧcI>l]{#Ack#V} 6jCYR,m6U8d~TǸg_هU?wZVQdLT\ppTrVz9%K 0PIRM@TQCobLS6a"M^ >Tι#=4_lY""JKu9-;TB!Ѡv}-űBB$HDTr{_AZ\=E6?D=sWb(+#d>'%ʍhk?0ΑmtU]`l "[Ʒp FEXR~T.n5wU(tu9:homihi)TH#8R2{qEQթդf-29"#yx2%ȡYP^=\RNHEZ\k=/{) G 8mcW%kH0 %6m'tunj30x&~?[ra}7OinY+Jp{aN! H o.Ct2ZM3^)>70??9|y -SY:o5 I@]E&UӁ¶n7+S@ZXZŝ :^LL%ǩ[L? S S ؗt; B'uX(s_(U1b$?\;$o3ܥ~TaF%rﬢMA2 Z͐%(W%@sXM)W5`՜QDQt΍Nɓ$ Ж0mﲂ5QHJq H|iQȘb4jУ9p+u_n,>!nWNxm/}ޫ"(atdٻz"rM ml׳g98щc&ۘ{-?kƹ}ч\+ޥ O!u٫fLH .\詶Ql7ޮoVHe%N2'tbr&=l$-l[DE!&x @gh$-(z -Vi3,K q$T8"6LI8+Ӎ4 :Nl$#49PaN$]'ӖӚ5mfpd6ILZ4(8XDvL ?{'k+odA1L8腲Q4ƭ{^ww5 :fsM`ZU&a0E*[{1',o{<<܏uO1`kY&^c]L Tm&2k&oR`- x?>-A)/ \@gOZoaJ`A!uM$I- 0 T& ;]%Vo& +LIg \ASf)\y ~A^g$MR~"dn KΛǩ!83sL{jC$QIGrFy)dQ\dg^јq eb>P%fq9Rp1hV+qtcv.WSvDpN18+VSO"W3nbDsMWdDXR~#qAG,qIX1X[|O%ns /9\\F+-p]!!dhVmNk<݌ a(}M 5Bi&ER'va"dH]̝rL -$NMbLG3\a9[Wp0*ij=f{z0 A ǘ| Ռ3]0@['L( 1Z?\ S93$)nВM|l5;hUp)g[)kr2kz,w)hk'Lc}: q* up *֖TbupeW_FXv#2'Gj!MD2SpG`c)M49u%N JMF<hkV~[lLySPu°T'Y_n$96]kcG^7 ˡ'kXF"GVx0Ab\]8WS=>k$98hʣFSVndp^O74^5-g lՂiHxw )ޯ;=%) w dȡ$?B 'Wr77=i{ ^E  t~j+fBX#e~pM[6iRH0Wjk̊GB^ކoIc FiOqKX3Q7.'{KEArJLl\k! H4JLpkdY7Rd>XϏ EE 4% dm*(#'BII" Hg\m3N|S" T !QR7p\h&IzXTGEÃGPFb4scl39Ǯ>gK(-q>L&a4l08M#hYY7o$(3Ӽmf/cYNYQ;rrVVF"K]~?6 tF`&slﯓiuSgi$oеAWM ;VA]<>ZWER2\ǘ$/j~wv{}p4Jǜ Q}[pzWr&HP y>;VG{+SRQLr8X̊SRϬ46U1{Dm*Pjp,9C>,%Kp'`E-?2Q*$j?g<`6hy#c*k1tqU/X }2mz!mpÐXBޣ` $q^0jg|5Dч_y JA{~C]_A*"#Hd!@q>8G'%ip3tċ4F%4VX:oUHY=T}?N5?9Aù9 O&rgEnV\׺v m]J 9βEs!e G&fanU VkyYS`Xgy:=EV5v!BUN}Fw' jT}Bh2LQH'{~H1Y$mr1GdבMw|t0f5z$=Ahi,FRRhJGs-¸8oyFd[ ,jjddNq˳L-J-`VJ'0L*P']ndu]QT1͜`k".ys+e1rX9 K\i`;DZ3@r"dj dk / \-Xٱ.*[-bl&M|=|CamKOuz~O&$  8#?C8:RVm(DFVy]+,b_cODJǙc^lN' ƃ?}ٮh7؇Hw-u5&mS룎2]+%m SߏZq%3);7\2kXql&VJ&?^ceƪr iS6D5uDHLEz庇;E {z3צzn>F A; Ah]tQYJ0i(\Fdu AY ZhB5EXla;Pd+{ksD%H@9 +&0ᭉ:>Yh0LXW ҫܿX*P?_eղtmyv==W F-b>$m@#PeS%rei߻N4M dѕ0yj07w$9<s5>2$wvHEKLQ~*8|M?L̄3$OudevL[xӰS'>{2/hl m5*-<Aųj8Rٹ0g$9 Jٲ-iں$9-;`Bi~ )P J'c5Ƹ9M/-vO-0 «])kSf5s .f=440͸#j;%v&d. v)br35Zo<i2ykuqyu\Yz p"DOk{QԦkJz1܉%4gV*$m8֥/`lT0Vax/ GAәE'ڹƸdKk[aXO^IjjhU k2**EFA@N9Ŷ4=Ącb49 9G;)XZq^j+*,.ȩv!mӌ }rpuu{U ϝ(bXqI rڢc!7=:d&[ ,䞻s&iT]To`~ cӧk z p_Y?9R0X^NJEϗ)U.% 5M9ݱ"%n-W[m${tX;9|sX3T}Ju-YV c;8!v؜ l>'Np4c~!: DJ;ޏ^BJ ?4)b~Y>A]}Te۴t1ҍFgi1j!^N\}c1]B>*pWL}&AB$?:}Q:6s$UmV@-NF͛;KKcrG:X\{zӏGlC ]>o{RTCO5R252V2eOֹ,HJݺe_׭A<2-pެѳ@y(qi;V"ͦI(1g>gIr^j9dl{ȝ:a1ZRNr͸YlXi֡1q/ptd-l/csdanM*F')f핿[eҷ g)wFJA.th7I^IMjGcy^RcsW`Ox]u~>ZAq>zJ2:T}&`V>C{⩌w7/5EM2|>:E`3=~ OL; *`[!Tik[!Zs58iFrQ]Bssݫ̻~~$!%8Q7sL[<Iq^wkZ'YifKQEQW=;9U@y =F'e#z|K%~!)jYқ }&dh[ge r:n&o@%b3+c1jGu2Ap==a/?;}S9M6Ow:m- W|Ԉ#LkNFo`)N GގOgm?d55X& I| EzN&IKMSLL>^!2ߴp.!d?Uj4 f@OA eV(c&js%D Ul4A~v]+-WΣU/kLlA3 1N Rev2_w a, limaj/7Rgjj$,7)3 s         Po$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1,"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 ;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_lis$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"t}%... ;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_qual]% %{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 M$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1gI"= %{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 ;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@n6&$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1ã"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@'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,ADDRESSMU$ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1^:-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_OFFSETaRSCCbS4ADDLccS4ADDQ-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_VALrS Ƈ $ALPHA_MACRO64011.AYU LU&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;18PTACK_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_20202F79_A]MACRO64.EXE;1+,PU.F/ 4FE-LU0123KPWOE56`wP7@قP89GHJh4(P(P0hP(PMACRO-64MACRO64V1.1-087A10-62$ $ $# $ 19$2 ?$3 $ 4J@$( 4  DCXSHR_0018 DEC$FORRTL_0018.  DECC$SHR_0018|  DPML$SHR_0014"   LBRSHR_0014 LIBRTL_001@^6SYS$PUBLIC_VECTORS_0010@ 0 p30 0  1:`?8 x*  (pA=0 0 & p 0  Pt< Hp ` 8 (B @0pr [ ` p1  ? pp.7  /r0; H0 ( p 0 p 8hH p?P< +p7 @`p &1 0 8/08 p!V$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F  8u0  P<   X *X 0   X/+300 0 0 @ @-+@0 @ p&0 @ '0H 0 0' 33`3333`30p 0 `333 3@3330 @0 0 0 30 0 0 0p 0 @33/0 0X 00 0 0 @30 0 33@30 @ ` 3 X/+pp230 P2+0 H(0/ 0 / 0 0(. 0 l  u0# 0 P 3@-+@X$ ( 0$ 0$ $ `% % % % % $ $ % % % ( 0& & % ' ' ( ' ' ' ' $ 0X- @< 08 P ; 00P, @ 0+ 0(+ 0 0* 0* 0`) @ `p0 ( @ 0# 0 00" 0 0! @0! 0 @ 0 0 0 0  P2+80H  X/+0 0/ 0P1 0/ 0 P3h /k0p1 x3 307 0` -2 2 2 3 H3 01 @< /0xЫhX%" 0`7 0(7 06 0`6 0 2;05 0 0@5 0 04 0 04 0h4 03 0 01 01 `333 X/+ 307  33 @33308 P2+09 0 33@3@-+@0= 330= 0; (*0: ` `33/`&09 09 0> 0 C @ @-+@3//0B 0 `&3 30hq 0 0p @ 0p 0 0D  3 33` 3 3@ 3Ы `(0F 30 o 0 0n 0 00n 0 0j P 0m @ 0l P 0 j @  30Y P  /X0H!*p0 > @ 3H' 0Y @ /H+ (@*p`"3hL>/0< ;= p@!3P0p08 [ +p1@"3* h*XL>= `/j@s .*Ъ0;!30X %*300W P "3@'+*p*00W P "3*(-*@0`V !3!3('*Ы08L  30HF "30T P 3 3`3`3330T 0N p /j3,+p0T 0PT 0F ` `!3;  !3P)*0hL 00L 0D 0D 0C 0 0C 0C 0C 0C 0(B  P2+0 ? P !3 p `X/+ 0r 0s P<   j o  )@k / ` h 00r P k k  p` )`&0 @< j P 0k 2;-P pj h 8 x ؄  0v 0  j T 0  ` X* 0 @| 30~ P T h0`} P 0{ P 0@w P x x 8y xy y y y z z 0z Hz `z 0 j PT /p P  0 ` j (' d : hPe &P3P& )k  0  k @k e 2;/ j *00  d k  h 0% %`&   p`0ؼ 0 @< p(0 @< Pk 0h  0 )x5 P,T X/  @j 0H 0 0( @< 0e x+`5@e 0 @< 0 0 @| )0 0 p)50P 0 '50 0ت 0  v  (0P ? (@6d Ȧ , Ȧ ,  Ȧ Ȧ Ȧ Ȧ Ȧ , Ȧ Ȧ Ȧ Ȧ Ȧ Ȧ , 0h 0 `k @-+@/ k Pj  p 0 P  3P d j j "$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F@  pj 0 #3@j  p) 3&'n@k k X/+pe 0e @e d 3 hj 0p ` "3Pk j / Pe @ `e  0k  k > ףP)` H p'6d x'6"3j 0 0( 0 0;0 0 ,+p0 @< 0 P 2;v  !0 @< 0xj 0 0 h0 <  `?8hH)A<A=80 0 d e /0`  0   wDwDP2+p+H`j  Pe  '52;k @k 0 0 @ d *d  P4 @0k Ыd X/   6p`  0 p 0 P P Pj 04 3 ' p(j T pe j k 0 0 (p+H0 !j wDh 0%/ "3j pj `j 0 p `e j "3 `?8 )#3@+ (wDwD0 X/`&    '5&/hd   p(@ p P 0X  @k 'k k h 0% )d  &2;x5  j p` )0 @< 0k (@6j k 0(P  d e Pe pe *@`P@VXК0 p / 0P@< "300P 0` 0P| '0P| 0  0 P| 0  00 ` 0p ` 00 - 0 p 0@< @k k )j 2;k %81 r k P `$ d * (0Pp 3 P,p`p&5Pq`&0@%0  0` x3q 0&0 @e 0e k k /jp`0x+e 0)P t@j `&0p)d 0'0 d d @ * p0(  h 0%0x'0p'0+@  k @k j 2;` X* )h08-` k  /#3 :X/+5 $30p.  $3#3 @$3#3#3p `08/  P2+1:0/0`?$30P< @-+@ $30:@ @$3#3#3#3#30`00 @'p& p;  j 06 pk 0(2 3 ' Xk*H~*H( (&01P 3/00>@< P*x*q*`x*0<0 &0< ,+p02P 00p 4 0X000p8 p `h63%3&3%3@7363730p?0 `$3 73 %363&3 )nP %3X/+0(A`< 0QRCCChCxCHCXCC/ `  /k0pA P2+0A %3W %3`63@&3`630PD  `%3 `&3PQhi$30hL630XLP 0PK0 ((@ pa0`k0(K`730K0J  PV0Qi@`0;phHhP 73Xj`H`XPV/V 0 H0PE 0  p&9 hPj73p `%3x [ p0HE0 9 / ` 2;`&3%30L@| 3PV630;l%3- 0~/00(}` p&0}0(P|@ R0 |0{0{0 ``0@{ 0y@ XК%4 l 0y 0x@ 0w 0w@730w0w&30hv0 7363$30(v &30u 0u 0`u 0t0 0P@q| `$3@` )n0p0 `)Hn08p  0n0 C 0C oPohooooooC C C 0m0 `nnn0nHnnxnxn0Pm D 0m 0l D 0hl 0k#O$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F"'0 &3p 80@k 0HXjp PhЛ0X0i /0f@| p ``0pf  080e` 0d  W 0d  W 00c  X 08b0 %3 p0Pa0 0h`0 0_0 0H_0(^@ 0h^ Ы0[@< @&3PVX(0[0 08(Z` ` 08X` X0X0 p 0W0 08HV` 0T0 6373 73%3TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTxUTTU8UUUUUUUXUTUpT%3%30XR0 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRHSSS(SSSSSS+SS8SRSR0(pQP 0xO 3 `p0~ 30ȕ0 X00 `)Hn00 00  632;0`` 3 )n0;h@39 @H /k08~ 00 00 0P0 `63`0 9%3/&3088p| `%300АXК0  0  P`hx08P` %38 3632;/0 .@< `%3`)Hn0P0  8a k0PP hXp 0Л0 000 (%3 )n`&3! ` @&30000 (P0@< l 3`%332;%3`&363Plllllllllll(lllllllllllllllllllllȠllll@lXlllhPV$30 0  30p  0  0;0< /%3@`0h ء000 0@< )n0@< 0p0@` X%30@` 00(`| `)Hn0@| 0(008`` 0(p 088888 0 00@< ( + P1 p 30(8p / ` `) R / 08pp< 0030(p L+880HP@`ph)0@< ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,008 Qh0hR080 0 080 h@0(Pp hq 44 00 8 PؽhȽ0@< 0`0 00 0p0 0@@< 0(0 X0H| 0H< X`h@P8Hpc00 00 0H( Ȥ 8hhhh    hh8dgh(08 @0`@< 3`%30;`&3$3PV &3 30!00 0 63@&3n (4 * X 00 0n P* x 00X` `$3@`0p? g/ ` 00` 08  00 @: 2;0"  0p0 30P@< ] )np`^# 08`p< 0p@< 8 00   0x/%30h0x ` p00 `)HnQ0h(+ 8 $j$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F8 %3R0Xh  P1 p RX(. @ 08 00 xX0 0P P, X- # 08` h0(0 0 00 0!0 3`%3`&3PV%3PVX(@&30$@| %32;PT / ` -08$0 @`0"0 /p 8 :4 0 ) @-+@630`) ,+p0)0*@< ,0-0-0-0-0-0-0-0-,0-0-,0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-,0-0-0-0-0-0-0-0-0-0-0-0- -P&0)@| U 3,+p@-+@&06 0;Ы hL p9 ئ*X0;/0L 9 005@< * 08-P  X@''0x3P *P081P| 2;*00(100 P2+0/@< p `X/+*hX 0<0 73A=4 8P3 87 0o 0n0 x0m0 0@l0 0pk  t@V 0j  0j  t0i  0@h@< t0g0 0g0 0f0 hp0Pe0 0d  0d  0`c0 0b  0xa0 08a 0 0X`0 Pv0_0 0_0 0^0 00]0 v0\0 0[0 0Z0 0`Y0 0X  w0(X0 0W  08W  0V0 08U@ 2;0T  @5 0S0 p`6 P0S0 0pR0 0Q0 0(Q  0PP0 `0O0 00N0 0M0 0L  @0L0 0xK0 0J0 5 0J  0I  0H0 0G  73 ((0G0 0F0  00E0 0 E0 0PD0 0C  CDD4DDDDCDDCDCCCDCDCDDDDDDDDDC0B0 (CXCXCtCXCXCXC(CXCXC(CXC(C(C(CXC(CXC(CXCXCXCXCXCXCXCXCXC(C0 B0 x0A0 0@0 0X@0 0?  0>0 0=0 0@@ 733 2;A=p83`:30H8p 8/00 800 W 0 0 HHHHHHHHHh8i0~  P0h~  0|  |||}|||||||||||||||||||||||||00}0 }}}}}}}}}}}}}}}}}}}}p}}}}}}}}}0z0 {{{{{{{{{{{{{{{{{{{{8{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{0 :30y0 h4 08x0 0vF0 0z0 0u0 08t` 00r0 sttttttttsttttstttttttstttss0`q0 Ы730p0 @0p0 00 `x00 00 00 @5 0x0 0X0 00 00 H0h0 00 0`0p730 pȇ0@ 733 0;A=p83`:30@ 2;0 0 x@ 08@ 00@ 0@ 0@0@p %$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FiLI; 0P P0P 0hP| @Ы (08ȫث0@ ظ3@-+@:300`  0` 00pX 0H` 0@0X3pк (8@HPX`hpx 0@X(p,+pD l 0@h h 3m 2;طLطسxд`hpxx|||||||xx`h00 0;30x@300 00` :3&/ '3p00ĥĥ   @LL000X030@300 `30ء000pp0 `P &0 33/30 00X0P|  @3p ` 0;0p 3`3 330ؤ :30p` `& ;3X3p& @-+@0H0 /  30Op :3ظ3h3; 0   ,+p0  0@< 0x0 0` 00 1:'30xhh0(((((000P| 030`P| 3@3`3p `3:30;0X0H0(30300030000@00:30 0 3(XX8h030 300 00x0 0 ! 0 0`00P * X ؤ 3* x ! ` 0p 0`p R0P| 0`P< 00x`00@ 0p 0XP| 0L x(@08` 0` Hx 8Ph0`0P 0` 00 /0 P 0h 0(0 3`300 0P| 0(p 0 000@300 03000 000 /0UpH  3333p033@3:3 304 3@-+@ H3 ;3:330` 3 X/+3:3`3@33 3:3`3@3 U ` `330  xX0   ȣP2+00 ```````````````p `XК p00 @-+@X 0@ ,+p0@| 3> ף/*8 X x P(                  `        (                  ``)@X 0 0 h'*)9 (pp*ȮX0X%p 0"P 0@| 0pP  0h@< XКp00H0? 8@A<A=00 0P 08P 0`P| 030 P2+00   X/+0())))))))))X)X)X)X)X)X)X)))))))X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)X)&!ſ$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FͦZX)()()()()()()08+p / `  /k90*0 /0p**************************************[******************h0*0)0`)0-0-0 в H p0 .@ *()0P001@< `& 0X0P| @-+@p&&0 /@ 0 /@ 0p6@| X 3`3`333 А 3 3@3@330p2@< h 33 3`33 @33 33307 ,+p30P7 @-+@0?0 @33A=3p`330?@< 033090 ض:(:(:(:(:(:(::(:(::(::::(::(::(:(:(:(:(:(:(:(:(::@ p 0:0 3:`;:: ^`;`;;`;`;`;;`;`;:`;;`;`;;`;:`;`;:`;`;`;:: 0=0 8>>>>>>>(>>>(>>(>8>(>>8>>(>>>>>>>>>>(> 0;P 8<P=P=8<P=p<P=8<P=P=P=8<P=P=P=P=P=P=P=P=P=8< 0P9  0 8@ /K?@(K?08@` %32;63/PVH30`A| `%34 l `&3/ ` R0A00G0`G /j0H` `&p`0P ( T+@-+@,@- 0@< 000(@< 0 0p00HP @*X/+@)*080@< 0-/0p@< ,+p0X0@0 0H  0  00p0 (o< P2+00 нHp (0(V]xL* %*o*z0 @ +pP], /*p*l]+0P0  h)**0 X$*0 x L8(@)6px0H  @*p` k`H{R0@| egxE58uo8yvp+H0H@ d (+ h(](/hrPtHHbxc0X'@| P M(xP--0P'0( "? \i+--L- -0,@| F0-0P| 0)@ X/+@-+@0P 00.@| ,-X0X@| Bhp// ` p*h)*0@  **P @*p0C(P2+(0*0 ,+p0h, 0x+ 0+  0+0 0X \-\+ H-0H@< Ln+ 0p0 00@60x? `(- І0(`p  -,+p0@| 00 HM(@xPO -PY08w -0p Г 0`@| 01@| 0@< 0P< u@-+@0H 0 0@< 0` /j0خ@< -<-`--0-l---0P 0h<P 0 :p p-,~,00@< --m07` -0(-x̓ 0(H? P],U 0HP \-0@P -ē -@  |-,--0=  L-pS-0ؓ --00 0X3P 0@| j* *` X/+P2+@)070oL0H Xh+P +p؏(ȐȐPxȐȐȐȐȐȐȐȐȐȐȐȐȐȐȐ H% 'Ț~$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FP?"k08y0 0 Pi 00hz `H(||P}}~X~8H,hh0wP 0(Htp h*Т)X*0] ` (./`lda`a`aaXccba0/0` 0 ` +l+T....0 ` .0 `| x,0P| 0 0 H+p+H -\+--0P| 0@ `/j/0@ *@ +P+0 @-+@X/+0 0op H+ " >p]p]h;?p]p]?p]p]p@p]p]@`AAp]p]p]p]p]Bp]p]Bp]p]p]p]Cp]p]p]p]p]p]p]p]p]p]0Ep]p]p]p]p]p]xEp]p]EFp]p]PFp]p]p]p]p]p]p]p]p]p]p]p]p]p]p]p]p]=?X?' # 5-,-H 0P +p0P2+P*[[,...X6FF[[[[[8,[p:[[[[@894[70/3[[[HHhIIxNIILXT[(LJ[[[V[[[[% /<# 1822222L3VXUUxVV0 ` 0@ - " 0x p 0p 0n@| < 0(  0P  /0y` ` 000@` 0v@< 0hrP H 0j` 0h@< @ 0dp p @/.0 0P o+ +ph+PP+ +0//H+p+H0? Pz`0P 0`@< *Эk*HHP*x`@X`PH0h(X0xq*`x**0 P O00 @-+@0X@< `],-- 0p 00@| 0@< 80`@ 0 0 p+ 0 ,+p0 0 0 0 ` |- - 0p 0 p! MHh@M(p000`@< 0X0 (0P P], 0P< 0 P 00 0@< 0P 0@< (80 p5@*h)p*08P  *o*@*pp8 0  0( 0 0P*03P + 0P.` ` o@*p*  0+` _,p**h)*006P + `, 0p50  ` **0HF0 08:0 `,Xp 0G0 0Bp M(@ MH0: (p08@< p ` **0PJ` a, X X @D pE @8 *0HP * @ H(` `: pE 0M h0 0H+ ` H/````````8y0/P-X-,-l+-- -x,H,0h \++-`-m- ---0 0 p @@@h,-H0XP0@` 0(P H @ < 0(xP  **0Q ,+pb,0R0 R 0P@< /@-+@0pN@< 0O@< 0O@< L-0M0 0 M  0L  0L0L0L0xL0pL0`0T0 0S0 0ЌP 8 -0/ RX0-xP/0 00x} M(//`(($ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Fa"|h@P0@U pd, -K00R` &0  0po@| 0` MHM( --H0@| 0` m,h@  HOl-0@`--0h xP --0xgp lllllllllllllllllllllllllkklhii0pN 0x@ `(` 8x(x(x@ `0e0 -|-0`mP| 0X 0-000 @/88888P888888pب(بXب آhX0Ȕhhhhxب0pphhh/,-XXXppphhhxxx```/0 0` 0@@| PX X-P->J`-&@-D6@%20 ` 3+hPx---<----0pHp +  -X/+-O*@)E52P30(V*p-}8}P}}}<8U--0@< s, M(@0hP ,-- RX --0`` 0L-0  `0` xP0` @0 `(0P O0 0PP --H0 0` pN0X` 0Ȼ` 0@` `-------00 000 pp - -`(--Hv,0  ( P00 0@< --L-8 -0 0@  0` `---0Hp ,-08 -- -0X0 0( 00P 00PP)VI$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F&"| @)+ 080 -0,- @Xp h-%.00H`p `0h H  -0p  --04 -0P M(U0p  &0PY U -M(0- ~~{{{{{{{{{{|||| |(|0|8|8|8|8|8|8|@|}~~~~@X 0h{` \,@X X @X pS 0 P h RX0@ -`(p08  0@0 P  0(P 0 p? -L-O---H08]p |-p PO0(g -`--l-- --<- MH0Q!x$p&p"77@8h9>P@MpON||||||RN0M(S؉((pxxP@HPXXP((XxP`!V!0x}!-U0-P!x1--- -0` h@xP0 /L H !@&`1-8""0hR!P"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX!!!XXXXXXXXXXXXXXXXXXXXXXXXX0hXXXXXXXX XXXXXXXXXXXXXXXXXXX!!!P/XXX1XXXXXXXXXXXDAXXX83@5XX:HNXDPXXXXDXDXXXPXXXXXXXXXXXXXXX(QRXSXX`UXXXXQXQXXXXXXAWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0/-p!0H 0@ 0P M(0*, -,~,~,-01@< \-0 `20#` 20! 0+ 0@% 0; -088 30202 @.ĝ,,0 M0 `(0M0M0M0L0L0L0L0L0L0L0L0L0L0L0xL0pL0`L0XL08| -/-0P ЙH -0(0xE@ H, ,@)50E  *>_$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FXX/+0D P2+0H0 @60f` M(xP 0 ~ - -@60}  0@< 0( x(xxx(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((h(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((ؕ(((((((((((((((((((((((((((((p((((((((((((((((((((((((((((((x((((((((((((((((((((((((((((((((((((p((0J0 0F@< 0? 08 4P433344-p440pM 4448YXNN`YNNNNRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN`RNNYYYNNNNNNYYYNNYNNNNNNNNNNXNSNN[NNNN_NNNNNNNNNNNNNPNNNPNNPPNNNNNNNNN8[NNN\NXN[N\NNN```N\NNNNNNNNNNNNXXNNNNVNNNNNNNPXNNNNNNNH\NH\x\\NNNN\NNNNN]NNNXx\NNNNNN(](](]Nx\NNNNNNXNNNNNNNNYNNXX]X]NNX]8` aNNNNHa8`NNNNNNNNNNNNNNNNNNNNNNNNN]NNN]NNNNNNNNNYNNNNXNNNNNNN]4`443@404 408b @-+@0( -0H> BCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC@CCCCCCCCCCCCCCCCCCCCCCCCCCCCC@@CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCACCCBCCCBCBCCCBBBCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCACCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC@CCCCCCCCCCCCCCCCCCCCCCCCCCCCp@CCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC0(` 0-U0< `-0<00 M(,`0 0- 0   -//0 0 -`( (hHHЯHHHHضHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+r.$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FU"HHHHHHHHHHHHHPHHHHHHHHHHHHHHHHHHHضH`HH HHHHHHHHHHHHHHHhHHHHддHHееHHHHHH@HHHpHHH@pHHHHHHHpHHHHHHHHHHHHHHHHضHHHHHHHضHHHHHHXHX ЯHHHHЯHHHHHHHH HHHHHHHHHH HHHHHHhHHHHHHHȸHHHHظHHHHHHHHHHHHHHHHHHHHHHHHHHH88HЯHHHHHHHHHHHHHHHHHHHHHHHH@HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH0` @-+@0H0 |,0 HHxx 0x0 --.-@.< -,-0@< 00 b0@| h0#P2+0`P  -b0P -0h@| 0@| 0@| Hc|0 00 0P c00 c0@| c0@@| d0@| `d080 0P 00 d0 0 d0(0(0 0@ 0Pp -eH4 0P 0`0 P],e 0hP 8f0x@< 0X@| f0@| f-0 f2+x0` X/+-@ --p t,v0,~,`(`-0(^p @2 `,І-{,  -,--089` M(0  0 L-OO`0Xl pS-xPh@0 i 0 y P-0X8@ &@0:` pj`0ZP| Ȼ0;p MH8-08]P @k0@Y@< hkpPP@)* D 0P `/j/jh0` *g0P2 0؝0X< (,Hh+P +p 0(00P< P+0p H+ 8yp+Hd-...0 0 p /0@@< 0X 0X 0` .(.0XH +p080x //08 H0XXXXXXXXXXXXXXXXXXXXXXXhhHH,  -%0p 0( /0/0 0XHHHHHHHHHHHHHHH /j0@? 0X 0  x Xh0H`p *0* 0@ 0? 0h 5-,-PPpP*@*pp*08@ < * %*`̔X$*0 u0(`| -@)p *4 X/+#h*#@P2+H#`P 0P| P&$P],8#*`G$p*00  0 ` . -#))`!p! " "#%####8#`#`%`%`%%%&&''`(`(()''(( .05 0B0 p\%*0PS  pH- 0T` xPM(-` **@w5 06 -h@` @ (`4 0> 00Q0 `-0(R0 0NP 0JP hy0H - -p-0CP -,ڒ$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FY"-`(0B 0A@< 0LP `zO0>p `0W0 0(* 0  80@Y` 5 H- ظ 0| /0(` `(mmmmm@jHjPjXjjXj | | | |xa | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |b | | | | | | | | | | | |Xo | | | | | | |Ph | | | | | | | | | | | | |j |Xo | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |j | | |m | | | | | | | |Xo | | | | | | | | | | | | | | | |Xo | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |q | | | | | | | |Xs | | | | | | | | | | | | |t | | | | | | |8w | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |hhhhhvvww0ww z(z0z8zXz8zoo o(oPo(o`uxuuhupu0@]P (^@^X^^^^^^___$`$`$`_0 0]/0 [P 0[0X ܩ-,-  P],0P` G 00p 0 --@-+@00 p0p < // 0(0 ȓ P2+0P -h@@-+@-0 |-xP0@@ M( - --X/+`(0(0 G - 00`0 -h@x0x0 RH0p -0  00 00 0p &* 00@< 0@< p-m0@ 0x` 0(@< @)08@| `--0@< 80((p ,-000 0P@< 0h  0@ 0XP M(xP0P 0xp ȻX0(  0@< 0P 0P -0` 0 P| 00P Ȑ0@ --\-@-+@ 0p8 P],m`(-X/+/@*pp h)0  **p*` P2+00dp `(--0`1` X <-| `/jd 0>P| 0 9` 0.` O -0pr0 ؓ -sssss8s0`-@| M(0 MHȻX/j0nP P -x-0/09 [@001` 2333X30h)  pS0P< -0*@| /(),00`,p| pP,X---, .x../,/H/(0//,`000000` 0@E/0@)` J0@F0I@< `JJhKpJJ00h9p| 0@%< 0@ 0,/0P| 0x   0 P< 0h | P,H,0P8(h p   H 8       @  0L/ 0K -0/ /00N PiȔ-OOOOPO8POpPOPаQXQQXQQXQRXQHRXQR L @-+@`,W0Y[`xe/-/ -0U X /-%P2+X/+H 0pSp T@TpTTT0@N @0m---0` .Y @-+@/  (08@HPX`hpxHXP 08@HX``````pxP8@ (0(`h0@ 0@  0pP| 0@ 00p 00@< 0x0 0@ 0 @ 0@< 0@0 00@| 0@| 0`0 0 0@< 0  0@0 0@ 0 @@ 00 0@ 00 L 0@@< 0@< 00 0p` 0  00 t@ 0n@| 0P@| X/+0 0Ч 0p  P2+0@ 0@ 0p 0 @ 0 Ȥ@ 0 p@ 0@ 0H 0 0 X@ 00 0p 0 Ȝ@ 0 Ț`| 0Й0 0(P 0(P 0 00xP 08 0 P< 0(P 0 @ 0(p 0@ 0 P 0X@ 0 0؍ 0 0@ 0 @ 00` 0؊ 0 (@ 0@ 0ȇ@| 0 @ 0@| 0 8@ 0 0(PP 0 .]$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1;1F' 0 PP 00 0  0(0`< 00 0x  0~0 0~0 0(|`< 0 {@ 0(zP 0 z@ 0y 0y 0`y 0(pxP 0 (wP 0 tP 0 sP 0 @r@ 0o@ 0p  -`/j0`n 00 ` P. .Р./k?\ /l@@/0 J@ /0/k/`/j?`/k08[P Ю2Infinityp0J 0x\ J NaN0`  (o# pl` `8@^%P+n%0.*`q@8^% ,%pGPH(o#l p/. *0]p Pi*  P hp%-@@*p#p*^%*P# h)a%.0@< 0p@|  t u utuu8xyh~u@ &I0&pH-. - -1.`- 0X`q .P],,- -j%p. H0 &I&0IM(8 &H0p  @-+@Z 0o  ț X/+X&@I 0(o0 P2+̛ 0n 0m,-0l0 0l0pl0 0e` - .-eeeeeeffjjjjj(fffgHgghPij8.P.kkkkkkkkkkkjkXkkkkkkkkkk0b pddd dpddd/j0a@< //0 00P 4. H+ p+H +p [ lpx#pE&HL 0p ě a` L&Z@H&K00`< `(-M(00 0Ȳ` O -00@? 0@| T @-+@0г 0` `/jxP+00H 00P 00@| 4. -|-X 0 P< 00 0P| 0Hx 0 0 @| 0x /j- H`xpІ0`ȋ P H--h+Pz`@*ph)x+@-0h p+HL-[ +p-00 P `(05 @| l- -0@0 9. 0 p 02  `/j0' 0@ 0x(  00 p 0 @/ p 0@< 00  г0( ` /  8      0p ` 0p  h @ ` ` 0 5 080P? 0p p+Hh)@*p`[ P+0@ -0P| 0 ` 0( /jP/xW$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1;1Fr" -0p0  z` +p+`p08h 07 07 @< [ 0p8 @< @ ` **0HC 0 =.  - -0A @ 0`: @-+@X/+8-P2+ 0L 0L @-+@p+H4 0-P+L=.0 pE p [ d h)2+xx 0E  X/+0D P2+0n ` pм [ 0` 0 0m 0 @00 | p x-0-00l l m 0m Hm `m xm 0Xh @< 5-4 //0(ha p D-E. 0pW 0 pO ` h P `P XQ R R 8T U V @)/j0 `s @.@t t u Hu Xt t &\8v u w Xw w u u xx u 0y Xy u y u y z (z hz z z { x{ u v v x x y u w x 00M P t.N xN dO dO dO N dO N dO N 0 XG. 0 p 0//@-D-pмx-0 0 00 @-+@\ 0 0 @ P0 /( P+ h+P0` ,I. +p/H /0 ` п 0x P 0d 0 | 0 -t 0p @< 0x p 0 P ,+p 08 p+H`/j/j+0  ( 0 ` H+ > ף2+x` @+ ` 0 @)@*pX/+0 ` h)P2+*x  p*p 0 x  U.!h h H H x x h P ( ( P ! @!h!@!h!@!!!!x!=- ^ 0` p  @0 P00(  @ p p P P p p p p p p p p 0- 0 @ d | t 0 0 0x P ظ@)(.0X P 0 0 -@ -pм00(  h+P +p,-)X ( 8 8 x p p p p x x P P P P P P P x x 0п 0!0(!@ 0!P M(  -/`(0/xP- RX0(!`| h@-,-/j 0 0@P! @U.H O@-xL"(R"X"^"c"hi"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\" o"t"}"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\" ""p"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"""x"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"X"""//`W.0PH" M( RX/ 0 !  !`!ș! !8!h!LH"!LH"LH"LH"LH"!LH"!(!8!p!LH"LH"! !LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH"LH" !!!LH"LH"LH"LH"LH"LH""( "h"LH"LH"LH"LH"LH"LH" !LH"LH"LH"LH"LH""$"."LH"LH"LH"LH"LH"LH"LH"LH"LH" !6"0@"0 p!`| &0 `! h@`(00q!` 0V! 0hR!p `؟0P|! 0r!? 0 0Q!p P0/PX.@0"@ M( RXh@xP`(0H"0 0 "` @0H" -0 " X& 08" - -0#0 X. -- 0#0 0# 0#0 h0e#P -Lh0pY#@< --0Z#P pN0hP# MH/Щ//0 -P],0#@< 08b#` c#c#c#0c#c#c#c#Hd#td#c#0p-#P p0#P 0#` 0x#P 0`#@< 0T# -0M#0(O# xP0hL#@< 0H4# xa0۾$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1F"-0[#` -,-`-p0#@ P0^#P| .H`/j@.0(H`#`| @-+@0P.# @,h0.< P">0` # h08I# 0P #P 0( # ,--0#P| b0f#\.o 0#P @.. - -` 0Ȕ#P 0# ././0#@| 0Pq#0? PH0l#P @-+@0xh#P 0(0i#@| *@*poh)-|-2+x0px#?  `-0 -p***0o#@< X/+M(0(o#0 P2+0H#  0#0h# @-+@//H/0(#@| r. - ##8#ȳ###x### 08#? 0#@< t 0#P| 08#p 0#P 0#P 0@#` 0H#` 0 #@< x 0`#@| 0P#? P2+X/+00#0 t h)0X$| /H/0$@ 0$P w. 0#0#  00$@< 0$@| 0$ 0 $P< 0X$ /0$@| 0X$P| 0X$ 0 $` 0@$? ..0# ##x#X#####p#0`$| 0$` `!$!$!$ !$(!$0!$8!$@!$H!$P!$X!$0#0P# 0 8#p @#####p##P#P#00#@< P2+0pP# u@-+@08#0 0#P< 0H#` P+X/+h)p+Ho0#0 < 0#< ` 0X0# 0X0# 0X#? 0#0 0# 0X`# 0(#0p0#? 0P#0 0X# 0X# 0"$` #$#$#$#$#$0H#@| 0X#@< H*ȯ*08#@| 0#  0P&$0 /0%$0%$0h)$@ Ȕ x./ 05$0 h) 0)$ 0P+$  07$@ 4 0(J% x 0,$@ 0-$@ 06$0 0'$@ 0X9$@ 0,$@< 08$0 0/$p %83$x4$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$P2$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$h5$0п$0 0 `*$P< @-+@ 0:$0 0$0$0 0P%@< R%Q%Q%Q%Q%R%R%Q%Q%Q%Q%0`1%` 4%(:%6%3%2%9%4%;%X:%HX0=$  0@F$@ 0<$  0 0@$p B$E$B$@$E$D$ B$E$E$E$E$E$0=$P 0<$0$p 0H$0 0$ 0L%0 0X$P 0$p 08$ 0$p 0$p 0$P 0($P 00$@ 0$0$ 0ȫ$0 0$P h H ( 0$`  $$$،$ $H$$$$$$$$$$$$x$$$$$$$$$$$$$$$$$$ $X$8$$$P$$P$$$$$$$$$$$ $$$P$$0$$$$$$$$$$$x$$$$$$$$$$$$$$$$$$$$$$$$$H0%P p0%p 0PN$@< 0 % 0 %P xX0$@| 80%p 0($ 0Ȭ$p 00%` 00$ 0$ //0$ 0$` 0$` 0ȗ$p 0;$@ 0Xh%| 0X$< 0R$@< 0P$P 0J$  0K$` 0`)% .% /%-%-% /%.%.% /% /% /%-%0`#% 0hk$| 0H$0 y%P70hg$ Pi$j$(j$j$j$8j$Pi$j$j$j$(j$0pZ$@ 0p;%0XA% *h*Т0_$p -08S%p L < 0PT$` @ 0D%? T @)1eg$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1OM;1F|"00M%p 00%@< $0h/%0 H$0V$@< p)`%)p$0))Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$Y$P)0X[$P x(_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$[$_$_$_$_$p\$_$_$_$_$_$_$_$_$_$_$_$_$_$_$[$_$_$_$P^$_$_$_$_$(\$_$X\$_$_$`]$_$_$_$`^$P_$_$`_$`_$`_$p_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$_$0P$0 P$$$$$$$h$$$$$$$$$$$$08pr$ 08Xv$ 0X`$ 0p{$ %$0%$@0Xpm$ xn$n$n$n$pn$pn$n$n$n$n$n$n$n$n$n$0`G$@< v%h8@)0[% 0\%.0^%0 X/+. @-+@0^% P2+0@]%P 0`_%` +'fa08^% ` 0 0H 000t% 0r%@< . @-+@0l%@| . pЛ  0q%P ` 0hp%@< X/+0o%0 0o%0 //0n% P2+0`l%0j%@ x'@v`'n'w'Pw.0 a% . p(pz'wa0v%0v%l d 4 0v%0Hu%0@u%4444444444444444444444̴4444444444PD444444444444444444444444444444444444444NaNpJ0Ю  0x(44444444444444444444444444444444lı4ܰ4444444444(44444444444444444444444444(444444444Infinity0؍%0(%@| 60 %@ . 0%@< 60P%@ @-+@0y%` 0ȉ%@| 0p%@| ` 000І%@| 70؇%0 0%0 00%` 0Px%0 0v%P| 08x%` ///0(} (>(}8 P(`~((ex(`~((ػ.X(h7({(|(`0@]H@&a l@Y0{ -%%%%%%%%%x%%%X%0%%%%%%%%%%%%%%%%%p%(%%% %%%%%X%p%%%%%H% %%%%%%%%%%%%%%%%%%%%%%%%%%%%8%%%%%%%%P%%%%%(%h%%8%p%%%%%%%%(%%%%%%%%%%x%8%%8%%%%%%(%%%%%%%%%%%%%%0%%%%%%%%x%%%%%%%%%%%%%`%%%%%%%%%%%%`-(~e(09(h}X `(0/j%p.` xc([( 0(% Ħ. -@ d(h/ -`/j'kt(p8(}@-.--q%-bh%p%X%h%h%h%h%h%h%h%h%h%h%h%h%h%h%(%ؒ%%%h% %`%%(%H%H%%h%h%h%h%%h%x%ؙ%P%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%h%%P%0%(%h%h%h%%%(%%%%(%p%@%x%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%h%%h%h%h%h%h%P%p%h%ر%h%0%%h%h%%P%%h%h%0%%%h%h%h%p%h%@%h%h%h%h%%h%%h%@%0%% %h%2?>$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1F{"&h%%h%h%%%h%h%h%h%h%h%h%h%h%P`{u(&J( (X(-Е(X.nX(~((0%P ` a0&@| @ //0&@< @-+@ț 8+. -.x.00&? 8,.+. j%p.*.8 08 &p --0 &0 &@< 0&0X&0P& &J0/8(}/j5-/ .0J/0& . //h&x#&$&$&+&`%&'&@&(&.&P0&2&`3&5&8&h9&9&:&:&;&P;&P;&P;&P;&P;&=&.&3&?&&h!&3&P&PI[(xc(`/j0@H&p .Klě |--H#P0P@&P 0( -0E&P aП 0&0&p ,. o%-o%.`- 4 0&@ j%p.xM0&P M(t%, 8 0&@| #0& 0x&0 --0p&P 0 &  00&p| r%,e0@&@< 0&P| ,-0&@| h.P(O 0(&`| .0&` ")p)XP], )[H @]lP&PInX.)Ќ-P}&(M&(M&&&0&ȉ&&&&(&(M&&&&&&(M&(M&(M&(M&Д&(M&(M&(M&(M&(M&(M&(M&&&8&(M&(M&&(M&(M&(M&(M&(M&0&(M&(M&(M&(M&(M&(M&(M&X&(&&0&`&x&(M&(M&(M&(M&&&(M&(M&(M&(M&(M&(M&(M&(M&(M&(M&(M&(M&(M&(M&Н&&`&(M&(M&(M&(M&(M&О&(M&x&(M&ء&&&(M&&&&(M&&(M&(M&p&&&(M&&(M&(M&&&0&X&(M&&(M&@&(M&(M&(M&(M&(M&(M&&(M&(M&(M&(M&(M&(M&(M& &P&(M&(M&(M&P&&б&(M&@&(M&`&&h&(M&(M&&(M&x&(M&(M&(M&(M&P&(M&(M&(M&&G)}&M&xN&}&}&}&}&}&}&}&}&}&}&}&}&}&}&HO&O&0Q&8R&}&@S&S&T&HU&hU&hU&V&}&}&}&}&V&}&&V&pX&}&}&}&}&}&}&}&}&}&}&}&}&}&}&}&}&Z&p[&P\&HY&}&}&}&0]&^&H_&_&]&b&Hb&b&`c&c&hd&}&d&}&}&}&e&f&f&f&hg&}&i&}&i&}&}&}&}&}&}&}&0j&}&}&j&}&}&}&(k&}&k&}&}&}&}&}&l&}&}&}&}&}&pm&s&}&n&}&Pq&s&}&}&t&pt&t&}&}&Pv&v&w&}&}&}&y&}&`z&}&}&}&}&{&}&}&}&`}&Pe&h&@l&}&}&i&}&}&8u&g&}&}&}&}&}&}&}&}&}&q%-)`@Y0{ 0/` /0L&  / -/`(,-@`/j.~&~&~&&& &`&&&&&&&&&&b--`{)Z.)%.D$. @)0&@ //pм0&p T.W P & &&h&&&&&&&&& &8&&h&&&&&&X&&&8&&&X&&x&&&&`&&&& X&@&&p&@&&&&` 0'0 \;/ h''h'''''h''h''''''''0''0'''''0''0''''H''H'H'@'@''H''H'H' '' ''''' '' '''&X&&X&X&P&P&&X&&X&X&H&&H&&&&&H&&H&&&P'' ''h'x''@'P ' 00& `( - '' ''''' '' '''&&&& 'p ' ' ' ' ''('X'p& '' 'X '0'8 ''8 '`' ' ' ''(''''''''''''' ' ' ' ' ' ' ' ' ' ' ' ''''''h'h''''''@''@'''''@''@'''0'@| P @-+@ -P.-b @fq%-/`(` -//0'` @/j%p. 0 -0/# `/j`H'''I't'I'J'`J'8K'K'K't'8L'M'`M'M'N''@'''PN''('h' ' ' 'x!'O'Q'Q't'!'S'^'!'H#'t't't't't't't't'3$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1F)"7t't't'^'t't't't'$'H&'('' $'@U'U't'(')' *'*'(','(-'p-'@.'p.'@/'t'/'V'V'@W'0'0'`1'1'82'W'X4'W'4'X't't't't't't'5't't'5'(X't't'5't'6't't't't't'p7't't't't't'@8'`>'t'9't' <'>'X'Y'>'@?'?'t't' A'A'A't't't'`D'Z'0E'p['['`\'t'F'x]'G']'0H'(0'3'7't't'3't'T'@'2't't't't't't't't't'`-l-@Y0{0'0' x'@v 0'  08'p ej%p.'Pw0 '@< 8 -l% -0X'P C/؛ 'w P'u 0'0 0`'@< 'y%.(z.'`y l`{p(H{ ({P--`/j@0// - /0`' / ` `('kq%--@Y0{bx'`'a'@'t`'x''8'З''t`'t`'0'''h''b'Hc'd'e''f'0g'ph'i'(i'(i'j''''t`'j'H'P'j'Pl't`'t`'`'t`'t`'t`'t`'t`'t`'t`'t`'h''t`'t`''m'Po'0p'(m'''x'q'r'(s's'q'u'@v'v'Xw'w'Xx't`'x''''y'z'xz'z'P{''p}'P'}'' 't`'t`'t`'t`'t`'~'t`'t`'~'('H'''t`''t`'t`'''t`''('t`''t`'t`'X'x't`''x'8'''''X''t`'@'8'''t`'''x' 'H'@''0't`''H''ȯ'H'@y'|'('t`'t`'}'t`'' '{'t`'t`'t`'t`'t`'t`'t`'t`'t`'hg)@ a)n@]Г'P''h'H'H'h'H'('H''`-D$.'x'y0'P o%-/0' 0'0 G/(.0P'P 0@x' .`l%`.P], ..0h'` 0H'? o%.(y0'0'p 0'@ Л . 0'` @) 0' 0(' xH/.؛ j%p..({ 8 0x'@< Л 'u0'0 'Xl 0'0 'Pw'l@Y0{0'@ x'@v0' l% -0(0 H/ P], Л j%p.x'x 0 .0p(@ ...'u؛ .0(0 'Pw 0 (P x'@v-0pp( //X'l /08(0 `l%`.0(P 07(0 X(h [(t(p 0HM( L/\///&J@ &a 0(>(P ؛ -`/j.=-.009(| P&PI(0e08( 00( 8 0xS(| 00P( /pS---0( 0(  0e(@< `P/@- 0d(0 00d(0 00xc(0 0[(p /5-<7-;-x9-0xY(@| 0X( 0X(| [(/// 0X(( p8(}0P(< S/  8#0g(`? (>(}.X(h 0((| @]&J0X( 0t(@ 0~( 8 M(h|@Y0{0Hq(0 00hs(0 0r(@ P0|(< 0u( @0x(0 [/// P], xc(7({@Y0{/ 0x( [((>(}8(}|(`.@x%8 0X( 08(0 0(p 0Е(P 0X( [(/Į//(00@(| _/ 0(p &J@ 8(}/j --p )@(((( (8(((x((H((8(((((((0((0(`((0(((`(((8((( ))X))))0)h))x))p)(H)( ) ) )( )x )(@( ))(((()@( )H))(p)0/x& N - - -`/00(` `( |-0 /- --@@)P0-0)P< a/#43$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1$;<;1Fy >/5$w-X}7),+9nOaw/&9AcdoUoiyp M]|- HtIc(! bpv@r$,9At`l-8j"ppl)T ϕϤRmԲtK7 jE2(<$(zk6Lw(HXS2z/ v=W`q}Ra$rh7RTvou%/ lHo)$+COqv0N[[%1*GgH)f\OLM&9%\8ay8#M4LMGDVӺ H\QI# fj5\P2qcʒ_S;+LQi)1"YΪ_Dw&,uGksoj/7EH'kt\ILONfW~t %y,?bbpf΋f 78~BЪ7^'dL$5SfPNv,id^ps_>aoєaIx !rHڰ/di$MtX)4J@C!|4_Oe1Z͓F @Sԑn;[R"XkIW8^C@;SI+/a7DZqT2Sa&epK #\LG8~")OC\3xRG#䐺A([$]zGkI # P]xo @\YGfTQ%VxS_A GTy6aHZL1V3Ab!i簑-sЯ/Aa31ڐeoLZ9o0T}nbyW" mk8c} 342zus`%{zf~lf8vT=d8 ¹UAA]S|Q`T?`0/ג/K?*t)w/asSOz iRrZQ/*1#'զp o$˖eFm@n~OiR7^'}D5tu ;Ԝ]FC_E/hMVC?-.crߪpŷdy<9 7<&j-ae ^gg~V.oB=V54\[d4VHUq}q9C@KTO.9>`=2^jrC*c3tud6ꐍ_^3:eR _Ș%[wfG,yxR|{B"v@֦Jug|S@D jgcOԗU>zjFaJ{%Lxc-ݭi+1-e㘚Vn0/cF/\U_m-~kZbzʼ5r /> n)td>__}PRMinOut  Q#<]2!b83󠊪JU]6ܾUjXeni+)$'D\3szL0w-8GqDPɏϟeyؚ=؛/$5vl'4֑NA0tU:cb|~y$Qflvcel7r(J]b@Z]*3 dx$BSQ1xj5+\UIr{t;o>7v3bw+j': M`##DMiCriK,8KUuگTH&;~^aTOhs^t\ 3VJ`ӣ6̮TN2XdQo' 8'Q&g$GQ p 4B X) @C-i9}tnk^BT MX*sXԴ=ȴ)*]].U 6TNb6hChI. m);+wCtc 4m!n\"]~ [tOLtn6¥6jnXi\EyEr]` d q &w8=r\mx$CיI<68 ݗSr  t%!OQ4HN~r9%\RA! B4k+izV;h:TǠ(!YdT$.CxwҀV}"b' #[$/3}zpf,xk]Dkm6^* kV9:\J2TOo{^O@U;׵p flѸS)=KGH52It FRO[Cl$9hZƸisg&mwvji;%7%ď:B%\2j!kkc3!u1}%۴oO.e5lYw%*_5^ןCքiCdghw9 89w`ϮT]M]yg s^_y+%kvB$:4a|q9[(o-/zh .6K}ge=d<(bBq{#f]38ǁn;ÜH1yGrs>%%KL%wTW(7{< 64.xZtJv[b\xx"!3Rh1Mb7,jkBTNI}YF@L{Jc2׶op.{}9 g }eR Q 0=20I!\GKb[fXփ藘 ~SKq{.oq+inGz!{?mhgV=` 09`q˝rua3L̛gc'3Gj= *%99D;e(bhG >i@I0'C{j5-DfuoO6 Y5j`2:z]%:BM4|EI X9X:n8.pr#zz/b~zvnlЅDo ih1M@h }NCd+M&V<*]` ,%1yQS /nx^+4XzE]zcfZ3h37 d-t_"Y4YuMH&!Q>LĴ\Q79HiJK$m?ex4)㑵,OB#JYI~@Xu2+|[Y=ɜҚV1fVN6 P{]^$sAO \N=[Vk=ߤ}" vw@1e6z,Un/2 7%L+zbРG+imb0;nmTm+e!ki{w4A34r+r{ff53! qJN߫{}$%Zur1v ASI`.is'}4ͬ0utpXTzD!3 ;#<%HבNK͸o9lniI}XEL‡ ag!v76dtVAz WH~k7j*1v@O i 0 /4mϒ$cfx]$G }~G?L1 \ LAޜ^?:P<ɀ{Jhknfjsufl ߤ\m%&d}dlA.[}Eyjrz-?b8#&uob4idWjwz9#{<8%vE(n5/EhqN TzsCᘢ/Kg/I1o~LZC 6Y^x&d=`7i@n;VZbko}*<}5 ~6*R r@Bb!`mO F #;2n]{d r5y{da(,sp#Ȓ)p:%}}:V##jGw o=`CYnJf*tIqK!8Vtм4ujy~ u<$s 3~a^hiDm=nrbX}=4zM?{zuNE'=!r0H{sV%'eΊVydM\\ Qw=Us<$˴'HSw@<+%':y_wfhrirHf5(BeI:/02z!h3g,.k4GNW>l;zeu8w 54W uXYS73 Qh` 4{Y,Xg1Uqs4(<3&`` q)9 QZ'd2mU `y+i~qzwvupWAXĖ!Llf(S@^erSl)n@0.(3+~_ޝ5 3GRb~-#rpTpip%rQd+a;gLB(e13Z5,txy~9U1dLK1vCZ H^nmLUAM#DL)RQZy&JO`O< 8)5l0d.P5 h {\ANd!$&wLQ1"s:aHI M\.$->'S mÿ*_!( l;1 ,p7928B\F7D4$#q`@xmMS$K94{hW+Hi;SJ"VT6 ,Z8*S1HÓ;u@[S5`UHu3sKX;~&>-`A leF9vqoǀ@UJ<&U%A >6 k"3NSQ `] 70+6y#.[HCzu1eH\7&t.McFgshM^"3bl|zj!R1[M&gf^P L18X7%"0[,;6xB v&e:MA0Ew "-59EEA5WD:K < ?ta(KW^4gXRYhtTiQ6Tl|P R)(ZbI`*f7. fAZ: ld4a*XV[Mo: O%AE@U*Wr!!5wu{\3 ٷz頸GnrMXLѮD_0#z-2toHe.Jr0+1^vY&|OQiFn_IEGJ2CWA ;WC+$"x;A&*0Wg/0*NTH }xQӜ4HV !"Mg9JxCB0"'XFZrZmo}?tz9pq+/kVm$?j#, i"6.hyK\TQw7iTp"wR i#NtDo-%/-c\rXDiNBA2$D;_|enfT>P! '#V"h]C_csszmcƑeHcYG]`1&Fei*C:Y&|pOoX/k+PsU+JZ/Y(y` 3')n8QnfI C* -,Va*ABZr5Nm97+59L<1cN듉R!6< M\u_=e X3a6U4|hU:'~~}DSi},b(+I^=qc%o]`*2%"!;qh{td&`șK獪ţe;۩̪R~s,ic!;+a "'!-l`P˫o{"cd{qV.=l**.(OR7xdj;ˆtw̌2, >'4w!g:jx}tR]Te!t9z2YbykjLL\_yhGǧ!2_M;]J ;6RJ57K@5w!nR=qVBk88-yjDcQ!914.~5_uz+igryPy[s'(|SGR:?OBgW<davu,*c>^} 3#*(h+o$79t}H`w}Éj#Kj7Dxwj^(H%[6s- {,80hRF&!)[nh3V;Õ"ge|H mCT G0z 0 tuP/Zv`w :>7 5Dgpdb2?1 d!0#nn71<~gf >*5>3qcSz,(FsL?hFsєYHQ3+Y[Z` @$E @.4%b"lZ+orr rGh!>+)pd0Açc'5jvrw*G!ç Źq52nKjO ,aF(k_q;vc&.z0:"79 2+e7%(7`8IOls J>'77+tn`k6dXN9t0~M"i5s}KsbsuQ1"KI> /!q{C>*Vodu5~e" WBb*ak/*Y$E1Gb3i Fg:|,tV90,)yty/k.!2.fxRTH<W-Ez [r1aoR3pWj4QH/[s^CI%sStrP]IG\PctI]' A]rZC[4LD|?mK밍G"-,eJa_UomU~W~|.>((ut;a<0J_ ۱uLF{RpJvLUkqswhvp}R8lKO{`vBx'NSDAZ\ 3$+BQB!Pj>{K"^Y Ni{0M(g:`+ 9L:^|0[YCSyH2ʇO@|ġO LA"+ʓy7GFX[<;e/RIs`Q; bp(ee|>/",VAL+t**p8+:+6+8)h*й* ( `* 0()`   P* ?+:+X/+7+*09+*Ⱦ* P2+*0 ) @0)0h)P| 0H)08)0)0 0)@ 0 )P| 0)0 0)` lh/X/+@-+@0x) 0@)@<  08) 0@) 0) 0)0) 0)0)0`)@< h +0()@< 0)P| /'/0 )0 p/0) 0P) 0)@| 3+X*ȜX 0)@< 0p) 0)@< p+H0)@ 0)@ 00)  0)@< ף`/j:+@0*0P*` +pp+H@*p+0*` +p00h*` ` 0(*@ 0*0 0 +0* (+P@u)0/8t)h/0p+ /0 + 0h +0 *+00+0 0P+@| 0H+p 0h+p 0+0+0+@ @-+@0@+@| ,+p0 H+@ 0*0(*@ 0*0*0 0+ 0p*0 +@ 0h + 0( +| 0h* 0* 0H+p 08+p 00*`< $+p00P*p +0*008*p 0+0+@< @P2+ ;+0 +0 ء/ 0( +@ 0 +P< 0*+@| 0((+p 0$+p @-+@X/+/;+0"+` /0P+ *Э`@+0 G+P 0+@| 03+0:+0(:+P l `0:+09+03+P $/h+PP+ `/j009+0 07+0 0p8+0 06+@ 03+03+02+0 0P2+0 08X/+ 0(-+ 0@-+0 08-+0 ,+P 0X;+ 08;+0 ;+0;+0G+` // ȭ @-+@ 00C+ Я/)0B+0B+0(R+ /00 PO+P @08A+P *;+0?+@ *80 ?+0 X/+0>+0p>+7*$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1F` j0 P2+0=+0 08=+0 ,+p ;+0;+@| X;+8;+0( //@00 /000 0 0 0@0 (  d'@Bʚ;  ()*+ d'@Bʚ;<G8QUX H{%;#K ж%YJ^MDb;uj= bڸ#MPu8oƣJy©?7rbcΔ'j:b.hԽBxDuBpV4ꍛs cccccccd"d"d"d"d"e'e'e'e'e'e'e'&.&.&.&.&.&.&.'5'5'5'5'5'5;;;;;;;BPJG@Z]q$~({qޝhb!q&Ui ;+*\[z@g7._⼺;1axl}9V"Suu\TӒsi$$wÿ-ԵJbڗ;5H~t۝Xv%QӮS;uD'm,{tPd弥a}J]I62w[Mľ٬:|\ 5$KB.̈Po ̼$ 믿ۗ6A_paw̫BzՔֶil7#GGŧ,eX;On ףp= ף@P$ (k@C*焑 1_.@v:k #NJbxz&n2xW ?hӠ@aQYȥo: '΄ x9? 6Ngɖ"E@|op+ŝL67V߄\l: {Η H½ Pv1P?%O7и'ƫCưp\{2~]o0b/5E=!dhknrux| "%(,/269<@CFJMPTWZ^adgknqux{QӮeMq3Ag˻zNdP#vڍMS T]"%oDzw,n% DHZ;S    " " " "    GGG((( *$*$*$*$K'K'K'***: 'fPKS^=ߕ^Tjᕝ_vIξTSܷ dp폔ܔs}cO 5v)/@i``````` # # # %%%HHH!!!!*%*% ( ( ( (,+λm:-6aU,$Db6j7֖6gE6aKSO179(L67% =k7Ww'&l7-U/7x8 8BA8r.-Du8z8IL8\w93#I9he99KH9G^Z9`P:<6S:ˮ@ˆ:}:W:Q@-(;^ 9^;O ;#B ;ҶOɃ;C]r2:0yE>Hz>ư>h㈵>-C6?MbP?{Gz???$@Y@@@@j@.AcAחAeA _BvH7BmB@0BļB4&k C7yAC؅W4vCNgmC=`XC@xDPKDMDJ-DyCxD(,* E52TEqىE/'E!1Eꌠ9Y>)F$_FnFF"F|FMraB3G yhGiWCG*GJH\)c=H7]rHaxHyֲHL}YI\CkFI3T|I\'I^ 9^;j7֖6P:2 ǼH.D|)޷ET%u?j/ ȮSd>?- }+) MB~O{ \Hz\/u5%P7xf @,1BBB d d d hhkkkL!L!L!-$-$-$.&.&O&p&MDyֲHrbnMz5߼Qҟ&V;/V[EW`VfYdsTNNe VBij㒻Tmz42q/Ngvۗ:5P{3t<{aaa"" fff'ii    ###n&/kP&/j '0'@0`&P$&p$PP$/j (@''0('p"PP0P"//б/h0p@P/h &0&&p` ' `$ @/j/@ 0/i /l` 0(  "0p/Xk`/j /l`/kC/(k/PjP/i/`//@/0j/j0_/00? `?0/ j'/j`/8k@/i/D/j /k/pj@/`j@/k?`"`0&` '/k@/k&`' @P0@&&``@'PP?%p&&@0"p"@p@"0"0'p'P'(''`'p@0/k&0&0&p&0`/j/Hk@00Ȕ? /k@/j$0$2 T_RETURN_OP18VK$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1FQ{$(04z c4z c{ o.cW$2T_BINOP T_BINOP_INT T_LOGOP_INT T_RELOP_INTpp T_BINOP_IU32  T_LOGOP_S32 T_LOGOP_L32 T_BINOP_REAL$(0t4cWt4cWt  'TW444p ) Wt  W  c W$2 T_BINOP_REAL16$$ T_LOGOP_LOW T_LOGOP_HIGHT_RELOP_INT_COM$(04z c4z cW{ o.t'5cW$2T_RELOP_COM_INT$(04z cW{ o.cW$2 T_BINOP_L8_U T_LOGOP_L8_U$T_LOGOP_L_L8_U T_RELOP_L8_U$(04z cW{ o.cW$2 T_BINOP_R8_U T_LOGOP_R8_U$T_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_16~T_BINOP_16_R8_U~T_LOGOP_16_R8_U$(04z c4z cW{ o.cW$2 T_LOGOP_C2$(0}t4z cW{ o.cW$2T_LOGOP_C2_R8_U$ $(04z c4z cW{ o.cW$2 T_LOGOP_C1$(04z c4z cW{ o.cW$2$H T_LOGOP_L_C2$(0}t4z cW{ o.cW$2$T_LOGOP_L_C2_R8_U$ $(04z c4z cW{ o.cW$2H$ T_LOGOP_L_C1$(04z c4z cW{ o.cW$2 T_LOGOP_C1R$(0}4z cW{ o.cW$2T_LOGOP_C1R_R8_U$ $(04z c4z cW{ o.cW$2 T_LOGOP_C2R$(04z c4z cW{ o.cW$2H$ T_LOGOP_L_C1R$(0}4z cW{ o.cW$2HT_LOGOP_L_C1R_R8_U$ $(04z c4z cW{ o.cW$2$H T_LOGOP_L_C2RpT_BINOP_IU32_R8_U$(04z cW{ o.t'5cW$2T_RELOP_COM_R8_U$(0}gt4z cW{ '=cW$2T_IAND_COM_R8_U$ R $04z cW4{ o * cW$2 T_ABS_INT1$04z c{ o.cW$2 T_ABS_REAL1T $04z cW4{ * cW$2 T_ABS_REAL161lRR $04z cW4{  o o@ *cW$2 T_ABS_INT128$(04z c4z c{ o@ .cW$2T_ADD_DL5$(04z c4z c{ o@ .cW$2T_ADD_DR5$(04z cW{ 'cW$2 T_ADD_L16$(04z cW{ 'cW$2 T_ADD_R16 $(04z c4z c{ o* cW$2 T_ADD_SUB_C $( $0 4z c4z  c{ oo* cW$2 T_ADD_CONJGl $(04z c4z c W444{ o* cW$2 T_ADD_INT1285l  $(04z c4z c W444{ o* cW$2 T_SUB_INT128@292 9 29 9 l2lllX55>5 Q  $(0t ? 4z c4z cW {        * W444 c W$2 T_MUL_J_J_J_OVF 2   $(04z c4z cW{ * W * W * W444cW$2T_MUL_J_J_J_NOOVFT_MUL_V_V_V_IGNP2W  $($ 04z c 4z  cW{   * 8W444cW$2T_MUL_J_J_I_NOOVF' @2 $($ 04z c 4z  cW{  * W444cW$2T_MUL_J_J_U_NOOVF' 2 9  9  $($ $$0t? 4z  c$4z$ cW {  * W * W * W9$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1F"444c W$2 T_MUL_J_I_I' @'$@2 9  $($ $$0t? 4z  c$4z$ cW{ * TW * |W444cW$2T_MUL_J_I_U_NOOVF' @'$2 9  $($ $$0t? 4z  c$4z$ cW{ * W * W444cW$2T_MUL_J_U_I_NOOVF' '$@2 $($ $$0 4z  c$4z$ cW{ * W444cW$2 T_MUL_V_U_U' '$$(04t  cW4t  cW44p)WtWcW$2 T_DIV_INT128  $(04z c4z c{ ojo* Fo* cW$2 T_CADD_CSUB_C $04z c{ oFoo* cW$2Xdl T_NEG_CONJG_C $(04z c4z c{ o* cW$2T_CMPLX  $04z c{ o* F* cW$2`p| T_IMAG_REAL$(04z c4z cW{ '5cW$2 T_EQV_COM$(04 c4z c o.o.cW$2T_MAXMIN$(0t4ccWt4cW44p)Wt  W  'C W4 cc- W$2T_MAXMIN_REAL16$(04z cW{ ?c'F'cW$2ht| T_MAXMIN_ZERO$(0s4z cW{ '7cW$2T_IAND_BYTE_MASK$(0}4z cW{ '9cW$2 T_IAND_R8_U$ $(04z cW{ }c'VcW$2T_MAX01$ $04z c{ o.cW$2T_NEGTT?5 $04z c W4{ * LcW$2 T_NEG_REAL16$04z cW{ 'cW$2p T_NEG_S32 T_NEG_ANY_D1 T_NEG_ANY_D2l $04z cW4{  oo@ * cW$2 T_NEG_INT128$04z cW{ 'cW$2 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$($ ($0 4z c4z  cW{   %%&.cW$2 T_BYTESHIFT  $T_BYTESHIFT_R_L32  $pT_BYTESHIFT_L_L32  $Bb@Q ?b@Q  b@Q?  $(04z c4z c 4W{     * $  N P ' 'E - t8Ft0  *`$   F*$  c W$2T_SHT_SH_32$(04z c4z cW{ o8 '8.F':.F'9.P 'Ft 8Ft 0' .' cW$2 $T_SHR_SI T_SHR_SI_L32$(04z cW{ o8 '8.F':.F'9.Ft8Ft0'.'cW$2 T_SHR_SI_R8_U$ ? T_SHRA_SIT_SHRA_SI_R8_U$ ?T_SHRT_SHRA T_SHR_R8_U$ ?T_SHR_L_64_R8_U$ ?pT_SHR_L_32_R8_U$ ~T_SHR_L_16_R8_U$ T_SHR_L_8_R8_U$ T_SHR_8_64_R8_U$ 8pT_SHR_8_32_R8_U$ ~T_SHR_8_16_R8_U$ T_SHR_16_64_R8_U$ 0pT_SHR_16_32_R8_U$ T_SHR_32_64_R8_U$ 0 T_SHRA_R8_U$ ? T_SHL_R8_U$ ?$($$( 04z cW{ 'cW$2pT_SEXTL&   $ $($$( 04z cW{ } t&'cW$2p T_EXTBL_M_32%  $ T_EXTBL_M_64%  $$($$( 04z cW{ } t&'cW$2p T_EXTWL_M_32%  $ T_EXTWL_M_64%  $$($$( 04z cW{ } }$t&'cW$2p T_EXTBL_S_32%   $ T_EXTBL_S_64%   $8$($$( 04z cW{ } }$t&'cW$2p T_EXTWL_S_32%   $ T_EXTWL_S_64%   $0$($$( 04z cW{ } }$t&'cW$2 T_EXTLL_S_64%   $ $($$( 04z cW{ }$t&'cW$2 T_INSBL_M_32   $ $$T_INSBL_M_32_L   $ $$ T_INSBL_M_64   $ $8$$($$( 04z cW{ }$t&'/cW$2~ T_INSWL_M_32   $ $$~T_INSWL_M_32_L   $ $$~ T_INSW:"$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1F-k"L_M_64   $ $0$$($$( 04z cW{ } }$t&'cW$2p T_INSBL_S_32%   $ $$ T_INSBL_S_64%   8$ $8$$($$( 04z cW{ } }$t&'/cW$2p T_INSWL_S_32%   $ $$ T_INSWL_S_64%   0$ $0$$($$( 04z cW{ } }$t&'cW$2 T_INSLL_S_64%   $ $ $$($$( 0$2 T_SH_32_LOW_8 $ * $ T_SH_64_LOW_8 $ 8* $$($$( 0$2T_SH_32_LOW_16 $ * $T_SH_64_LOW_16 $ 0* $T_SH_64_LOW_32 $  * $$($$( 04z cW{ } t t~'9cW$2 T_SH_MASK_32 $ * $$($$( 04z cW{ } t@t~'9cW$2 T_SH_MASK_64 $ 8?* $$($$( 04z cW{  } t t~Z'9cW$2T_SH_BIGMASK_32 $ * $$($$( 04z cW{  } t@t~Z'9cW$2T_SH_BIGMASK_64 $ !7* $$($$( 04z cW{ } t tx'7cW$2T_SH_BYTEMASK_32 $  * $$($$( 04z cW{ } t@tx'7cW$2T_SH_BYTEMASK_64 $ !7* $$($$( 0 $4z cW{ '9'cW$2T_SHL_R8_U_AND_R8$ $$( $0 4z cW{ t'9'cW$2$T_SHL_R8_U_LSBIT$  T_SHL_INT$(04z c4z cW{ o.P 'cW$2pT_SHL_32p T_SHL_32_L32$(04z cW{ o.P 'cW$2plt T_SHL_32_R8_UpT_SHL_32_L32_R8_U$(04z cW{  .cW$2T_SHL_1 $(04z cW{ 'cW$2p T_SHL_1_S32 p T_SHL_1_32 $(04z cW{  .cW$2T_SHL_2 $(04z cW{ 'cW$2p T_SHL_2_S32 p T_SHL_2_32 $(04z cW{  .cW$2T_SHL_3 $(04z cW{ 'cW$2p T_SHL_3_S32 p T_SHL_3_32 $(04z cW{  . .cW$2T_SHL_4 $(04z cW{ ''cW$2p T_SHL_4_S32 p T_SHL_4_32 $(04z cW{  . .cW$2T_SHL_5 $(04z cW{ ''cW$2p T_SHL_5_S32 p T_SHL_5_32 $(04z cW{  ..cW$2T_SHL_6 $(04z cW{ ''cW$2p T_SHL_6_S32 p T_SHL_6_32 $($$( 0$4z c4z$ cW{ o&.cW$2 T_ADD_1_SHL5 $ $($$( 0$4z cW{ o&.cW$2T_ADD_1_SHL_R8_U5 $ $($ ($0 4z c4z  cW{ o&.cW$2 T_ADD_2_SHL5 $ $$($ ($0 4z  cW{ o&.cW$2T_ADD_2_SHL_L8_U5 $ $$($$( 0$4z c4z$ cW{ o'.cW$2 T_SUB_1_SHL@ $ $($$( 0$4z cW{ o'.cW$2T_SUB_1_SHL_R8_U@ $ $(04z cW{ g'cW$2 T_SUB_R16   $(04z c4z c      4 4 { o o o *DN cW$2T_MUL_C  $( $0 4z c4z  c      4 4 { o o o *O cW$2 T_MUL_CONJG           $(04z c4z c      4 4 W{ o .o /o0o1o2*Q   N \ F\ *DQ  cW$2T_DIV_CV::99bX   7               $(04z c4z c            44 _ #  W{;!$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F " oooo *TS  N* S *S  * T N\F\*TcW$2LTX T_DIV_C_DBL     $(04z c   4W{ o .o /o 0o 1o 2?* V N \F\*W cW$2 T_DIV_C_ONE;V::99bX   7           $(04z c          4 4 _ #  W{ oooo ?*X N* $Y*8Y  *dY  N\F\*Y  cW$2(04T_DIV_C_ONE_DBL; $(04z c4z c{ o* [cW4$2 T_CMUL_CDIV_C9B  : E V9B  :E $(04z c{ t   P *|\ Ft*\ cW$2dxT_REM_INT_P2_LIT8_16" 9B  : E $(0}4z c{    Z* (^cW$2T_REM_INT_P2_LIT"> $(0}t@4z cW{ * ,_cW$2 T_ROT_LIT?  > $(0}g4z c  d'8tF':tF'9t W{ *` N dP 'cW$2Xl T_ROT_LIT_SI?T_ROT_LIT_SI_L32?$(04z c4z cW{ ''''>cW$2T_ROT_TN$(04z cW4z c 4W{   dt '9Ft ':Ft '8''9 '9 '''>N dP 'cW$2  T_ROT_TN_SIT_ROT_TN_SI_L32$(0$4z cW  o.o.W2T_RELOP_IZERO_FLOWT_RELOP_IZERO_FLOW_U$(0$4z cW  o.o.W2T_RELOP_RZERO_FLOW$(04z c4z c{   t   o.'T o. 'T - cW$2 T_RELOP_REAL$(0t4cWt4cW44p ) WtW  c W$2 T_RELOP_REAL16$(0$4z c4z c   o.o.o.W2T_RELOP_REAL_FLOW$(04z c4z c{ o.cW$2T_RELOP_REAL_NZFPT_RELOP_REAL_NZFPC5Q $(04z c4z c    W444 4 { o8llkkZZ*Lh  cW$2T_RELOP_INT1285Q5 $(04z c4z c    W444 4 { t o lkZ*i   cW$2T_RELOP_COM_INT128T_RELOP_INT128_COM $(04z c4z cW{   44t t oFt t o  o. 'T . * k . 'T - cW$2 T_EQL_NEQ_C $(0$4z c4z cW    44" " ooF" " ooo. . * Tl . . W2 |T_EQL_NEQ_C_FLOW$(0$2T_EQL_ZERO_NON_COM$(0$2T_EQL_ZERO_LOW_NC1$( $0$2T_EQL_ZERO_LOW_NC2 6$(0$2T_EQL_ZERO_NON_FP_COM$(04z cW{ '5cW$2T_EQL_R8_U_NON_COM1T_EQL_R8_U_NON_COM2$( $0 4z cW{ '5cW$2T_EQL_R8_U_NON_COM36$(04z cW{ g'cW$2T_EQL_R16_NON_COM $(04z cW{ g''ZcW$2 T_EQL_R16 $(04z c4z cW{ '5cW$2 T_EQL_NON_COM$(04z cW{ tg'cW$2tdT_RELOP_R16_HIGH T_RELOP_R16_HIGH_COM $(04z cW{ NabFkl.cW$2pT T_GXX_ZERO$(0$2T_NEQ_ZERO_NON$(0$2T_NEQ_ZERO_LOW_NON1$( $0$2T_NEQ_ZERO_LOW_NON2 6$(0$2T_NEQ_ZERO_NON_FPT_NEQ_R8_U_NON1T_NEQ_R8_U_NON2T_NEQ_R8_U_NON36 T_NEQ_NON$(04z cW{ 'lcW$2 T_NEQ_ZERO$(04z cW{ '5'lcW$2 T_NEQ_R8_U T_NEQ_R16_NON $(04z cW{ g''lcW$2 T_NEQ_R16 $(0$2 T_LSS_HIGH$(0$2T_GEQ_HIGH_COM$(04z c4z cW{ <,$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F'YcW$2T_GEQ_UBYTE_L8_L8T_LSS_UBYTE_L8_L8$(04z c4z cW{ 'YcW$2T_LEQ_UBYTE_L8_L8T_GTR_UBYTE_L8_L8$(0}4z cW{ 'YcW$2T_GEQ_UBYTE_L8_LOW$ T_LSS_UBYTE_L8_LOW$ $($ ($0 }4z  cW{ 'YcW$2T_GEQ_UBYTE_AND_LOW$  $T_LSS_UBYTE_AND_LOW$  $$($ ($,(0 }4z  cW{ 'YcW$2T_GEQ_UBYTE_EZV_LOW$  $ (T_LSS_UBYTE_EZV_LOW$  $ ($(0}t4z cW{ 'YcW$2T_GTR_UBYTE_L8_LOW$ T_LEQ_UBYTE_L8_LOW$ $($ ($0 }t4z  cW{ 'YcW$2T_GTR_UBYTE_AND_LOW$  $T_LEQ_UBYTE_AND_LOW$  $$($ ($,(0 }t4z  cW{ 'YcW$2T_GTR_UBYTE_EZV_LOW$  $ (T_LEQ_UBYTE_EZV_LOW$  $ (T_MULH xДXDDDDE4E+l(T4ܐؕ0Ъ(TIIhFFGDGFFpGG HLHGGH(ITIIJ0J\J \d,ĮtH,԰Xܱ`4@|,|,  8adaaaab@blbbbbcPd|d0` LtH̯X ̎x(ضP$,  eef4f`ff`tH̯X ̎0P$,  eef4f`ff` č$ԏLHt̙0\P`<hDpȓč$ԏHtP`<hDpȓ ,Xܛ4`č$ԏHtP`<hDpȓč$ԏHtP`<hDpȓtH@,е\ ,  dde,eXee a tH@,T,  dde,eXee`HtHtl0 8d $P|ԚlXDDDDE4E/ĮtH̯<hȴDpX̎ |P$,  8adaaaabHctcccc$dPd|d\`8d@l<h"<hDpȩ Lxؠܦ@l4`%pȞ LxП(T 8dģHt|ԥ,X̤$P LxП(TD̤$Plثܐ4ؕ\IIhFFGDGpGG HLHH(ITI074WcW$2 T_ACCESS_REG20$74W o .cW$2 T_ACCESS_MEM2$04W08JcW2 T_ARG_REG_01@$0_#W08JXW2 T_ARG_REG_02@H$0W08JXW2 T_ARG_REG_03@L$008J[W2 T_ARG_REG_04@$0W8JXW2T_ARG_STKFRAME@6$04z cW008Jo.W2 T_ARG_MEM@0W{ XcW$2 T_ARGPTR_TNH0$2 T_ARGPTR_AMH$0WRwW2,0T_CALLkH$0_t4#XWRwW2PTT_CALL_SYM_ADDRkH$04tcWRwW2@D T_CALL_ADDRk0 2 T_ENDPROLOG0-W2T_ENTRY0WW2 T_INITCALL0$2 T_LENGTHREF07W2 T_PARMALLOC$0WV #XcFW$2 LTT_STRLENGTH_FSL1T_STRLENGTH_FSTRT_STRLENGTH_FSUBT_STRLENGTH_STRT_STRLENGTH_SUB T_STRLENGTH_FSTRA!T_STRLENGTH_FSUBA"T_STRLENGTH_STRA#T_STRLENGTH_SUBA$$04z c W2 T_PARMTEMP074WcW$2 T_RESULTREG 0 4W ccW$2 T_RESULTTMP0W2T_RETURN$04W7cW2 T_RETURNREG04W XcW$2 T_TEMPREFL0$2 T_TEMPREF_AML02 T_NOP_ACTIONSpxȸ Lй(T  8d$0$2 T_RETURN_OP1  $04z cW4 _4{ #to N. 'FND'FQ do 0. F* @ F* h cW$2T_CAST_FIX_FLOATl $04z cW_4#tW{ o8 N0QD* ̔F. do':.F'8F':N`'9cW$2T_CAST_FLOAT_FIXl         $04z cW_4#t  { ?o 8 o(`0@ . .F `B0*4 F. .F* d F `B0*  F* Ė F*  F( `  0 @ *D F*  F* =~O~$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FC" F*  cW$24H\pT_CAST_FLOAT_FLOATl$04z cW{ o.cW$2 T_CAST_INT_64 T_CAST_INT_32$T_CAST_INT_LOWHT_CAST_INT_LOW_COM T_CAST_INT_L8~T_CAST_INT_L16pT_CAST_INT_L32 T_CAST_64 T_CAST_64_COM T_CAST_64_NEG T_CAST_64_LOWT_CAST_64_LOW_COMT_CAST_64_HIGHT_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_LOWT_CAST_32_LOW_COMT_CAST_32_HIGHT_CAST_32_HIGH_COMT_CAST_32_NONZERO T_CAST_32_NONZERO_COM T_CAST_S32_32 T_XCVT_32_32 T_XCVT_S32_32T_XCVT_S32_S32Z5 $04z co)Q   * FW{ .cW$24@h T_CVT_INTT_CVT_INT_INRANGE T_CVT_INT_ADDR64$04z cW{ 'cW$2T_CVT_INT_ADDR32T_CVT_ADDR_INT$04; XcW$2T_CVT_ADDR_AM_INTT? TT $04z cW{ N@Q* DF* hcW$2LhXxT_CVT_INT64_INT128T $04z cW{ * 4cW$2T_CVT_INT128_INT64$04z cW4{ cW$2T_CVT_INT128_INT128$04z c_4W{  #'o'?.F'?.cW$2T_CVT_INT_REAL$04z c_4W { #  '9' o '? .cF'? .cW$2T_CVT_UINT32_REAL?B   E $04z c_4W { #o   * Q@\' F\''* 4 cW$2T_CVT_UINT64_REAL$0t4cN'9W4p)WtWcW$24<T_CVT_INT_REAL16Z5 $0t4cWt'TW44p ) WtQ   * ԥ W  c W$2 |T_CVT_REAL16_INT$04tcWp)Wt WcW$2T_CVT_INT128_REAL$04t0cWp)WtWcW$2T_CVT_REAL_INT128$$04;7hW68{   o.oN '.F.cW$2T_CVT_INT_REAL_FETCH#7 $04z c{ o .* cW$2T_CVT_REAL_CMPLX1 $04t0cWp)Wt * WcW$2T_CVT_REAL_CMPLX2$04{ ccW$2T_CVT_CMPLX_REAL1)$04z c{ o.cW$2T_CVT_CMPLX_REAL2$04t0cWp)Wt WcW$2T_CVT_CMPLX_REAL3$04z c{ o.cW$2 T_CVT_FLOATT_CVT_FLOAT_DBLE$0t04cW4p)WtWcW$2T_CVT_REAL_REAL16$0t4cWt'TW44p ) Wt W  c W$2 T_CVT_REAL16_REAL $04z c{ o* cW$2 T_CVT_CMPLX1   $04z ct 0t  * @Wp ) W   c 4 * PWp ) W 4 * ` WcW$2 T_CVT_CMPLX2$04z c_4  { #o . Q@o . 'F'o . cW$2 T_REAL_INT$$04z cQ@  F  o.Q@o.'o.cW$2DXhT_REAL_CVT_REAL_INT6T_REAL_ROUND_REAL_INT6T_REAL_TRUNC_REAL_INTN6T_ROUND$04z c  \W_4{ #'mo . o  . Q@o . 'F'o . cW$2 T_ROUND_IEEET_ROUND_IEEE_Xmmh:  mmg $04z c   444{ ? o\\  *  F*\ cW$2T_ROUND_REAL_IEEEmh:  mg $04 c   ?\ *F* cW$2PhxT_TRUNC_REAL_IEEEm_ $04z c   W{ 444? N\* cW$2T_ROUND_REAL_VAX$04t0cWp)WQt FtWcW$2TH\ T_RTL_A_RV T_RTL_A_CV T_RTL_R_RV$(04Qt 0Ft  cQ '9W4Qt 1Ft  cQ '9W44p)WQt FtWcW$2,8@tX` T_RTL_A_AV_AV$(04t 0 cW4Qt 2Ft  cW44p)Wt WcW$2HT\GEM_CG_T_RTL_C_CV_CVGEM_CG_T_RTL_A_IV_IV$(04z c _ c W4zQx  F  c_ c Wt  # X Wt  # XW4 44 4 p)WQt FtWcW$2Xl|  T_RTL_A_AR_XR$( $ $$0$4; 7  h Wt X W4; 7  h Wt X W4 4 >}Y$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Fs"p)WQt FtWcW$2T_RTL_A_AR_M_XR_M77 $04z c_cW_t# X Wt # X W4 44p)W$2 T_RTL_RR_RR$(04z c _ c W4z c _ c W_t#XWt  # X Wt  # XW4 4 44 4p)W$2T_RTL_RR_RR_RR$(04z c _ c W_t# X Wt  # X Wt 4 cW4 4 44p)W$2T_RTL_RR_RR_IV $04z c  t0o .o 0o2*t Wp ) Wt  { . cW$2 T_RTL_CABSZ5 $(04Qt 0Ft  cQ '9W4Qt 1Ft  cQ'9W44p)WQt Ft   Q  * WcW$2,8@tX` T_PWR_A_AV_AV$$0$2 T_XCVT_ADDR6$$( 04z cW{ 'cW$2 T_XCVT_SHL_1Y   $$( 04z cW{ o&.cW$2 T_XCVT_SHL_2Y $ 8@8@\0 8ؾ|Ht$Pd@lH,X 84`<h(TLx  DpJJJ K8KdKKKKL@LlLLLLMHMtMtMMMM$NPN|NNNO,OXOOldll@d@@0\ d\0 8H= =8 = =0 =:9 =@ =>E  ==> ==> ==> ==> ==> ====>>   =W> =W =/]> =] =:9/]> @ =.\>E =/]> ==./\]>> ==\] ==XY>> ==XY == %Z[>> ==Z[    == %Z[>>== %Z[>> ==Z[==Z[ 8==XY>> :== %Z[>> :== %Z[>>:== %Z[>>   = ;W>? E = ;/]>? E = ;/]>9?k:  E ;.=>@E 9C  = ;Y>9? kC ;X>@E  E 9C  = ;%[>? ; Z>@E  E =89W> =?Df$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Fz"89/]> =89/]>k:  8=>E 9C  =89Y>8X>E 9C    9C  E  =88% [Z>> E $(04z c4z cW{ ' cW$2T_AMINUS_ADIFF$(04z cW '94z cW{ ' cW$2T_AMINUS_UINT32$(04z c4z cW{ 'cW$2 T_APLUS_GEN$(04z cW '94z cW{ 'cW$2T_APLUS_GEN_UINT32T_APLUS_GEN_Z32$(04z c4z cW{ 'cW$2pp T_APLUS_32$(04z cW{ 'cW$2p T_APLUS_32_R8T_AMINUS_ADIFF_NEGT_APLUS_GEN_NEG44 $(04;W44;W{ * 4cW$2T_APLUS_AM_GEN>$(04;4; W$2T_APLUS_AM_GEN_AM>$(04;}KW{ K'4cW$208\d T_APLUS_LIT>$(0;}W$2T_APLUS_LIT_AM>$($$( 0$4z c4z$ cW{ o'.cW$2 T_AMINUS_SHL $ $($ ($0 4z c4z  cW{ o&.cW$2 T_APLUS_SHL $ $T_APLUS_SHL_UINT32 $ $$($  $$ ((0$4z c4z$ cW{ o&.cW$2 T_APLUS_SHL_XY $ (T_AMINUS_SHL_NEG $ $T_APLUS_SHL_NEG $ $($ (, $$ ((0$4z c4z$ c W{ }( '9 }( ' 'cW$2@T_APLUS_SHL_IAND_0 $ ($ ,$($ (, $$ ((0$4z c4z$ c W{ }( '9 ''cW$2@T_APLUS_SHL_IAND_1 $ ( ,$($ (, $$ ((0$4z c4z$ c W{ }( '9 o&.cW$2@T_APLUS_SHL_IAND_2 $ ($ ,$($ (, $$ ((0$4z c4z$ c W{ },t & ''cW$2@T_APLUS_SHL_IAND_3  (,$ ,$($ (, $$ ((0$4z c4z$ c W{ },t & '/'cW$2T_APLUS_SHL_IAND_4  (,$ ,$04E#{ XcW$2T_BASEDREF_GENW$0$2T_BASEDREF_GEN_OFF0W4$04E#W$2T_BASEDREF_ADDRW$04EW$2T_BASEDREF_ADDR_AMW$068h{ KccW$2@DT_FETCH_AUTO_NODEFERH4&$068hW$2 T_FETCH_AUTOH4&$0WRO14;7KhW68{ Ko.cW$2HT| ,,( T_FETCH_GEN#$0W4;7KhW68{ K'8cW$20<dlT_FETCH_GEN_B4_S32# $0WRO 1R14;7KthW68{ Ko* cW$2Xl8< ,,(T_FETCH_GEN_CMPLX8# $0WRO 1R14;7KthW468{ Ko* cW$2Xl8< ,,(T_FETCH_GEN_OCTA#$0W68 W44;7KW4{ K* cW$2DLtT_UFETCH_UBYTET_UFETCH_BYTE_LOWT_UFETCH_BYTE_Z8$0W68 W44;7tKtW4{ K* cW$2P`T_UFETCH_SBYTE$0WRO 168{ W44;7K* P Q'cW$2l ,,(T_DFETCH_UWORDT_DFETCH_WORD_Z16$0WRO 168{ W44;7tKt* cW$2x ,,(T_DFETCH_SWORD$0WR168 {    W444;7Kt*  P Q'cW$2x $T_PFETCH_UWORD#*T_PFETCH_WORD_Z16#*T_PFETCH_SWORD#*$0WR 168 { W444;7KP P @P  ( D t* 'Ft* Ft* p'Ft* pFt* cW$2lp| 4T $ T_UFETCH_QUAD T_UFETCH_LONGT_UFETCH_LONG_Z32T_UFETCH_LONG_S32T_UFETCH_UWORDT_UFETCH_WORD_Z16T_UFETCH_SWORD$0R168  _W4;7tW4444#t`3* F* W$@ Ί$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F+"2 T_UFETCH_FLOAT$0R14;7tW68      _W4444 4 #t* W$2 T_UFETCH_OCTA$0RO 1R1{ W444;7tKhW68Ko* cW$2|48(($T_UFETCH_CMPLX8L#$0R1{ W444;7tKhW68Ko* cW$2ht T_UFETCH_CMPLX16Q#0 W XcW$2 T_LITADDR0$ 2 T_LITADDR_AM0$}2T_LITREF_LIT8_U 0$}2T_LITREF_LIT160 [cW$2 T_LITREF_TN0$WW2T_LITREF_INT_ZEROTT 0{ * dcW$2T_LITREF_INT128_ZERO0$W?W2T_LITREF_REAL_ZERO 0{ ?* $cW$2T_LITREF_CMPLX_ZERO0${ t'TcW2T_LITREF_TRUE_TN0$t2T_LITREF_TRUE_LIT0 W|tW$2T_LITREF_STR_FSA0  |ZctW$2T_LITREF_STR_SA088_L#ho8 .W682H$ T_SPLIT_FLUSH3 088_tN0tL#ho8 .* PW682t@80T_SPLIT_FLUSH_CMPLX3088_#hW68Lo .('F'8F'F':W2@x T_SPLIT_LOAD4 088_tN0t#hW68Lo .* W2|\80T_SPLIT_LOAD_CMPLX402 T_SPLIT_REG,$(04 W68hSMcFccW2\DLT T_STORE_AUTO8H&4/T_STORE_AUTO_S328H&4/$(04z cW68hcW2T_STORE_AUTO_NOTARGET8H&4$(0R14;7tW44z c 68* WW2(,T_USTORE_QUADL8#$(0R1W4;768t* WW2$(T_USTORE_QUADL_08#88 $($ 0W R1R14;7tW4;7tW44  6868* WW248DHT_USTORE_FET_QUADL8##7$(0RO14z cW44;7h68o.WW2p(440 T_STORE_GEN_48# T_STORE_GEN_88#$($ 0 RO 14z  c N \'mo5 .o .FW o.Q o(.W44;7h68o.WW2N`l0<<8T_STORE_CVT_INT8#' $($ 0 RO 14z  c   N\'mo.o .FWo.Q o."W44;7h68o.WW2Np|0<<8T_STORE_CVT_INT_SC8#' C $(0RO1R14z cW44;7th68o* dW2@D(440T_STORE_GEN_CMPLX88# $(0RO1R14z cW44;7th68o* xWW2@D(440T_STORE_GEN_OCTA8# $(0RO 1R14;7tN0th68?'N* W2ph<@$00,T_STORE_CMPLX_ZERO8#$(074W68hUcuW2D@T_STORE_ACCESS_REG8H24,<$(074W68hUL#o.F'TuW2t@HlT_SA_REG_MISMATCH8H24,<$(0{7W68_h#7Uo.uW42pXT_STORE_ACCESS_REG_O8H2#$(0$74W68h Uo .cuW2p\T_STORE_ACCESS_MEM8H24,<$(0$74W 68h_#7Uo .o.uW2tT_STORE_ACCESS_MEM_O8H2#$($ ($,,$$(0 ,(6$84 c4z  cP ,4z, cF"o $.cW68W2T_STORE_SELU_FIXED8HH=(&44$7$$$$ $($ ($,,$$(0 ,(6$84 c4z  c4z, co $N* F.cW68W20T_STORE_SELU_FLOAT8HH=(&44$7$$$$$(0R14z cW4;7hW44  68y* W2(, T_USTORE_BYTE8>$(0R14;7hW4 68y* XW2$(T_USTORE_BYTE_08 >$(04z cW4;7h68W44  y* W2~ T_DSTORE_WORD8>$(04;7h68W4 y* W2T_DSTORE_WORD_08 >$(0R14z cW4;7th68W44     y* W2~(, T_PSTORE_WORD8#*>$(0R 14z cW4;7( dDtF tF tF th68W44      y( dD*h F*| F* F* W2~(<P`(, T_USTORE_WORD8>p T_USTORE_LONG8>A$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F>" T_USTORE_QUAD8>T_USTORE_FIXED_168>$(0R 14;7( dDtF tF tF thW468  y( dD* F* (F* <F* XW2 dp|$( T_USTORE_08 >T_USTORE_INT128_08 >$(0R14z c_c#W4;7th68W          W44 4 4 4 4 ty `3*$ F* F* W2,<(,T_USTORE_FLOAT8>$(0RO1R14z cW44;7th68o* W2@D(440T_USTORE_CMPLX8L8#$(0RO1R14z cW44;7th68o* ,W2@D(440T_USTORE_CMPLX16Q8#$(04;7hW4z c      468y*p W2T_USTORE_BYTE_LG>$(04;7hW4z c       468y*T W2T_USTORE_BYTE_BG>$(04;7hW4z c      468y* W2~T_DSTORE_WORD_LG>$(0RO14;7hW4z c      468y* W2~(440T_DSTORE_WORD_BG$(04;7thW4z c         468y*p W2~T_USTORE_WORD_LG>$(04;7thW4z c         468y*| W2~T_USTORE_WORD_BG$(04;7thW4z c         468y*| W2pT_USTORE_LONG_LG>$(04;7thW4z c         468y* W2pT_USTORE_LONG_BG$(04;7thW4z c             468y* W2T_USTORE_QUAD_LG>$(04;7thW4z c         468y*, W2T_USTORE_QUAD_BGT_USTORE_FLOAT_BG8T_USTORE_CMPLX8_BG8T_USTORE_BYTE16_BG80_#KW{ K'4cW$2 (LT T_SYMREF_ANYH0T_SYMREF_ANY_RPH, 0_$W#W2T_SYMREF_ADDR_MODEH0T_SYMREF_ADDR_MODE_RPH, 02T_SYMREF_REG_VOIDH,l0\ 8d@Ht$-|P,X4`<hDp0?\???? @8@d@@@@A@AlAAAAB Lx(THBtBBBB$C0\5 8d@Htl$P|,X4`<hDpPC|CCCD,D Lx$0$2 T_RETURN_OP1$04z cW{ 'cW$2 T_ALLBITS_INT:$04z cW{ t' cW$2T_ALLBITS_INT_TN_COM:$04z cW{ t?'cW$2T_ALLBITS_INT_TN_HIGH:$04z cW{ t'.cW$2T_ALLBITS_UINT: PE   $0W{  * 7cW$2T_ALLBITS_FLOW_INT: PE   $0W{  *D8cW$2T_ALLBITS_FLOW_UINT:$04z cWc o.W$2 T_ANDSKIP_TN1= T_ANDSKIP_TN2= T_ANDSKIP_TN3=$04z cW o.$2T_ANDSKIP_FLOW1=$0-$2T_ANDSKIP_FLOW2=$04z cWW42 T_BR_LIST0- wW2 T_BR_TARGET0'E2T_BRANCHc$04z cW'B':'<2 T_BRARITH_INTe$04z cW'C':2T_BRARITH_UINTe$04z cW' '' 2T_BRARITH_REALe>:<B $04z c W* H<W2T_BRARITH_REAL16e$04z cWo.o.2 T_BRCOND_TNf$$0P 04z cF4z cW,o.o.27(@TT_BRCOND_EDRAINf[$$( 0 4z c4z  cW '='@'?W2$HT_BRCOND_LANDUf$$( 0 4z c4z  cW '='@'?W2H$T_BRCOND_LANDURf$0``2 T_BRCOND_FLOWf> PP $(04z c_cW4 c* @_ct#  X Wt# X W444 4   * 8@  p)W2T_JUMP$04z cW'12 T_JUMPLOCAL$(04z cW  o.o.`$2 T_LANDC_FLOW1$(0 ` ``$2 T_LANDC_FLOW2$(04 c4z cW'9c-$2$ T_LANDC_TN1$ T_LANDC_TN2 T_LANDC_TN3$04z cW{ t'9cW$24 T_LBSET_TN$04z cWB7|$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F"%{ 'bcW$2T_LBSET_TN_TN_HIGH$04z cW{ 'acW$2T_LBSET_TN_TN_HIGH_CT_LBSET_TN_NON_NZL 4T_LBSET_TN_LOWHT_LBSET_TN_LOW_COMT_LBSET_TN_HIGHT_LBSET_TN_HIGH_COM T_LNOT_ANY_TNT_LNOT_ANY_TNC T_LNOT_ANY_NZT_LNOT_ANY_NZCT_LNOT_ANY_NZF T_LNOT_ANY_NZFC $ T_LNOT_ANY_LWHT_LNOT_ANY_LWC T_LNOT_ANY_HGT_LNOT_ANY_HGC$0$2 T_LNOT_FLOW$04z cW{ t'5cW$2 T_LNOT_TN$04z cW{ t'lcW$2 T_LNOT_TN_NON $04z cW{ 'lcW$2T_LNOT_TN_NON_COM T_LNOT_TN_LOW$(04 c4z cW'>c-$2 T_LORC_TN1$$ T_LORC_TN2 T_LORC_TN3 T_LORC_TN4$(04z cW  o.o.`$2 T_LORC_FLOW1$(0 `` `$2 T_LORC_FLOW2 T_LSBIT_TN$04z cW{ t'9cW$2 T_LSBIT_TN_TN_LOW$04z c W{ t'T'=cW$2HT_LSBIT_TN_TN_LOW_COMT_LSBIT_TN_NON 4T_LSBIT_TN_LOWHT_LSBIT_TN_LOW_COMT_LSBIT_TN_HIGHT_LSBIT_TN_HIGH_COM PE T  $0W{  * KcW$2 T_LSBIT_FLOW$(04z c4z cW{ o.cW$2T_LU_BINOP_TN1$(04z c4z cW{ o.t'9cW$2$$T_LU_BINOP_TN2$$T_LU_BINOP_TN_LOWT_LU_BINOP_TN_HIGH$(0$4z c4z cW   o.P  P  '@'?F'C':W2$$|T_LU_BINOP_FLOW$(04z c4z cW{ '>cW$2 T_LOR_NONT_LAND_NON_COM T_NONZERO_NONmT_NONZERO_NON_8lT_NONZERO_NON_16`T_NONZERO_NON_32$04z cW{ 'lcW$2 T_NONZERO_TNmT_NONZERO_TN_8lT_NONZERO_TN_16`T_NONZERO_TN_32$04z cW{ 'ZcW$2T_NONZERO_TN_NZCmT_NONZERO_TN_NZC_8lT_NONZERO_TN_NZC_16`T_NONZERO_TN_NZC_32$0$4z cW  o.o.2T_NONZERO_FLOW$04z cWc o.W$2 T_ORSKIP_TN1 T_ORSKIP_TN2 T_ORSKIP_TN3 T_ORSKIP_TN4 $04z cW o.$2T_ORSKIP_FLOW1$0-$2T_ORSKIP_FLOW2$(, 0 4z  cW44c-`W$2 T_SELC_TN$0W4z cWc 'E -W$2 T_SELELSE_TN$04z cW o.$2T_SELTHEN_FLOW1$0-$2T_SELTHEN_FLOW2 $(, 0 4 c4z c4z  co$Q* UF.cW$2| T_SELU_FIXED$(, 0 4 c4z co$.cW$2T_SELU_FIXED_LIT$($,($( 0$(4 c4z c4z( c4'RF'SF'VF'WF'XF'QFcW$2T_SELU_FIXED_RELZERO6x $(, 0 4z c 4c o.W4c-cW$2 T_SELU_FLOAT $(, 0 4 c4z c4z  co$Q* `YF.cW$20|T_SELU_FLOAT_NZFP$($,($( 0$(4 c4z c4z( c4'F'F'F'F'F'FcW$2T_SELU_FLOAT_RELZERO6 $(, 0- 4{ cW 'E-4c-c4W$2 T_SELU_FLOW02 T_VBRANCHR,X4`Dp(x4`T0\4` 8d@lHt$4` P|,X4` <hDp Lx(T    0\ 0\$0$2 T_RETURN_OP1$0$2T_RETURN_DEC_GEN*T_RETURN_DEC_OP0+T_RETURN_DEC_OP1,T_RETURN_DEC_OPB-T_RETURN_DEC_OP0B.T_RETURN_DEC_OP1B/$04z c ̈́wW$2T_ALLOCATE_DYN;$0}W#W$2T_ALLOCATE_FIXED;   E $04z cWj  7o.* aZ* aW2 T_ASSERT_TNP   E $0j7* aZ* aW2 T_ASSERT_FLOWP0(2 T_BARRIERV   E $(04 ccP 4z cF"W o . Wj   7o  .  * `b Z* pb W$2H`d T_CHK_INT   E $(04 cc4z cW o . Wj   7o .  * c Z* c W$2 T_CHK_REAL   E $(0t 4 ccWt 4 cW44p)WtW j   7 ': * xd Z * dW$2 T_CHK_REAL16   E $(04 ccWj  7C۰$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FM"6o.* eZ* eW$2 T_CHK_ZERO   E $(04 cc4z c   joo    7 *Xf * f Z * f W$2T_CHKEQL_NEQ_CMPLXZ5 $04z c * gW$l2T_CHKOVF_INT32$0$2T_CHKOVF_INT64k k 5 $04z cW N* phF* h* hW$l2X<L T_CHKOVF_SIC:   E $(, 0 4 ccP 4z cF"P 4z  cF"   W j  7 o o *|i * iZ * iW$2TlpT_CHKRANGE_INTB:   E $(, 0 4 ccP 4z  cF" Wj   7 o* ,k * Xk Z * hk W$2PhlT_CHKRANGE_INT_LB0<C   E $(, 04 ccP 4z cF" Wj   7 o* l * l Z * l W$2PhlT_CHKRANGE_INT_UB0     E $(, 0 4 cc4z c4z  c   W j  7 o o *m * $nZ * 4nW$2T_CHKRANGE_REAL   E $(, 0 t 4 ccWt 4 cW44 ) Wt  W  'CW4 cW4 cW44 ) W W': j7* LoZ* \oW$2T_CHKRANGE_REAL16$04z WSccW24<T_CSE_TN T_CSE_TN_S32$04W XcW2 T_CSE_ADDR$0W]iM[W2,0 T_CSE_TN_ROFI$0W]iM[W2(, T_CSE_LITREF$0Wi_6M#XW24@ T_CSE_SYMREFH$0W4]iMMcF[W24<DHT_CSE_CSEREF_LIT$0W4iMMcF#XW24<DPT_CSE_CSEREF_SYM$0W44iMMcFcW2<DLP T_CSE_CSEREF0$2 T_CSEREF_TN0W4] McF[cW$208<T_CSEREF_ROFI_LIT0$}2T_CSEREF_ROFI_LIT8_U 0$}2T_CSEREF_ROFI_LIT160W4{ #McFXcW$2<DHT_CSEREF_ROFI_SYM0W44 McFccW$28@D T_CSEREF_ROFI$0$,l2T_EDRAIN[0,2T_FENCE$(, 0 4 cW4;t  W2T_INITBP\H$04z cNW{ 8.cW$204 T_MACHOP1 T_MACHOP1_FLT$04 c{ 8.cW$2T_MACHOP1_FIX_FLT$04z c 8.cW$2T_MACHOP1_FLT_FIX$(04z c4z cNW{ 8.cW$2PT T_MACHOP20682 T_LIFETIME0j7Z'W2T_SIGNAL.0$W2 T_STKFRAME60{ XcW$2 T_STKFRAME_TN60W2T_STOP$042 T_VOID_TNU$0--2 T_VOID_FLOWU$02 T_VOID_STRINGU$02 T_VOID_ACCESSU2$02 T_VOID_DECU02 T_NOP_ACTIONS0WW2 T_PALCALL(00\ 8d l@f Ht$fg: 0W3  j  ** W2T_BIF_ADAWI_NOVALUE= ;]/>:9 9>7Z>55=9> 0W3   jj   * *  W2T_BIF_ADAWI_PSL0W3j   W#-70D $  '9''F';''F'9'9'F';'9'F'9'T'F';'T'F'9'>'F';'>'': *  W2 <Xp T_BIF_AAOE $  0W3j    W#-70D % '9''F';''F'9'9'F';'9'F'9'T'F';'T'F'9'>'F';'>'': * $  W2 (D`xT_BIF_AAOE_RETRY % 9 ; 9  ;  0W3j  W#-70$ "* F* F* F* 4':* W2p T_BIF_INCDEC "9 ; 9  ;  0W3j    W#-70$!#* \F* F* F* ':* $ W2xT_BIF_INCDEC_RETRY!#9Z:AT  0W3j W*W2T_BIF_CMP_STORE_LONG;Z:AT  0W3j W*W2T_BIF_CMP_STORE_QUAD0Wj'W2 T_BIF_RPCC0W3tt j  W#* \';'9'='':'Z* W2T_BIF_TESTBITCC0W3t t j    W#* \';'9'='':* $ 'Z W2T_BIF_TESTBITCC_RETRY0W3tt j  W#* \';'9'>'':'Z* W2T_BIF_TESTBITCS0W3tj  W#* \';'9'='':'X* W2T_BIF_TESTBITSC0W3tj  W#* \';'9'>'':'X* W2T_BIF_TESTBITSS0W3t j    W#* \';'9'>'':* $ 'X W2T_BIF_TESTBITSS_RETRY0W'1W2 T_BIF_TRAPB0W3jW#'T'W2T_BIF_WRITE_MBX`h<Dp $(, 068h{ KccW$2LPT_FX_QUAD_NODEFERH4&+   @$(, 068hW$2 T_FX_QUAD_NOPH4&+   @$(, 0$W2T_EXTV_QUAD_NOP   @T_FX_REG_LOW_LH4&+  $ T_EXTV_LOW_L  T_FX_REG_LOW_L8H4&+   T_EXTV_LOW_L8  T_FX_REG_LOW_L16H4&+  ~T_EXTV_LOW_L16  T_FX_REG_LOW_L32H4&+  pT_EXTV_LOW_L32  T_FX_REG_HGH_QHH4&+ ?  T_EXTV_HGH_QH ? T_FX_REG_HGH_LHH4&+  T_EXTV_HGH_LH 9 $(, 068h cW{ K}} * XcW$2\pT_FX_REG_TH/ $ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F+"N_ANDH4&$ 9 $(, 04z cW{ }} * DcW$2 T_EXTV_TN_AND$ T_FX_REG_NON_ANDH4&  T_EXTV_NON_AND  9 $(, 068h cW{ K}t* cW$2\tT_FX_REG_TN_AND_NZLH4&$  9 $(, 04z cW{ }t* cW$2T_EXTV_TN_AND_NZL$   $(, 068h cW{ K} t@o* lcW$2\T_FX_REG_TN_QHH4&   @ $(, 04z cW{ } t@* tcW$2 T_EXTV_TN_QH   @ $(, 068h cW{ K} t * dcW$2\tT_FX_REG_TN_LHH4&    $(, 04z cW{ } t * \cW$2 T_EXTV_TN_LH   9 $(, 068h cW{ K}} t* ,cW$2\|T_FX_REG_TN_SANDH4&$  @9 $(, 04z cW{ }} t* @cW$2T_EXTV_TN_SAND$  @ $(, 068h cW{ K}} t@t @o*( cW$2\T_FX_REG_TN_ANYH4&  @ $(, 04z cW{ }} t@t @o*d cW$2 T_EXTV_TN_ANY  @$(, 068h cW{ K}'cW$2\hT_FX_REG_LOW_ANYH4&$ @ $(, 04z cW{ }'cW$2T_EXTV_LOW_ANY $(, 068h cW{ K}t?* cW$2\tT_FX_REG_HIGH_ANYH4&$ @  $(, 04z cW{ }t?* cW$2T_EXTV_HIGH_ANY$ @ $(, 068h c4z cW{ K'cW$2t|T_FX_REG_LOW_VARH4&+ $(, 04 c4z cW{ 'cW$2T_EXTV_LOW_VAR 9 $(, 068h c4z cW{ Kt} *  cW$2tT_FX_REG_TN_VAR8UH4&+$ 9 $(, 04z c4z cW{ t} * 8!cW$2T_EXTV_TN_VAR8U$ 9 $(, 068h c4z cW{ K* ("cW$2tT_FX_REG_TN_VAR1SH4&+  9 $(, 04z c4z cW{ * 8#cW$2T_EXTV_TN_VAR1S   $(, 068h c4z c4W W  {  K t @}  *$ c W$2 T_FX_REG_TN_VARH4&+$ @ $(, 04z c4z c4W W  {  o t @}  *% c W$2 T_EXTV_TN_VAR$ @ Q $(, 0 68h c4z c4z  c   444 W  {  K *& c W$2 T_FX_REG_TN_GENH4&+ Q $(, 0 4z c4z c4z  c   444 W  {   *( QD'c W$2 T_EXTV_TN_GEN$(, 04;7}:@KhW68{ K':cW$2LX T_FX_MEM_QUAD#  @@@@$(, 0O14;7}:KhW68{ K':cW$2Xd,(T_FX_MEM_QUAD_V  @@@T_FX_MEM_QUAD0_L1#   @@T_FX_MEM_QUAD0_L8#   @@T_FX_MEM_QUAD0_L16#   @@T_FX_MEM_QUAD0_L32#  @@ :9 $(, 04;7}:@KhW68{ } K* ,cW$2LXT_FZX_MEM_QUAD0_M8#  @@T_FZX_MEM_QUAD0_MI8#  @@: $(, 04;7}:@KhW68{ K* -cW$2LXT_FX_MEM_QUAD_L1#   @@?T_FX_MEM_QUAD_L8#   @@8T_FX_MEM_QUAD_L16#   @@0T_FX_MEM_QUAD_L32#  @@ :9 $(, 04;7}:@KhW68{ K* /cW$2LXT_FX_MEM_QUAD0_S_1#  @@ $(, 04;7}:@KhW68{ } t @t @oK':*0 cW$2LXT_FX_MEM_QIU;$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FQ"UAD_F#  @@?@ $(, 04;7}:@KhW68{ tt@t @K':* ,2 cW$2LXT_FX_MEM_QUAD_F_Z8#   @@?@ $(, 04;7}:@KhW68{ tt@t @K':* |3 cW$2LXT_FX_MEM_QUAD_F_Z16#   @@?@ $(, 04;7}:@KhW68{ t t@t @K':* 4 cW$2LXT_FX_MEM_QUAD_F_Z32#  @@?@T_FZX_MEM_QUAD_FB #  @@?@$(, 0R14;7}:Kt  hW4{    } K*  c 68W$2\p,0T_FX_MEM_UQUAD  @@@ $(, 0R14;7}:Kt  hW4{    } t@t @oK*  *p7 c 68W$2\p,0T_FX_MEM_UQUAD_F  @9@$(, 04;7}: KhW68{ K'8cW$2LX T_FX_MEM_LONG#  $(, 0O14;7}:KhW68{ K'8cW$2Xd,(T_FX_MEM_LONG_V   T_FX_MEM_LONG_VQ   $(, 0O14;7}:KhW68{ K'8'9cW$2Xd,(T_FZX_MEM_LONG_VQ   T_FZX_MEM_LONG_32#  T_FX_MEM_LONG0_L1#  T_FX_MEM_LONG0_L8#  T_FX_MEM_LONG0_L16#  8 $(, 04;7}: KhW68{ K* <cW$2LXT_FX_MEM_LONG_L1#   T_FX_MEM_LONG_L8#   T_FX_MEM_LONG_L16#   T_FX_MEM_LONG_S32#  $(, 04;7}: KhW68{ K'8'9cW$2LXT_FZX_MEM_LONG#  T_FX_MEM_LONG_Z32#  89 $(, 04;7}: KhW68{ K* ?cW$2LXT_FX_MEM_LONG_S_1#   $(, 04;7}: KhW68{ tt@t @K'8* A cW$2LXT_FX_MEM_LONG_F_Z8#     $(, 04;7}: KhW68{ tt@t @K'8* TB cW$2LXT_FX_MEM_LONG_F_Z16#     $(, 04;7}: KhW68{ } t @t @oK'8*C cW$2LXT_FX_MEM_LONG_F#   T_FZX_MEM_LONG_FB #   $(, 0R14;7}:KthW4{  K* pc68W$2\p,0T_FZX_MEM_ULONG   T_FX_MEM_ULONG_Z32    $(, 0R14;7}:Kt  hW4{    } t@t @oK* p *F c 68W$2\p,0T_FX_MEM_ULONG_F    $(, 04;7}:KhW{ 4K* 'c68W$2LXT_FZX_MEM_DWORD_F  T_FZX_MEM_DWORD  $(, 04;7}:tKthW{ 4K* c68W$2XlT_FX_MEM_DWORD  T_FX_MEM_DWORD_Z16   $(, 04;7}:KhW{ 4} t@t @o K* *dJ  c68W$2LXT_FX_MEM_DWORD_F  ==> $(, 0R14;7}:KthW{  4444K* Kc68W$2\p,0T_FZX_MEM_UWORD_F  T_FZX_MEM_UWORD  T_FX_MEM_UWORD_Z16  ==> $(, 0R14;7}:Kt  h{    W44 4 4} t@t @oK*M c 68W$2\p,0T_FX_MEM_UWORD_F   = $(, 0 W4;7}:KhW684{ K* OcW$2XdT_FZX_MEM_BYTE  T_FX_MEM_BYTE_Z8  =8 $(, 0  W4;7}:tKthW684 { K* P cW$2dx T_FX_MEM_BYTE  = $(, 04;7}:KhW684{ K* RcW$2LXT_FX_MEM_BYTE_L1  = $(, 04;7}:KhW684{ Kt ?* S cW$2J˧7$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FX"LXT_FX_MEM_BYTE_H1  =9 $(, 04;7}:KhW684{ } K*  $(, 0} R14;7}:tt&Kg  hW4    W{  et @  ogK*|[  c 68W$204 T_FX_MEM_X8_F  @?A 99k@: =E  ==>E  TE  $(, 0 R14;7  KXh4z c4z  c         44 4 W68  {  K*h] c W$2i\d48 T_FX_MEM_GEN$(, 0  4;7t X W4 t c W4 t c W4 4 4 68p)WtWo.cW$2 T_FX_MEM_RTN$(, 0$0$68h4z$ cW o.cW2 T_SX_REG_FULLH4& $ @= $(, 0$068h c4W}} * &  5$ = $(, 0$04z cW{ }} * $ccW$2 T_INSV_LIT8_0  5$ > $(, 0$068h c4W}} * ccW2T_SX_REG_LIT8_1H4>&  !$ > $(, 0$04z cW{ }} * dcW$2 T_INSV_LIT8_1  !$ =>  $(, 0$068h c4W}} }$* ecW2 T_SX_REG_LIT8H4>&  $=>  $(, 0$04z cW{ }} }$* fcW$2 T_INSV_LIT8  $=9> $(, 0$0$68h c4z$ c4W }} t*gcW2 T_SX_REG_8H4>&  9=> $(, 0$0$4z$ cW4z c W4  {  }} t*h c W$2 T_INSV_8  V= $(, 0$068h c 4W}} * 8jcW2T_SX_REG_LIT15_0H4>&  5$ V= $(, 0$04z c W{ }} * 4kcW$2T_INSV_LIT15_0  5$ V> $(, 0$068h c 4W}} * $lcW2T_SX_REG_LIT15_1H4>&  !$ V> $(, 0$04z c W{ }} * mcW$2T_INSV_LIT15_1  !$ V=  $(, 0$068h c 4W}} }$* ncW2T_SX_REG_LIT15H4>&  $V=  $(, 0$04z c W{ }} }$*,ocW$2 T_INSV_LIT15  $V=9> $(, 0$0$68h c4z$ c  W}} *&  V=9> $(, 0$0$4z c4z$ c  W44  {  }} *q c W$2 T_INSV_15  U= $(, 0$068h c 4W}} t* rcW2T_SX_REG_LIT15H_0H4>&  5$ U= $(, 0$04z c W{ }} t*scW$2T_INSV_LIT15H_0  5$ U> $(, 0$068h c 4W}} t* tcW2T_SX_REG_LIT15H_1H4>&  !$ UKb$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Fh"> $(, 0$04z c W{ }} t*ucW$2T_INSV_LIT15H_1  !$ U=  $(, 0$068h c 4W}} }$t*vcW2T_SX_REG_LIT15HH4>&  $U=  $(, 0$04z c W{ }} }$ t*(x cW$2 T_INSV_LIT15H  $U=9> $(, 0$0$68h c4z$ c  W}} t *Hy cW2 T_SX_REG_15HH4>&  U=9> $(, 0$0$4z c4z$ c  W44  {  }} t *z c W$2 T_INSV_15H   $(, 0$068h c4W} * {cW2T_SX_REG_LOW_0H4>&   @5$  $(, 0$04z cW{ } * |cW$2T_INSV_LOW_0_64   ?5$ T_INSV_LOW_0_32   5$ > $(, 0$0$68h c4z$ c4W } t@* ~cW2 T_SX_REG_LOWH4>& $ @> $(, 0$0$4z cW4z$ c   {  } t@*Tc W$2 T_INSV_LOW_64 $ ? T_INSV_LOW_32 $  $(, 0$068h c4W} * ̀cW2T_SX_REG_HIGH_0H4>&   @5$  $(, 0$04z cW{ } * cW$2 T_INSV_HIGH_0   @5$  $(, 0$04z cW{ } t * cW$2T_INSV_HIGH_0_32   5$ > $(, 0$0$68h c4z$ c4W } t@* cW2 T_SX_REG_HIGHH4>&   @> $(, 0$0$4z cW4z$ c   {  } t@*̄c W$2 T_INSV_HIGH   @!= $(, 0$068h c 4W}} * 'cW2pxT_SX_REG_LIT_0H4>&  @5$ != $(, 0$04z c W{ }} * 'cW$2 T_INSV_LIT_0  @5$ !> $(, 0$068h c 4W}} * 'cW2pxT_SX_REG_LIT_1H4>&  @!$ !> $(, 0$04z c W{ }} * 'cW$2 T_INSV_LIT_1  @!$ = > $(, 0$068h c 4W}} }$* cW2 T_SX_REG_LITH4>&  $= > $(, 0$04z c  W  {  }} }$*0c W$2 T_INSV_LIT_64  $ T_INSV_LIT_32  $!=9> $(, 0$0$68h c4z$ c  W}} *'cW2 T_SX_REG_FH4>&  @$(, 0$068h c}} x'6cW2 T_SX_REG_B_0H4>& $ ?%  @5$ $(, 0$04z cW{ }} x'6cW$2 T_INSV_B_0 $ ?%  @5$ $(, 0$04z c  W{ }} x' '7  '> cW$2 T_INSV_B_1 $ ?%  @!$ 67> $(, 0$0$4z c4z$ c  W  {  }} x *`  c W$2 T_INSV_B_64 $ ?%  @pp T_INSV_B_32L $ ?%  @p T_INSV_B_32 $  %  6> $(, 0$0$4z c4z$ c  W  {  }} x *D  c W$2 T_INSV_B_64H $ ?  @6> $(, 0$0$4z c4z$ c  W  {  }} x *l  c W$2 pp T_INSV_B_32H $ ?  6> $(, 0$0$4z c4z$ c  W  {  }} x t&*  NDP ' c W$2  T_INSV_B_8_64$ ?%  @  pT_INSV_B_8_32L$ %    p T_INSV_B_8_32$ %    6/> $(, 0$0$4z c4z$ c  W  {  }} x t&*ܖ  NDP ' c W$2 ~LT$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F"T_INSV_B_16_64$ ?%  @  p~T_INSV_B_16_32L$ %    p~T_INSV_B_16_32$ %    6> $(, 0$0$4z c4z$ c  W  {  }} x t&*   ND' c W$2 pT_INSV_B_32_64$ ?%  @  !=9> $(, 0$0$4z c4z$ c  W44  {  }} *l ' c W$2 T_INSV_F  @Q=9> $(, 0$0 $68h c4z c4z  c4z$ cW    4W  444 4 68*  cW2 T_SX_REG_GENH4>&+Q=9> $(, 0$0 $4z c4z c4z  c4z$ cW    4W  44W4 4   {  *p  ND' c W$2 T_INSV_GEN$(, 0$0R14;7}:hW4 68y* XW248T_SX_MEM_BYTE_0>  5$ $(, 0$0$R14;7}:hW4z$ c  468y* W28< T_SX_MEM_BYTE>  == $(, 0$0R14;7}:hW4  68} y* W248T_SX_MEM_BYTE_LIT_0>  5$ => $(, 0$0R14;7}:hW4  68} y* hW248T_SX_MEM_BYTE_LIT_1  >!$ == > $(, 0$0R14;7}:hW4   68} }$ y* W248T_SX_MEM_BYTE_LIT>  $==9> $(, 0$0$ R14;7}:hW4 z$  c   468} y*H W28<T_SX_MEM_BYTE_F>  $(, 0$0$4;7}:hW4z$ c       468y*p W2T_SX_MEM_BYTE_LG>  $(, 0$0$4;7}:hW4z$ c        468y*T W2T_SX_MEM_BYTE_BG  $(, 0$04;7}:hW 468y* W2T_SX_MEM_DWORD_0>5$   $(, 0$0$4;7}:hW4z$ c  468y* W2~T_SX_MEM_DWORD>  $(, 0$0$R14;7} :  t  hW4z$ c     468y* W2~8<T_SX_MEM_PWORD>#  $(, 0$0$R14;7} :  t  hW4z$ c     468y*h W2~8<T_SX_MEM_UWORD>  $(, 0$0$4;7}:hW4z$ c       468y* W2~T_SX_MEM_DWORD_LG>  $(, 0$0$RO14;7}:hW4z$ c       468y* W2~8DD@T_SX_MEM_DWORD_BG  ~T_SX_MEM_WORD_V  $(, 0$0$4;7}:thW4z$ c          468y*p W2~T_SX_MEM_PWORD_LG>  $(, 0$0$4;7}:thW4z$ c         468y*| W2~T_SX_MEM_PWORD_BG  $(, 0$0$4;7}: hW4z$ c468'W2p T_SX_MEM_LONG#  $(, 0$0$O14;7}:hW4z$ c468'W2p84T_SX_MEM_LONG_V   8= $(, 0$0R14;7}: hW4 68} y* W248T_SX_MEM_LONG_LIT8_0>#  5$ 8> $(, 0$0R14;7}: hW4 68} y* ȴW248T_SX_MEM_LONG_LIT8_1>#  !$ 8=>  $(, 0$0R14;7}: hW4 68} }$y* W248T_SX_MEM_LONG_LIT8>#  $8= $(, 0$0R14;7}: hW4  68} y* 0W248T_SX_MEM_LONG_LIT_0>#   5$ 8> $(, 0$0R14;7}: hW4  68} y* lW248T_SX_MEM_LONG_LIT_1>#   !$ 8= >MD[$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F#T" $(, 0$0R14;7}: hW4  68} }$y*W248T_SX_MEM_LONG_LIT>#   $86 $(, 0$0R14;7}: hW4 68} xy* W248T_SX_MEM_LONG_FB_0> #   5$ 867> $(, 0$0$R14;7}: hW4z$ c  W  4 468} x y*4 W28<T_SX_MEM_LONG_FB> #   86> $(, 0$0$R14;7}: hW4z$ c  W  4 468} x t&y* W28<T_SX_MEM_LONG_FB_8>  #   86/> $(, 0$0$R14;7}: hW4z$ c  W  4 468} x t&y*H W2~8<T_SX_MEM_LONG_FB_16>  #   8867> $(, 0$$$($(,$,00(R14;7}: hW4;7$},: $h$W    44686$8} x y*  W2PTT_SX_MEM_LONG_FB_FX$> ,0*,* 0#   #$ ,0  7$T_SX_MEM_LONG_FB_FZX$> ,0*,* 0#   #$ ,0  7$8=9> $(, 0$0$R14;7}: hW4z$ c    W  4 4 468} y*t W2p8<T_SX_MEM_LONG_F>#   8=> $(, 0$0$R14;7}: hW4z$ c    W  4 4 468} y*  W28<T_SX_MEM_LONG_F_Z8>  #   T_SX_MEM_LONG_F_Z16>  #   T_SX_MEM_LONG_F_Z32>  #   $(, 0$0$R14;7} :  thW4z$ c      468y*| W2p8<T_SX_MEM_ULONG>   $(, 0$0$4;7}:@hW4z$ c468'W2 T_SX_MEM_QUAD#  @@@@$(, 0$0$O14;7}:hW4z$ c468'W284T_SX_MEM_QUAD_V  @@@$(, 0$0R14;7}: th68y* W248T_SX_MEM_QUADL_0#  @@@5$ $(, 0$0$R14;7}: thW44z$ c  68y*  W28<T_SX_MEM_QUADL#  @@@:= $(, 0$0R14;7}:@hW4 68} y* W248T_SX_MEM_QUAD_LIT8_0>#  @@5$ :> $(, 0$0R14;7}:@hW4 68} y* (W248T_SX_MEM_QUAD_LIT8_1>#  @@!$ :=>  $(, 0$0R14;7}:@hW4 68} }$y* TW248T_SX_MEM_QUAD_LIT8>#  @@$:!= $(, 0$0R14;7}:@hW4  68} y* W248T_SX_MEM_QUAD_LIT_0>#  @@?@5$ :!> $(, 0$0R14;7}:@hW4  68} y* W248T_SX_MEM_QUAD_LIT_1>#  @@?@!$ := > $(, 0$0R14;7}:@hW4  68} }$y*W248T_SX_MEM_QUAD_LIT>#  @@$:6 $(, 0$0R14;7}:@hW4 68} xy* pW248T_SX_MEM_QUAD_FB_0> #  @@5$ :67> $(, 0$0$R14;7}:@hW4z$ c  W  4 468} x y* W28<T_SX_MEM_QUAD_FB> #  @@?@:6> $(, 0$0$R14;7}:@hW4z$ c  W  4 468} x t&y*  W28<T_SX_MEM_QUAD_FB_8>  #  @@?@:6/> $(, 0$0$R14;7}:@hW4z$ c  W  4 468} x t&y* W2~8<T_SX_MEM_QUAD_FB_16>  #  @@?@:6> $(, 0$0$R14;7}:@hW4z$ c  W  4 468} x t&y*D W2p8<T_SX_MEM_QUAD_FB_32>  #  @@?@::67> $(, 0$$$($(,$,00(R14;7}:@hW4;7$},:@$h$W    4NX$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1l~ 1F`V!l`7!u\[9 kNӈ]2|lCC>r11oGEKTE+.`Max_J1]6< UJfy~ a9xEY' ZF+DfV|S>*Z`E}~pM1TJwL#6]N鴤HSikYL!_d'BQFb#vf_%JQ,͡&n*Qk~g\94bb<IqR#PE|S,C!NtUm+NCi F;-Lܔ7J=R@ϳSdw}>zluT2VDCsE=nvxM<P-RiSH: < p*<^MgTs7]wGP^JrSF]^;o(vK+y]tpeLfCqt/shi~\wvG{o>}>_\r&~)rMKW_WJބT=Yxz)DAxxI z3S׀1gh+ ` e-~EbiĢ|%S6g]DC"sڽL0*MGK2yu%V1|Oyl0=Z1;.=;94w3]YZ+ r8WifXodr4&!@]\M@+S!u -Wqm&iW5IXYQRWa&IBpzF3p@WE#&fIO-m<u;>L0%š+weU8XZD]d6E@(>s*V B.1`Ah0.V<{g!J(l=' D _U@l.6Y""K%0/xbC4pSMhV(%jd1ߖk-vKHmI]f} ՗ j:桮f}2tVZ1.;Bc;X`c'o amA1e_v'UL)UYkF]/kZ{o ]CU(õn QqC';G O _;و{Ғ컱m1 %n2OYsfe`<پqH$E;pF :$^sj'Q=Wgw Ai TeJӌۀC@̭M4|{\JefDYo13^&^ 62V -UN[+%aY [[\OdPMS'3, Z?XumQQ패Q4o+z{ _q:L?cF 6CRqWOl!Y,nY!"Ec Sړճ 0nI?/.9̶jt=:eDVSWL:%P@}"曹+-t&՞s@3s#%,sؽS#7PolRT؜ jJ8C-K+9PQ޵)'.39Ӊ0гCtOMl4%b11ܛ+ }s{GT A쭺3缁N~,5. њۋ}VfhԲSA[OK)|dsK@[.?G6:b>"miP\w S)cAq^ch}7(&i7ȷ]=lgw1+?-b~òR(OSiAmm@+XU(p tz̉B`ޭׯ#cFW@>!/ baARLSW)7~\/!4!?9uLZ%hWVޛ=ȰEM}z w)[SwwC9;ߕvxEGf]c+ӿ VMBiYI8Q9^7΃X?}c1&'wܔFGY6b*'`ߓ(0l!$ xXI7Hк>,/ `L<`&q;ifxfm KHj7µ2 i Bk!go[/IePt} #dNfSsidwZƼΟbSvoխ%CD0Mw|=3h2oƴV,1F'78-~(l3#dV|D<,Rn!Gm/fuaMe>"5BHjj_UsAIU9TN(Xw iyUpKnψؙ`j-{0dPokĝDP!éuH}ȋ/jC`ܕrO$O/r LLYQ~̼`u%R5'M,{e_6RbL҃PI*;6v|ms'5؟}}*Lp ;-Iݣe}m(V{~K YZQh~ػ`tjbY,K ƱXwBڐkl.*əΒ)E G9SnżrAbŠ <~537]̾wJ}ED7nDփ3!CpD=)U4pW I)ac"U8KZM:.86Vp C[H" 7YTI:vֹjk5$dfUo97[a@@y_/QPSZ ,"AR5{}QA&F9 z2s -n:^;Q7(V/EQ8rB^F{(c+5g nHpX6Iκ]ųa7\ ڧt޵3 g(){H*rXΰX̻C8Ngu%`-֧,dP fRҜG* -K3ۨZdMXU6dJ; :]W s򟺊%q0 0',H|/AfI:D*/a_%uڨ*yYBh%K6ypM6.)Q(KF>,uB4Pvƺ(ύ8HZ&T1 pk8cǣ]((p j(>; * AI#b]#LX=2g-&h"ɑs #ʃ[ Fձlr' -Ke:MƼ\ns1=&/Ⱥ7YJsKb&?Qthő gU]Lf W &ͮ޵6]'\\PZq}*#KO`)chiC ChnH:E> v<kJf"\n¨3NW`Su5D; MRmt~ p`r8jK+G^e18(A-h(Խ E!h@, +iH ,.a@[Z1GY{rI;xD!'ωrF =)36v< Wqc䵻#0,E^[а&Gafk@|Y=-2 m;7_0 :?=~oʚFH7Aor9$;amY= 1SP靖s')0CJQ$ZNAyi bݓ+p~a(mg4'6|xTo&V\MPc{qfPO;c G t=C }|@\):Z/UYc-l.+F$c]Hh&_p{(Y"`{FH81 HK~XBT٧clxc._>gA|_>Ҙ9rx4n Tǰ398i$MzIf'Yzw6T$Y}\2l">YjTD:$pþQ (;a BJ #I%e |Ȑ,͂fd j&tɉL㐢=ko{OWƄ%A)T0‹w(-hsqF^=D!VcuRۂO*]CmـLQ;e6kGZdDPP:;(?VX! Ԅf0|,yQ}85 j^J}H7 ꈴBɻ6&4=ɠ@\6\114<1tU2r|zbqO5Xp, ҺɨTâe~`5rQWmiy w5.n|RPJ_z/ËsH޲ R z$*=$e'lGk*{xr8?R_VKZ|;Bh0Us9Q\U/3A?i%/C:OewQ@x7,A5OiH4G@ 9(͵v ?rMXbO2AmR%z$>j2h"R%iVj!E a M o,tYv¦ZITmApdeqO+lz凉UF(X$u)g56ң 45D!981?¢;G]56uH[bpXs3%9^R U$֑&R+|EWmR:;6=NMONrH #O*]3rsb]/[jg t%f:aKh(,7XLZGA< TIz[=QVseJT[*MHO!MOF@se/G oz4DL9|VpJzDVUQV)wn2 1B23 |`\9>"4RH`8+(0":y+\0^Yl&9-{ePT V"|19||xÆ܆YV0\8XNX8_Is ]%\x~iC34;DEɢ2" 9Cu^ tyS5VK{xͪ y~QF\&E.ilexq{I!\U GW 0y3GFyDEZ:fsV6t05&uҎ=E)283GaD? p{ `~k!N Aq/YPDbYDI*L*;qYK;"it d@XվG|0Q|im-/.DFR" l`@Z3 eN %UeRMTYj[EH  *=faX"*D,|'i?Y C&i!n8_Q,$*shS;,Kt|2-`#j|[JJ/Wmh)QpVcU?SU(bjq2qɊ8N.f\Y~&k%$xI w4NڗYWUkNRzOxu)sWl8jm&a;k>AI5!IQ M!eEUBz9Cߌpb]cMyoOFC{'ْtR]gyIᬧ56x|[YPp^<ǒ ˷Ϸ^JdH1S{W1d;n|qJ>LhNjN=7W31)RWKDI\A3~C\{|R 82 6(  )?N5>bEXLiXFxHÑrx$bPD#)6(o#Ua4HǤggәQ_tA؏V].4OH$ p71lf.#'W'SkU]-(6)K Kf+rwn')@grWW>hf^|x:[c)>  g?Ct[FUkUIzSFsPVboL\\|C<&M%Jol-j^7{ DL^ dcP@|;[IG 3r> uF #^'Hڽh3XC۬I;p$*;P ӻ/;gQ]=zT3ezWG^xѿ)Rrw)>Av/Ԧ#Y '[m#X. Bj#Fa[Z7U|(/129h(C Q i+(>YWPkdSXEE xP!|(,e#-u`Yb9ؤ|sU^'+&3(&f2MOkm qpNJlBwsʔ7,c! +8pweAUDu'CvtO4/8ꓤEL̘Pۼg@X}jnz|B8rCJWHkN PtrQl a+\p<J|ud[#JACܭHrm^͊<|>fE` '_O ǟ4L_O5 + WOj%$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F'"4686$8} x y*  W2PTT_SX_MEM_QUAD_FB_FX$> ,0*,* 0#  @@?@#$ ,0@@?@7$T_SX_MEM_QUAD_FB_FZX$> ,0*,* 0#  @@?@#$ ,0@@?@7$:=9> $(, 0$0$R14;7}:@hW4z$ c    W  4 4 468} y*p W28<T_SX_MEM_QUAD_F#  @@$(, 0$0$R14;7} :  thW4z$ c      468y* W28<T_SX_MEM_UQUAD>  @@@9=T= $(, 0$0R14;7W4z c W44        68y* W28<T_SX_MEM_VAR_BIT_0>  5$ 9=T> $(, 0$0R14;7W4z c W44        68y* W28<T_SX_MEM_VAR_BIT_1>  !$ 9=T=9> $(, 0$0$R14;7W44z c4z$ c           68y*x W24<@T_SX_MEM_VAR_BIT>  = = %==  $(, 0$0} R14;7}:tt & t   hW4       Wt@t@y*t 68W28<T_SX_MEM_X8_F_LIT_0>5$  @?= = %>>  $(, 0$0} R14;7}:tt & t   hW4       Wt@t@y* 68W28<T_SX_MEM_X8_F_LIT_1>!$  @?= =    % %==>>  $(, 0$0$} R14;7}:tt&thW44z$ c          Wt @    t@y*  68W2<@ T_SX_MEM_X8_F>  @?A 99k@ :  =      =      >    E  =    =    >    =        >    E  $(, 0$0 $R14;7 Xh4z c4z  c4z$ c      4 4 44W       68*d  W2i@D T_SX_MEM_GEN>$(, 0$0 $4;7t X W4t c W4t c W4t c W4 4 4 4 68p)W2i T_SX_MEM_RTNC|P,4<L\ 8d @ l   !H!t! !!$"P"|"#,#X####$`$$$$%%%D&p&& 'L''''(((()0)\))X`hp x(0I|P,4LT\ 8d @ l  !!H!t! !!P"""#,#X####$4$`$<%$$%h%%%&%&&&L'x'''((T(((0)\))X` x(0V))8***@+++H,,,P--..///<00D114::<;h;;;;<D<<<<p< =L=x=:;=H7t7777$8P8|889,98X9999:4:`:55l66667@66\4444 585d55==(>T>>>>?& *d**+l++,t,,$-|--,.X...4//0h000p11222(3T333L2x211 2304YCYC YC YC   E $0R1An 4; 7  h t  ? X Wt  @ZW6844) WWcWRN j    \ D* * P* p* tZ * FW4 cW$2dd0$GEM_T_FETCH_DEC8_GENGEM_T_FETCH_DEC8_GEN_OP0GEM_T_FETCH_DEC8_GEN_OP1GEM_T_FETCH_DEC8_NSDGEM_T_FETCH_DEC8_NSD_OP0GEM_T_FETCH_DEC8_NSD_OP1GEM_T_FETCH_DEC4_GEN_OPGEM_T_FETCH_DEC4_GEN_OP0GEM_T_FETCH_DEC4_GEN_OP1GEM_T_FETCH_DEC4_GEN_OPBGEM_T_FETCH_DEC4_GEN_OP0BGEM_T_FETCH_DEC4_GEN_OP1BGEM_T_FETCH_DEC4_NSDGEM_T_FETCH_DEC4_NSD_OP0GEM_T_FETCH_DEC4_NSD_OP1GEM_T_FETCH_DEC4_NSD_OPBGEM_T_FETCH_DEC4_NSD_OP0BGEM_T_FETCH_DEC4_NSD_OP1B0An YW cW$2GEM_T_LITREF_DEC_GENGEM_T_LITREF_DEC_OP0GEM_T_LITREF_DEC_OP1GEM_T_LITREF_DEC_OPBGEM_T_LITREF_DEC_OP0BGEM_T_LITREF_DEC_OP1B$(0R1An 4c ̬W4; 7  h t  ? X Wt  @ Z W68444)W2P&$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F" $GEM_T_STORE_DEC_GEN*GEM_T_STORE_DEC_GEN_OP0+GEM_T_STORE_DEC_GEN_OP1,GEM_T_STORE_DEC_GEN_OPB-GEM_T_STORE_DEC_GEN_OP0B.GEM_T_STORE_DEC_GEN_OP1B/$0A4cW1'PFt'5W ̰W4 cW$2DP`GEM_T_ABSNEG_DEC_GEN*GEM_T_ABSNEG_DEC_OP0+GEM_T_ABSNEG_DEC_OP1,GEM_T_ABSNEG_DEC_OPB-GEM_T_ABSNEG_DEC_OP0B.GEM_T_ABSNEG_DEC_OP1B/$(0An  4c!Gn ) W cW4 c !  G n  ) W4cW44 )W W   c W$2 dTGEM_T_BINOP_DEC_OOO**GEM_T_BINOP_DEC_OO1**GEM_T_BINOP_DEC_01O+,GEM_T_BINOP_DEC_011+,GEM_T_BINOP_DEC_10O,+GEM_T_BINOP_DEC_101,+GEM_T_BINOP_DEC8_OOO**GEM_T_BINOP_DEC8_OO1**GEM_T_BINOP_DEC8_01O+,GEM_T_BINOP_DEC8_011+,GEM_T_BINOP_DEC8_10O,+GEM_T_BINOP_DEC8_101,+GEM_T_BINOP_DEC4_OBOBOB--GEM_T_BINOP_DEC4_OBOB1B--GEM_T_BINOP_DEC4_0B1BOB./GEM_T_BINOP_DEC4_0B1B1B./GEM_T_BINOP_DEC4_1B0BOB/.GEM_T_BINOP_DEC4_1B0B1B/.GEM_T_BINOP_DEC4_OBOO-*GEM_T_BINOP_DEC4_OOBO*-GEM_T_BINOP_DEC4_OBOBO--GEM_T_BINOP_DEC4_OOBOB*-GEM_T_BINOP_DEC4_OBOOB-*GEM_T_BINOP_DEC4_OOOB**$(0An 4 c!W4) W  ̰W cW$2GEM_T_INCR_GEN*;GEM_T_INCR_OP1,;Q@ l?   5E  P  k?  QE  >E  $(0A4"C t  vcWtt             \ \ *  W ̴W4 cW$2GEM_T_INCR_D8_1*;99 l? 5E  $(0A4" C t  v  cWt        \ \ *P W  ̴W4 cW$2GEM_T_INCRP_D8_1*;99BQ@ l?   59l? E  5l? E  E  Pk?  QE  >9k? QE >k? QE E  $(0A4"Ct  vcWt t t t              \\\*   W ̴W4 cW$2GEM_T_INCR_D4_1*;99Q@ l?   5  l? E  5E  Pk? QE  > k? QE >E  $(0A4"CtvcWtt                   \ \ * \ \ * \ \ * W ̴W4 cW$2GEM_T_INCR_D4B_1-;99$0A4Gc ̴Fn c ̴)W cW$2$@hGEM_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/$0An  4 c!Gn )W4) W  ̰W c W$2TDGEM_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/$0An  4c!W4)W  W c W$2GEM_T_CVT_D8_D4_GEN*GEM_T_CVT_D8_D4_1O,GEM_T_CVT_D8_D4_11,$0An 4 c!Gn ) W4) Wt  W  c W$2 TDGEM_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/$0An  4 cW4)W  ̰W cW$2GEM_T_CVT_INT_DEC_GENGEM_T_CVT_INT_DEC_OP1GEM_T_CVT_INT_DEC4_OPGEM_T_CVT_INT_DEC4_OPBGEM_T_CVT_INT_DEC4_OP1GEM_T_CVT_INT_DEC4_OP1B$(0A n  4 c!Gn )W4t  cW44) W   ̬W   c W$2 \LGEM_T_SH_DEC_GEN*GEM_T_SH_DEC_OP1,GEM_T_SH_DEC_OPB-GEM_T_SH_DEC_OP1B/Q $(0A4"C }  t^  v c!W}t e  t*  W ̴W4 cW$2GEM_T_SHRD_D8_1N7_1*9$ >>Q $(0A4"C}t^vc!W   }t e  t @ t* W ̰W4 cW$2GEM_T_SHRD_D8_1N7_2*9 $ >>>>Q $(0A4"C}t^vc!W   }t e  t @ t* W ̰W4 cW$2GEM_T_SHRD_D8_1N7_3*9$ >>>>>>Q $(0A4"C}t^vcQ$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F{g"!W   }t e  t @ t* W ̰W4 cW$2GEM_T_SHRD_D8_1N7_4*9$ PP $(0A4c!W* W ̰W4 cW$2GEM_T_SHRD_D8_8_1*9 TPQ $(0A4" C}  t^  v c!Wt* !W  ̰W4 cW$2GEM_T_SHRD_D8_8_2*9  TTP>Q $(0A4" C }  t^  v c!W t* "W  ̰W4 cW$2GEM_T_SHRD_D8_8_3*9 TTTP>>Q $(0A4" C }  t^  v c!W t* $W  ̰W4 cW$2GEM_T_SHRD_D8_8_4*9 PP $(0A4c!W* %W ̰W4 cW$2GEM_T_SHRD_D8_9N15_1*9$  PQ $(0A4"C } t^vc!W}t e  t @ t* \& W ̰W4 cW$2GEM_T_SHRD_D8_9N15_2*9 $  >P>Q $(0A4"C}t^vc!W  }t e  t  t @ t*' W ̰W4 cW$2GEM_T_SHRD_D8_9N15_3*9$  >>P>>Q $(0A4"C}t^vc!W  }t e  t  t @ t*h) W ̰W4 cW$2GEM_T_SHRD_D8_9N15_4*9$  PP $(0A4c!W* l+W ̰W4 cW$2GEM_T_SHRD_D8_16_1*9 PPP $(0A4c!W* @,W ̰W4 cW$2GEM_T_SHRD_D8_16_2*9  TPPQ $(0A4" C}  t^  v c!Wt* -W  ̰W4 cW$2GEM_T_SHRD_D8_16_3*9 TTPP>Q $(0A4" C }  t^  v c!W t* H.W  ̰W4 cW$2GEM_T_SHRD_D8_16_4*9 PP $(0A4c!W* /W ̰W4 cW$2GEM_T_SHRD_D8_17N23_1*9$ PPP $(0A4c!W* x0W ̰W4 cW$2GEM_T_SHRD_D8_17N23_2*9 $ PPQ $(0A4"C } t^vc!W}t e  t  t* \1 W ̰W4 cW$2GEM_T_SHRD_D8_17N23_3*9$ >PP>Q $(0A4"C}t^vc!W  }t e  t  t  t*2 W ̰W4 cW$2GEM_T_SHRD_D8_17N23_4*9$ PP $(0A4c!W* 4W ̰W4 cW$2GEM_T_SHRD_D8_24_1*9 PPP $(0A4c!W* T5W ̰W4 cW$2GEM_T_SHRD_D8_24_2*9  PPPP $(0A4c!W* 06W ̰W4 cW$2GEM_T_SHRD_D8_24_3*9 TPPPQ $(0A4" C}  t^  v c!Wt* 7W  ̰W4 cW$2GEM_T_SHRD_D8_24_4*9 PP $(0A4c!W* L8W ̰W4 cW$2GEM_T_SHRD_D8_25N31_1*9$ PPP $(0A4c!W* (9W ̰W4 cW$2GEM_T_SHRD_D8_25N31_2*9 $ PPPP $(0A4c!W* :W ̰W4 cW$2GEM_T_SHRD_D8_25N31_3*9$ PPPQ $(0A4"C } t^vc!W}t e  t  t* : W ̰W4 cW$2GEM_T_SHRD_D8_25N31_4*9$ PP $(0A4c!W* `<W ̰W4 cW$2GEM_T_SHRD_D8_32N_1*9 PPP $(0A4c!W* 8=W ̰W4 cW$2GEM_T_SHRD_D8_32N_2*9  PPPP $(0A4c!W* >W ̰W4 cW$2GEM_T_SHRD_D8_32N_3*9 PPPPP $(0A4c!W* ?W ̰W4 cW$2GEM_T_SHRD_D8_32N_4*9 =Q $(0A4"C }  t^vc!W  }t e  t\ * ? W ̴W4 cW$2GEM_T_SHRD_D4_1N15_1*9$ :>=>Q $(0A4R ٶ$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Fߍ"$"C}t^vc!W    }t e  t @ t\*TA W ̰W4 cW$2GEM_T_SHRD_D4_1N15_2*9$ :PP $(0A4c!W* CW ̰W4 cW$2GEM_T_SHRD_D4_16_1*9 TP=Q $(0A4" C }  t^  v c!W t\* CW  ̰W4 cW$2GEM_T_SHRD_D4_16_2*9 PP $(0A4c!W* 0EW ̰W4 cW$2GEM_T_SHRD_D4_17N32_1*9$ :P=Q $(0A4"C}t^vc!W}t e t @ t  \ * F W ̰W4 cW$2GEM_T_SHRD_D4_17N31_2*9$ :PP $(0A4c!W* GW ̰W4 cW$2GEM_T_SHRD_D4_32N_1*9 PPP $(0A4c!W* \HW ̰W4 cW$2GEM_T_SHRD_D4_32N_2*9 =9>=Q $(0A4"C}t^vc!W        ttt \ \ *=Q $(0A4"C}t^vc!W    t} tt e   \\*J W ̴W4 cW$2GEM_T_SHRD_D4_3O13_1*99$    $(0A4"C}vc!W} t e t @ tt&* L * L W ̴W4 cW$2GEM_T_SHLD_D8_1N7_1*9$  > $(0A4"C}vc!W  } t e t @ tt&* @N * XN W ̰W4 cW$2GEM_T_SHLD_D8_1N7_2*9 $  >> $(0A4"C}vc!W  } t e t @ tt&* P * P W ̰W4 cW$2GEM_T_SHLD_D8_1N7_3*9$ >>> $(0A4"C}tavc!W  } t e t @ * Q W ̰W4 cW$2GEM_T_SHLD_D8_1N7_4*9$ TP $(0A4" C}v  c! W* SW  ̰W4 cW$2GEM_T_SHLD_D8_8_1*9 TTP $(0A4" C}v  c! W* TW  ̰W4 cW$2GEM_T_SHLD_D8_8_2*9  TTTP $(0A4" C} ta  v  c! W* UW  ̰W4 cW$2GEM_T_SHLD_D8_8_3*9 GEM_T_SHLD_D8_8_4*9  P $(0A4"C}vc!W} t e t  t@ tt&* W * $W W ̰W4 cW$2GEM_T_SHLD_D8_9N15_1*9$   >P $(0A4"C}vc!W  } t e t  t@ tt&* X * X W ̰W4 cW$2GEM_T_SHLD_D8_9N15_2*9 $  >>P $(0A4"C}tavc!W  } t e t  t@ * tZW ̰W4 cW$2GEM_T_SHLD_D8_9N15_3*9$  GEM_T_SHLD_D8_9N15_4*9$  TPP $(0A4" C}v  c! W* p\W  ̰W4 cW$2GEM_T_SHLD_D8_16_1*9 TTPP $(0A4" C} ta  v  c! W* h]W  ̰W4 cW$2GEM_T_SHLD_D8_16_2*9  GEM_T_SHLD_D8_16_3*9 GEM_T_SHLD_D8_16_4*9  PP $(0A4"C}vc!W} t e t  t tt&* ^* _W ̰W4 cW$2GEM_T_SHLD_D8_17N23_1*9$ >PP $(0A4"C}tavc!W  } t e t  t * `W ̰W4 cW$2GEM_T_SHLD_D8_17N23_2*9 $ GEM_T_SHLD_D8_17N23_3*9$ GEM_T_SHLD_D8_17N23_4*9$ TPPP $(0A4" C} ta  v  c! W* bW  ̰W4 cW$2GEM_T_SHLD_D8_24_1*9 GEM_T_SHLD_D8_24_2*9  GEM_T_SHLD_D8_24_3*S$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FB"59 GEM_T_SHLD_D8_24_4*9 PPP $(0A4"C}t a vc!W}t e  t  * Pd W ̰W4 cW$2GEM_T_SHLD_D8_25N31_1*9$ GEM_T_SHLD_D8_25N31_2*9 $ GEM_T_SHLD_D8_25N31_3*9$ GEM_T_SHLD_D8_25N31_4*9$ PPPP $(0A4" C} ta  v  c! W* PfW  ̰W4 cW$2GEM_T_SHLD_D8_32N_1*9 GEM_T_SHLD_D8_32N_2*9  GEM_T_SHLD_D8_32N_3*9 GEM_T_SHLD_D8_32N_4*9   $(0A4"C}vc!W} t e t @ tt&* h * ,h W ̴W4 cW$2GEM_T_SHLD_D4_1N15_1*9:$ > $(0A4"C}vc!W  } t e t @ * i W ̰W4 cW$2GEM_T_SHLD_D4_1N15_2*9:$ TP $(0A4" C}v  c! W* jW  ̰W4 cW$2GEM_T_SHLD_D4_16_1*9 GEM_T_SHLD_D4_16_2*9 P $(0A4"C}vc!W} t e t @ * l W ̰W4 cW$2GEM_T_SHLD_D4_17N31_1*9:$ GEM_T_SHLD_D4_17N31_2*9:$ PP $(0A4" C} ta  v  c! W* tmW  ̰W4 cW$2GEM_T_SHLD_D4_32N_1*9 GEM_T_SHLD_D4_32N_2*9 =9> $(0A4c!W      } tte  \ *n W ̴W4 cW$2GEM_T_SHLD_D4_1_1*9 =9> $(0A4c!W     } tt e   \ *o W ̴W4 cW$2GEM_T_SHLD_D4_3O15_1*9$ GEM_T_SHLD_D4B_1N15_1-9:$ GEM_T_SHLD_D4B_1N15_2-9:$ GEM_T_SHLD_D4B_16_1-9 GEM_T_SHLD_D4B_16_2-9 GEM_T_SHLD_D4B_17N31_1-9:$ GEM_T_SHLD_D4B_17N31_2-9:$ GEM_T_SHLD_D4B_32N_1-9 GEM_T_SHLD_D4B_32N_2-9 T > >>> $(04cDW{ * `sFW{ * psF  W{ * scW$2P|GEM_T_CMPEQL0_DEC_GENGEM_T_CMPNEQ0_DEC_GENZ= >Z= >>>Z= $(04cWD {  * $u F {  * Lu F  {  * u 4cW$2TGEM_T_CMPLSS0_DEC_NZGEM_T_CMPGEQ0_DEC_NZCZ> >Z> >>>Z> $(04cWD {  * \w F {  * w F  {  * w 4cW$2TGEM_T_CMPGTR0_DEC_NZCGEM_T_CMPLEQ0_DEC_NZ5Q5> 5>Q55>> 5>>>Q55>5>5>> $(0A C C^ v 4   c ! W4c!W   W4 4W{ D  *y F*y F*dz 'lF'ZcW$20<DGEM_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_1B0B/.5Q5> 5>Q55>> 5>>>Q55>5>5>> $(0A C C^ v 4   c ! W4c!W   W4 4W{ D  *} F*} F*T~ cW$2GEM_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_1B0B/.5Q5> 5>Q55>> 5>>>Q55>5>5>> $(0An 4c!Gn ) W cW4c!Gn ) W4c   W4{ D  *8F*F* 'lF 'ZcW$2dT0DTlxGEM_T_CMPE_DEC_OOB*-GEM_T_CMPE_DEC_OBO-*$(0T+ $ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F"FAn  4c!Gn ) W cW4 c !  G n  ) W4cW44 )WtWcW$2dTGEM_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-*$(0An  4c!Gn ) W cW4 c !  G n  ) W4cW44 )WtWcW$2dTGEM_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*-$0m4zW SccW2<DGEM_T_CSE_DEC_GEN0$2GEM_T_CSEREF_DEC_GEN<*GEM_T_CSEREF_DEC_OP0<+GEM_T_CSEREF_DEC_OP1<,GEM_T_CSEREF_DEC_OPB<-GEM_T_CSEREF_DEC_OP0B<.GEM_T_CSEREF_DEC_OP1B</6OOP4PWWWXHXtXXXX$YPY|YYYZ,ZXZZZZ[4[`[[[[\<\h\\\\]D]p]]]] ^L^x^^^^(_T____`.OOP4P`PPPPQ$>T>,>  d>>> ?>  (??\ 4?????  @?@ $@@@@@  l@@@ @tAAhAxABABAUѣK$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F "W` A0BB  |!!!!! >  |!"! ""D>  |!L"0"X"8"| h"#####t(h"###$#P $l%%d%%x%7 %T&t&L&&`&0 &@'`'8'l'L' |'8((D($(' T()()(J ,)))))' ******J +++++4 +,,,,T ,-|--- 4 -.l..|. T./h//p/D4/l0P0x0X0DTH0000<00000&@'1010 11111 11111i1 221142822dD2`2d2L2p555|565x 66p6x 676x 777 7<8(8x 8989t9d999|99999 :99:H:4:P:::x:::::::h;X;x p;;;;@<0< < =< ==p=x= =(>D> >0>P>>?>>????? @?T@HA@ATAAAA BB,BB 4BBBpBB CBBB0CC CBLC>,>>|==d>H>t>P>t89>>>>d>x??p???D>x?????d  @@@@@@|DA B(BB8BB| B\C|CTCCdC| CDDDDD| CDED$EE| @EF$FE4FFD$@EF`FDFpFLFd $FGGGGGd2 GHHHHHdGHIHIHd(IIJIJIdGH@J$JPJ,JtJ|KKtKKK| (LM ML0M Md+(LM\M@MlMHMd$(LMM|MMMt$PNDOdO>>>*8????*8@ A,AA*ABBB*.4CCCC*4DEED* HEEEE*XFPG\G8G*G0Ha{ !BB!B[ $ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1;1FY"| ||vPuPAArqqqo0E>LϺl(k(jiAAgffffcp>baaaB_~A_}F]t]tE]t\[lllBB,d brcr1\VUUUUVUUUUUUU)x9Sr ^NQGzGBAAAAAAAON;;;>S!5Lh/Kh/yJ)A)J$I$I$I$Hp}~GpFXia{JݗVFpREDDDD7S\2 B!B!BBAAA@? > ||~5&rv 1̵ak;:AAt 9h98qq9p8p8"uLϺ6i贁N6P^k(M S;5H4HAAґ=ӑ=QȞ43333ޚ)Sn18!8:ˊ1 0 aa/ ~A_}/IyLȤx.]tE]tq \.p.؂-lll.-hhhe! YB,d ,X`X`cr1cr1\,Fڱ1Ҏ#XVUUUUUUU`\Q/~QSr ^NX +jJ(\GzG\ ߈実-VoDBAAAAAAAE|'J">(vb'v;;;(p'p888peCjS!5cEi|do 4>2&^Kh/&i?YNش,<%S)A)%jNPs 5'%I$I$I$I$@$C"x!$>~GpQ9(jP#,4a{$0#0c+FpR&&]\\#""""|iV). M!h h C!B!B6^I w/$! AAA @   YF'YF| ||0{0{ rv s:Ws?n]qh?n]kakKe{9ÂKe{AAAX.CX:h9hU0KU0Kqqq@?8p8pAҽto@ҽLϺLϺַ8ַN贁Nd dk(k(XWXWW;mЦЦmЦAAA?m?mQȞӑ=QȞK-J-̀O'ˀOoSnZ"000ˊ8:ˊ _nL _naaa,wɃ+wɃ_@_@}~A_} zF5 zȤxyLȤxKC}vJC}vE]t]tE]tnBr]mBr.p.p4vnl|3vnlllll8j?)7jhhhhhf/f,dB,dp?bx#p?bX`X`X`u^u^u^2\cr1\VZlVZ#X1Ҏ#XW#WVUUUUVUUUUUUUASp@S0~QQ/~QPPPPPr ^NSr ^N[rLPZrL,jJ+jJ.;SIn-;SIzGGzG] F\ F.VoD実-VoDR]bBnQ]bBBAAAABAAAAAAA???K">'J">GZ<AtGZ<;;;;;‘9r3‘988888=ߘ6Tyt=ߘ6!5S!5|E3 {E34>2o 4>201 0Kh/Kh/\.p \.ش,Nش,J@+J@+B))A)((((( 5'Ps 5' '%9/ '%$I$$I$I$gE#ͫgE# x!"x!}p v |p Gp~Gp.2D.)j(jon{a{8EG)8E(h7'hSFpRӬ]\]\\u56u5jViV Yi   Zn~ 6yYn~ h h h S :?S "BB!B`2f|`2/$w/$t}GA@s}AAAQ Q !@    PI IeLW 1S,#'YF!/P0Bd_> || -?NX =`0{It_rv ,ՠmFuYAIHֹ:Ws΋3 .qh?n]PI͵sakD1"/ ¥9ÂKe{׉׬d +W AAԉe9?r w{e.CXЉ&raK& H9h͉lm` *%U0K2Y eIʏ8qqk \Mʼn x? vɩ5lSk8p8p5th>X ¡L\to@ҽB,'XOgLϺIXq5Q a8ַɻ/2R;.^A t贁NIVB"lt e dɶʎYJ>*5k(ICII,ր+XWW @|xʿ~ɰT{;ɯ2\e.6 hЦmЦE;WvtI AAI)>TaQ|¢I˟?m   tdӑ=QȞ \ӂvy &wJ-ɤR'q QNɣɢwlx)>Rɡf''ˀOɠ_+z7˕ɟESnɞ3`βgLɝNZ" xjO  Ԑ |  ד2qs'e i 00It/I`{e8:ˊI `^/7L _n=+ {B 0 aaɓxJC}vI VV lu颋.]tE]tɆ*T Os 7C!]mBrIlÛuن7q].pɃ'o&o&o Zl|3vnI41hbm ` lllɀUHϣ1k ?)7jIG9. si~ @ hhh ~ 7q`gI}Rc/f|)|3S$e |ZBB,dI{Wĵ k5cz x#p?b zA:6KaIy ,X`X`xJ!ߒBCf_ x:u^u^Iwh>îJS*>|]v\ALcr1\ v@2խ d̫[u X+`lVZtw<YIt v1Ҏ#Xs YV`X si#WIrӽ.ŧ{9VqVUUUUUUUIq5/9/k^rTpGJȩp@S pAWTjRoW?Q/~QnyVL.PIn PPPm{E-8OImy9/Sr ^Nl¦;M l.9UPZrLk5ChK k~+jJjk`'J jϩn-;SIi )@# RHhq= ףGzGIh̢qnQbEFg?^\ FIg<Ϟlw,=Ef+7実-VoDIf`9ѡ sCe.1knQ]bBIe2>eR BdBAAAAAAAIdt<e`V-x@c ؟??Ic.ztmZ*>b&e'J">IbT̮[\]= b#LAtGZ2I[PǺØ`u1Z h1 0IZ!VA&@0 Z %Kh/YuZ_. Y].p \.Xk P. P-IX lONش,Wrq+W h%J@+ WHS?@ABCDEGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !#%&(*+,-./13045689:;=<7>?ACDEFGHIJKLMNOPQSTWXYZ[\]_`bcdefhijklmnopqstuvwxyz{|}~      "#$&')*+,.!%(-/0234567B^Rra"$')781JgF2VTTTTTT0T TTTTTTT4T$T@@@ @XXXXXXXXX0X X(XXXX8XXX XXXXXXX4X$X,XXXX<XDDDG DD DDD DDD@@TTTTTT @ @XXXXXXXX@@\@\ \WWWWWW3W#WWWWWWW5W%WWWWWWW5W%WWWWWWW5W%W_WWWWWWWW_&_f_[[[[[[[[[[[[[[[[[[[[[[5[%[[[ [[[[[[[5[%[-[[[[=[`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`<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\\@h)*.` (048Ppdltx|+U[[hh -9223372036854775808Alpha/MACRO-64 - LOC Facility%*d%0*d%0*X %0*X%08XMACRO-64 V1.1-087 .REPEAT.IRP.IRPC%d$ ,=;) > .endc TRAPB .endm TRAPB .endm .nlist excb .list .endm .nlist EXCB .list .endm .nlist wmb .list .endm .nlist WMB .list .endm .nlist unop .list .endm .nlist UNOP .list .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]P$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1OM;1FD" 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 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 .macro draint .error "DRAINT is obsolete. Use TRAPB." .macro DRAINT .error "DRAINT is obsolete. Use TRAPB." .macro excb .macro EXCB .macro wmb .macro WMB .macro unop $OPDEF MNEMONIC=UNOP,FORMAT=CUSTOM, ENCODING=<0:31=^x2FFE0000> .macro UNOP .if ne, <%type(MACRO64$AT_END) & MACRO64$TYPE_MACRO> MACRO64$AT_END Alpha/MACRO-64 - MAC Facility.library "STARLET.MLB" "MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARY" .library "MACRO64.MLB" "MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARY" $OPDEF MNEMONIC=EXCB,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x0400> $OPDEF MNEMONIC=excb,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x0400> $OPDEF MNEMONIC=EXCB,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x0400> $OPDEF MNEMONIC=excb,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x0400> $OPDEF MNEMONIC=WMB,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x4400> $OPDEF MNEMONIC=wmb,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x4400> $OPDEF MNEMONIC=WMB,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x4400> $OPDEF MNEMONIC=wmb,FORMAT=< CUSTOM>, ENCODING=<26:31=^x18, 16:25=^x000, 0:15=^x4400> $OPDEF MNEMONIC=unop,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000> $OPDEF MNEMONIC=UNOP,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000> $OPDEF MNEMONIC=unop,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000>      ( 0 8 @ H P X %d%dEDITELEMENTEXTRACTeditelementextractFREGfregINTEGERIREGintegeriregLENGTHLOCATElengthlocate REPEAT repeat STRING string TIME TYPE time type`4 4 4 4 4 5 5 Alpha/MACRO-64 - MSG Facility...MSG - Error in message argument typed% 3d%  3(>A@?dc@BkZbZbZbйPbac@cW8d@EN`EL`ELJLPpRT`T(SR`E0LBk(llekHlWWUc`LPJmplmm KKIJpJ`ELDH`III@IHi@HG@_^^^GGFGPG@Fi FEEE`]H]0]\PP0Pcbf@f E`I@IHc[`[JJJ`Z(Z`D@D DCCCpC`C0C CB SEM VM zone.MAIN.34567Consistency Check in SEM Token stack overflow   A^a$$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1FCN"!!Aa!!AaD!!!34567     @  @M64M64MLBMLBAlpha/MACRO-64 - SRC FacilitySYS$DISK:[],MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARYSYS$DISK:[],MACRO64$INCLUDE               $    $$  $ $  # #$       MACRO64$Alpha/MACRO-64 - TOK Facility " !((((VVTTTTTTDDAAAAAAAAAAAA @ -..//00_< $ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1F"112233445;<BCIJPQSTVWXY_`fgmn|} !`a@A  ! ` a@A`adelh@AH !b"f#B$&'`(a)d*e+l,h-@.A/H01b2f3B4 V X Z`^```b`dk l!m`nao@pAqs t!u`vaw@xAy{ |!}`~a@A ! ! !delfdelf`adelh@AHbfB !`a@A !`a@A`adelh@AHbfB`adelh@AHbfBQRU V!W`XaY@ZA[] ^!_``aa@bAcegij`kaldmenlohp@qArHstbufvBwyz`{a|d}e~lh@AHbfB  `d`d !`a@A !`a@A`adelh@AHbfB`adelh@AHbfB &wordPAGEtbkCNDgblLIBRARYFPTblanknovecTBKGBLWORDpicnoshrPICndfnomixeqBNDFTRIMconnowrtDFCONUPCASEbtrimincludeNOWRTNOMIXNORDleNOSHRltdbgnordNOVECEQrdBLANKGREATERGLOBALDBGidngerelBYTEwrtIDNgtglobalRELmixmcmegreatermdWRTbyteshrMIXquadusrnopicEQUALSHRvecLEUSRNOEXEBINARYlongdifVECQUADLTbinaryRDDIFupcaseFLOATlsbnbLONGDEFINEDneamaGELSBAMAmebGTdebugMCMDMEMEBabsdefinedexeINCLUDEnoexesupABSCALLSEXEcallsequalovrNOPICOCTAlclSUPlibraryOVRlibLCLdfpagefloatoctaNBDEBUGNELIBcndfpt`ʗ&$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1F"lowercaseIDENTICALDIFFERENTSUPPRESSIONtruncationbyte_alignabsoluteTRUNCATIONtracebackALIGN_LABELdefinitionsALIGN_DATACOMPRESScompressGREATER_EQUALSCHEDULEpeepholePEEPHOLEsuppressiondifferentidenticalLOWERCASENOT_DEFINEDLOCAL_BLOCKexpansionsEXPANSIONSPREPROCESS_OUTPUTconditionalsTRACEBACKcollapsenot_blankCOLLAPSEDEFINITIONSscheduleCONDITIONALSNOT_BLANKNOT_EQUALalign_labelnot_definedalign_dataALIGN_CODEless_equalalign_codenot_equalgreater_equalpreprocess_outputABSOLUTELESS_THANlocal_blockLESS_EQUALless_thanBYTE_ALIGN INCLUDELIBRARYBINARYFLOATCODEDATACLPCODLEXLOCLOFMACMSGRESSEMSRCSYNTABTOKUTLEXPSYMBOLSAS_ISOBJECT.OBJLIST.LISDEBUGNAMES.DMP.DIASHOWNOSHOWLIBRARY.ASMDEFINEȍ EXPANSIONSCONDITIONALSTRACEBACKUPPERCASELOWERCASEPEEPHOLESCHEDULEINFORMATIONALSWARNINGSWARNINGSMACHINE_CODEOPTIMIZENOOPTIMIZEENVIRONMENTALIGNMENTNOALIGNMENTDUMP_FILEDIAGNOSTICSDUMP_FACILITYSYS$LIBRARY:.MLBPREPROCESS_ONLY؎ Ѝ ؍    ( 0 8 @ H P X   ` ( 8 H X 33@33`333`3 3 3333`3@333@33COD_NAME$   $ $  < $ d |  @@@`@ @D@@A@@@@@@ @@A??@O_???@AC??@??@@??@@Y Z @Z xZ Z % dt2\|{2\2pH{4T2@<L (Xhx\\d@` ,{{{{{{|$| l8HT@<|h|@hغhph,|2xh<lĘ\H,8 L<]]8] 0T\]33p]D`T]]]Ą ^|8Ll\8L(^`^|\t|Ę@Ľ|^^^^̆؆d44|`(4PT5В$ 8<|8P as$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1Fq"#p+q+q+  q+p+(q+,4q+ ,  Lq+Dq+( Tq+p+\q+hq+xq+  q+p+q+,q+ ,  q+q+( q+p+q+H,q+ ,q+p+ q+p+q+r+r+ r+  4r+,r+  Hr+@r+  Xr+Pr+ H hr+`r+ , r+xr+ @$ r+r+ B0 r+r+ r+p+( r+p+ < r+r+@ s+p+s+ s+4s+@s+Ps+hs+ |s+ D s+p+s+  s+s+  s+s+  s+s+ s+p+  t+t+  4t+,t+ Ht+p+  \t+Tt+ lt+p+ |t+p+ t+p+t+  t+t+ t+p+  t+  t+L t+p+ d u+t+h u+p+ u+4u+  Lu+Du+  Xu+ hu+$, xu+$, u+  u+u+  u+u+ u+p+ u+  v+u+t v+$v+4v+Hv+\v+pv+v+v+v+ v+ v+v+v+w+P w+$w+ 8w+ Hw+Xw+,dw+ tw+  w+p+pw+,pw+,  w+w+  w+w+ $ w+w+  x+x+  (x+ x+  @x+8x+  Px+Hx+  dx+\x+  |x+tx+   x+x+( x+p+, x+p+0 x+p+ 4 x+x+ 8 x+x+ < x+p+@ y+p+D y+p+H $y+p+  4y+  @y+  Ly+T Xy+p+ X py+hy+ \ y+y+L y+p+` y+p+ y+p+ P y+y+ y+ y+p+ z+p+ z+h ,z+p+l Ix.PqyI]횄`\>ݻ !.qo. + 7\+TȮN`MZC!Q BCIMLHNȻycm)TRئZqVH?ӧc qv!AP ג|¤LDuq JGXXr#$$q/8mR噘̚mP@e0tIMYSb+wYgEO. u3lu%Pe%6:5-oF)#r-KpsmWL8\OS9q1?xVA ɣ ag7dl7"AzXIKi@/|׆_pQ`CŖ:J)b6%Qq]Y[6')*) u ?)m(VXrxNM1PVӨSX29EZ ʇ)*K V3b\Kv;Qig] 9en2AȳvɲݥY`Ҵ "^U5<ɬܰh %OH{Eu:,b4qI.: 1B"š785n)r*/sNX{?>XC={&ƾss6G`=!Om w.&A3t <ۚ^:)$HB'.AXtt~!Gͪ7P&Vy _ S6?%*ElVl1I-Joʥ𷹂Ñ;Ja^2^8/baHf`Nsa?u6Fr0Ĺ5U4)lH5֦;^`ڎp8|*URϗl!-Е Hb$tԑSU.s3ݐ&N^8(Й<%L!c^ҧݯ5dį e#oX(=g _ Hyp 5i IM@̮}]!gk&R֓x~oQ!*=::=V{j+I@jiz}K%؇%( PcMZ7_O&D#.񺯠%F*9cGBkX+mR!  $8)w@Z:Ľ{fة%ec]\7m¥ϥ*g¯ٴ]-ߕ4PZGnWeޭzzZ Sf}iwdqǦhr'|$h<]@v%tu2ЏB\g_UX2U9i*|>Qc{ݳ9/.uT6-i+JUWapsbht(CŌIft[nn~(KDZU GrA>T:؂KuIL$u$lbE=g(?tZf\h: 9xSnQp`}AO!4DznzHDY F$ h(qy ..) ]V'~'5q hÎ_+߇J#5z/]upGq#z~s`P%}eY LK@ʪuOy!қ&p񯴲' oCu1x]\-q?I ъʂ9N•^ˆEezᨤj.^x~MjT31m kVD,{*th9f15 }#:pASCXWl , [@e/w癆Mv4Ba(q`*ki\kabD9Edy Ӽ*v [?K9FC߀,9W] [B5~rۂn/xLIV9$lY#e' 'Oi%hA_~]0 bR}W'RxeZR& nu0|XO7&͟qa>̹c%WpjO*iW'ïw*V^ٯawx/j } x߶ؙJ6b[O:|%KqR*7i>rք'tQPٔZ3WSn AEvv`Üa v!=a_v)qM|JF :Y@0dc|fa?qLrIGP( w:VHT׭%OE-!GO"0{~{u}f~TGe zE*HD|4Lj\Qs]l U "CЈAed6ќ=#AoHb`17eƤƜ  8}>3wO#Zhڷo6R0pDGe?uC_A[=4_v.VHg"cB_nzK%ka4s 5O,VXoEFhX_guK,:gY;F$ZФ ֐RTl{TIʙMueCejO*%A}( 4^2xr"m邧@'$~DLg= RFnmt"D}&^1gYdOb8*;[!4HZ2J]hNout\U'>8T0Cc-0@sJڱi",!>C,\Lm*sK 6AߌιFaрmOB|mzx<|^Ivin-ɛgD6vdoA0Z޻LV t%P]ei%reL)a`a$=pe7mRaepoY=w?U]~JnZ&c?K3ݛqu.vRfMKs{JNy`. ',Ĕ vP˖U:8DDt7cinXʲR)` _0 ᫋0`$^ jÙ$z3=1:Ya~F?fw[Z5h Y^JCb-d? xţO=3T'aԨIL_WE&5d\x"7v^ZM(D70B S)ʢDae|5~S)6d'2&qe&*`?BEIJ(ZhֳFzMvJs!jCoH9ڬ.S_bSP^_8X2)C$'FiDI6aH:`Ymxo8:d|e&#lpw+X c昗;f:tWL3#MWÝPs639 YR*YrсfUsND?+xhû"} m,A ).=olBr6],~eeNaDo$!<:8 x( -ؐ5ڶ-i38 m-`2-k0\QnN8EUpWYqЈ;U,)afuVBG>.KPIL25*Z&ʻ HGE0^ZhO?BA"lv 8vv.d5m_Avj_ B8H\`8l{|eVAw!~ Bsp Ӵ1cWjW5܁Ͷ k:qqyi.+'\ZlfxͫNKm/D87E q{tFF&I/}Bz; =]ٚTuͅ2y4U(‚6s]j6CM#rބTҙ/lW@)X,b!n#Mv ŏbB/}kZKx5b#64+V@RG9n2޶o! -s$Z=a/PoJmny|"3/Yb'Nu9]ha\lzB';)_k 6gFf@=$P{\Nl t\;BH,e(tgp*`f"i/,3`D=AI`J>a;R/j}ޗ܋ʭڵTu?ƣVާ DBHEEޯAG_P 5teq☒I[CV9pY󕟢0O9×I#XaH1`p^y(dcVԖɸB`A2뛮 |I}Zv֠JMj(֠?5d-\j4y=:Y674hniIJ &І$œT~g~]|,ym>8Qoub(>,m“IMWyA86һ2$)nuN˴·u(}h&%j{n`ጘl bUUf:Kp:&_˲]vͅ棦 aBnu??TAB_MISCTAB_NAME.MAIN..addresse .align.ascic!.ascii.ascizM.ascid$.blka].blkbZ.blkdX .blkfV .blkgW .blklP .blkoO .blkqm.blksk.blkth.blkwg.byte C .signed_byte D .signed_word$ .code_address  .d_floatingS .define_ireg T .define_freg .doublej.disable.dsabla.else.enabl.enable.end.endc.endm.endr.evenj.error .external-.extrnE .f_floatingq߽cE$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1F"".floatj .g_floating .identB!.if&" .if_false\#.if_true:!$.if_true_falseS".iff"#.ift$.iftf5%.iif&.include'.irp](.irpc|).library"* .linkage_pair+.long,.macro-.mcall..mdelete /.mexit&0.narg? 1.nchr 2.octak3.odd4.printN$5.procedure_descriptor6.psect7.quad 8.repeat8.rept9.restore9.restore_psect:.saved: .save_psectW;.sbttl; .subtitleS< .s_floating#=.title> .t_floatingU .undefine_reg?.warn6@.weak A.word4B.pageE.listE.showlF.nlistF.noshowG.cross% G.nocross G.debugG.default G.entryzG.linkTG.maskG.ntypeG.opdefaG.ref1G.ref2G.ref4G.ref8G.ref16 G .transfer%G.globalG .h_floating H.base N .begin_exactlO .end_exactP.local_procedure_descriptorJQ.local_linkage_pairR.local_code_address.ADDRESS .ALIGN.ASCIC.ASCII .ASCIZM.ASCID.BLKAI#.BLKBF#.BLKDD# .BLKFB# .BLKGC# .BLKL<# .BLKO;# .BLKQY#.BLKSW#.BLKTT#.BLKWS#.BYTEC .SIGNED_BYTE-D .SIGNED_WORD$ .CODE_ADDRESS%.DISABLE .DSABLrF5o$ALPHA_MACRO64011.APULU&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1FE>"3X .D_FLOATING S .DEFINE_IREG T .DEFINE_FREG .DOUBLEr .ELSE.ENABL$.ENABLE.END .ENDC .ENDM .ENDR .EVENa.ERROR .EXTERNALM.EXTRN< .F_FLOATING .FLOATa .G_FLOATING  .IDENT9!.IF!"Զ .IF_FALSES#.IF_TRUEB$.IF_TRUE_FALSEJ".IFF # .IFT$.IFTF,%.IIF&.INCLUDE'.IRP) (.IRPCh ).LIBRARY"* .LINKAGE_PAIR+.LONG,.MACRO!-.MCALL..MDELETE /.MEXIT 0.NARG+1.NCHR 2.OCTAW3.ODD4.PRINTP5.PROCEDURE_DESCRIPTOR6.PSECT|7.QUAD8.REPEAT 8.REPT9.RESTORE=9.RESTORE_PSECT:.SAVEP%: .SAVE_PSECTf;.SBTTL ; .SUBTITLEs< .S_FLOATING=.TITLE > .T_FLOATINGUD .UNDEFINE_REG?.WARN-@.WEAKsA.WORD+B.PAGE $E.LISTE.SHOWcF.NLIST Fl .NOSHOWG.CROSS'G.NOCROSS G.DEBUG#G.DEFAULT G.ENTRYqG.LINKK G.MASKxG.NTYPEG.OPDEFX"G.REF1