XkV$ MACRO64011.A` MACRO64011.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY DISK$USER2:[ASM.KITBUILD_20202F79_A]*.* DISK$USER2:[ASM.KIT]MACRO64011.A/LABEL=(MACRO64)/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 -@~0123 KPWO 56 QzP7P89GHJ0D`0205:3P&h  HELP_MERGEV1.0 :3P05-13   ? ! VAXCRTL_001! LIBRTL_001! MTHRTL_001Usage is HELP_MERGE filespec_master filespec_update filespec_out [alt_key] %sr%%HELP_MERGE-F-OPENIN, Error opening %s for input r%%HELP_MERGE-F-OPENIN, Error opening %s for input w%%HELP_MERGE-F-OPENOUT, Error opening %s for output %%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 %s%s%s2 %s2 %s%s%s^_@P<^MSЬRb*bPPTDcDcRbbPPQAcAcЬUbaPbPPQAcAc:UPU `b=bPPQAcAc+Rb%bPPQAcAcPb~PRbu Ue Ue|^SUeRbPPP@cPwTPbP0PPTRbPPP@c苏bPPP@cIb DRVb*bPPQAcAcRbbPPQAcAcVRRTPPb/FRTb*bPPQAcAcRbbPPQAcAcTRRЬPP<^1TUݬ<~elP1RݲPQ1QЬPP(8HXhgP?PPQPPSNPQPPS>PQPPS.PQPPSPQPPSPQPPSS,լ eߤLݬ ݬ<~eP1?P ^7TXS|ѬѬdhfݏ]ߤOЬRݢ<PW'ݢߤQh4dh)ݏ ĄЬRݢPY(ݢĆhdhݏĹЬRݢ PU(ݢ ĻhdhݏѬЬRݢ L߭YiR !ЬRݢh\ݏS/!ЬRݢ5h4ݏ+ $V PU߭W`gP FP ϛ  P$  PcďU1߭WgR cĒUi6PU߭WϼgP cĕU3gR c $ĘU RVPPVPRP$ĚURVPPVPRP ĜUU߭Y1߭WgP gR c ğUlRVPVPRP$ġUKRVPPVPRP ģU#U߭YYgR I ĦUW<~cP$cĩUW<~cPWUP@@x  l<d| , t $ @VAXCRTLLIBRTLMTHRTLp$t$ HELP_MERGE usage edit ,edit_1. dedit_2 vedit_3 ~edit_408 edit_5[ line_level line_level_6 line_level_7 . line_level_85 line_level_9.Dwz line_level_10 line_level_11.F advance_helpadvance_help_12 advance_help_13& advance_help_14_ main main_15 main_31 !main_16$!main_32 'S!main_17c!main_33 (!main_18!main_34 (!main_19!"main_20!T"main_21l"main_22b"main_23"main_24"main_25"main_26-#main_27#main_28V$main_29|$main_30I x*%(*[ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1+,LU.'/ 4j''H-@~0123KPWO(56x:7P7`P89GHJ N$ !***************************************************************************$ !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 = "VAX"$ req_arch_name = "OpenVMS VAX"$ min_vms_version = "V5.3";$ min_sys_blocks = 21000 ! Normal installation - number of$$ ! free blocks required (peak)$ min_global@Tj$ MACRO64011.ALU@~([ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1j'@u"_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 = "LSE"$ lse_lmf_prod = "DEC"$ lse_lmf_ver = "1.0"$ lse_lmf_date = "1-APR-1987"$ 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$!$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$ ! $$ ! Copy new ENV file to system area$ ! D$ vmi$callback provide_file 'ident'$lse LSE$SYSTEM_ENVIRONMENT.ENV -1 VMI$ROOT:[SYSLIB] ! $ GOTO HELP_INSO$ !E$ ! No LSE support message.$ !A$NOLSE: $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 " O$say "not installed on your system. If you want ''name' language support for "O$say "use with LSE, you must:" $SAY " "R$SAY " 1. Install LSE."3$SAY " 2. Register and load a valid LSE license.T!$SAY " 3. Re-install ''name'."S $SAY " "EC$SAY " If you do not use LSE or you do not need ''name' language " D$SAY " support for LSE, there is no problem with your installation "$SAY " of ''name'."U$SAY " "$ GOTO HELP_INS $ H^$ MACRO64011.ALU@~([ASM.KITBUILD_20202F79_A]KITINSTAL.COM;1j'"!G$ ! 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 "pI$say "not licensed for use on your system. If you want ''name' language"P*$say "support for use with LSE, you must:" $SAY " "i3$SAY " 1. Register and load a valid LSE license.t!$SAY " 2. Re-install ''name'."t $SAY " "lC$SAY " If you do not use LSE or you do not need ''name' language "tD$SAY " support for LSE, there is no problem with your installation "$SAY " of ''name'." $SAY " " $ HELP_INS:F$ !.%$ ! Provide the DCL COMMAND LINE HELP $ !sN$ vmi$callback find_file MACRO64$HELPLIB HELPLIB.HLB VMI$ROOT:[SYSHLP] - S HELP$FOUNDr8$ if HELP$FOUND .nes. "S" then goto no_master_help/$ master_help = "VMI$KWD:''command'_MASTER.HLP" $ gosub qz$enter_quiet_zoneF$ library/help MACRO64$HELPLIB/extract='command' /output='master_help'$ gosub qz$exit_quiet_zone<$ if f$search(master_help) .eqs. "" then goto no_master_help#$ help_merge := $VMI$KWD:help_mergeAO$ help_merge 'master_help' VMI$KWD:'ident'.HLP VMI$KWD:'ident'_MERGE.HLP /ALPHA.R$ vmi$callback PROVIDE_DCL_HELP 'ident'_MERGE.HLP ! $ goto help_done$!$no_master_help:+$ vmi$callback PROVIDE_DCL_HELP 'ident'.HLP$! $help_done: $ !.$ ! Successful completion.$ !o$ exit VMI$_SUCCESS$r$ !$ ! Error completion.q$ ! $ FINAL_ERROR:#$ VMI$CALLBACK MESSAGE E INSTLABT -l1 "Aborting installation of ''name' due to error",$ exit VMI$_FAILURELL$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$ !8$ ! Run the IVP0$ !i $ do_ivp:0$ @'ident'$IVP QUIET$ exit $status$!$! "O$!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++p#$! Subroutine CCV$CHECK_CLD_VERSIONiF$! This subroutine checks for the correct version of the command-lind %$! definition for the specified verb._$!G$! Inputs: CCV$CLD_FILE- String symbol containing the filespec of the $! .CLD file to check $!L$! Outputs: CCV$UPDATE_NEEDED - "F" if the current MACRO verb definition is 9$! at least up to the version found in the specified " $! .CLD file, "T" otherwise.7$! CCV$STATUS - 0 if error in .CLD file, 1 otherwiseO$! $! Linkage:N$! GOSUBO$!-----------------------------------------------------------------------------V$ccv$check_cld_version:_"$ ccv$status = 1 ! Assume success$ ccv$bad_verb = %X00038090$ ccv$bad_qual = %X00038240$ ccv$bad_keyword = %X00038060R#$ ccv$define_verb = "DEFINE VERB "e1$ ccv$define_verb_len = f$length(ccv$define_verb)'2$ ccv$cmdver_type = "DEFINE TYPE CMDVER_VERSIONS"1$ ccv$cmdver_type_len = f$length(ccv$cmdver_type)t$ ccv$keyword = "KEYWORD "*$ ccv$keyword_len = f$length(ccv$keyword)$!/$ open/read cld 'ccv$cld_file' /error=ccv$errorN$ ccv$verb = ""h$ ccv$cmdver = ""o$ccv$read_loop:i*$ read cld cld_rec /end=ccv$read_loop_exit3$ cld_rec = f$edit(cld_rec, "trim,compress,upcase")'H$ if f$extract (0, ccv$define_verb_len, cld_rec) .nes. ccv$define_verb -$ then goto ccv$check_cmdver_type<$ ccv$verb = f$extract (ccv$define_verb_len, 32767, cld_rec))$ ccv$verb = f$element (0, " ", ccv$verb)$ goto ccv$read_loop$!$ccv$check_cmdver_type:OH$ if f$extract (0, ccv$cmdver_type_len, cld_rec) .nes. ccv$cmdver_type - then goto ccv$read_loop$ccv$cmdver_loop: *$ read cld cld_rec /end=ccv$read_loop_exit3$ cld_rec = f$edit(cld_rec, "trim,compress,upcase")f@$ if f$extract (0, ccv$keyword_len, cld_rec) .nes. ccv$keyword -% then goto ccv$check_done_loopingO>$ ccv$new_cmdver = f$extract (ccv$keyword_len, 32767, cld_rec)5$ ccv$new_cmdver = f$element (0, " ", ccv$new_cmdver)iF$ if ccv$cmdver .eqs. "" .or. ccv$cmdver .lts. ccv$new_cmdver then - ccv$cmdver = ccv$new_cmdver$ goto ccv$cmdver_loop$!$ccv$check_done_looping:G$ if ccv$verb .eqs. "" .or. ccv$cmdver .eqs. "" then goto ccv$read_loopS$!$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;$ MACRO64011.AXU@~,[ASM.KITBUILD_20202F79_A]MACRO64$HELLO.M64;1ND,*[ASM.KITBUILD_20202F79_A]MACRO64$HELLO.M64;1+,XU./ 4N -@~0123KPWO56ywP7`yѓ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 section 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+,QU./ 4y-@~0123KPWO56 VP7P89GHJ $ 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 sublicenZ[$ MACRO64011.AQU@~*[ASM.KITBUILD_20202F79_A]MACRO64$IVP.COM;1y Hsor.$ eod$!$bypass_legal_notices:$ delete := delete$ difference := difference$ exit := exit$ gosub := gosub$ goto := goto $ if := if$ open := open $ on := on$ read := read$ return := return $ set := set$ write := write$ success = %x10000001$ failure = %x100000046$ complain = "write sys$error ""%''prod_id'$IVP-F-"","6$ augment = "write sys$error ""-''prod_id'$IVP-I-"","3$ say = "write sys$output ""%''prod_id'$IVP-I-"","7$!-----------------------------------------------------F$ msg_ivpfailure = "FAILURE, ''prod_name' ''prod_ver' IVP has FAILED"E$ msg_ivpsuccess = "PASSED, ''prod_name' ''prod_ver' IVP has PASSED"@$ msg_systype = "SYSTYPE, Cannot recognize system software type"J$ msg_ivpdir = "IVPDIR, Cannot access SYS$TEST:[''prod_id'$IVP] directory"]$ msg_ivpsrc = "IVPSRC, File SYS$TEST:[''prod_id'$IVP]''prod_id'$IVP''prod_intype' not found"]$ msg_ivpref = "IVPREF, File SYS$TEST:[''prod_id'$IVP]''prod_id'$IVP''prod_outype' not found"M$ msg_process = "PROCESS, Error processing file ''prod_id'$IVP''prod_intype'"Y$ msg_output = "OBJOUT, ''prod_name' output file ''prod_id'$IVP''prod_outype' not found"P$ msg_difference = "DIFF, Error while differencing ''prod_id'$IVP''prod_outype'"K$ msg_verify = "VERIFY, Error while verifying ''prod_id'$IVP''prod_outype'"S$ msg_refdiff = "REFDIFF, ''prod_id'$IVP''prod_outype' differs from reference copy"2$ msg_optfile = "OPTFILE, Optional file not found"2$ msg_reqfile = "REQFILE, Required file not found"F$ msg_link = "LINK, Error linking ''scratch'''prod_id'$IVP_''pid'.EXE"E$ msg_run = "RUN, Error running ''scratch'''prod_id'$IVP_''pid'.EXE":$ msg_abort = "ABORT, IVP aborted by user keyboard action"8$!------------------------------------------------------"$ on warning then goto ivp_failure*$ on control_y then goto control_y_handler$ set on$ stage = "systype"$!($! Are we on an Alpha or VMS system ??$!$ swtype = "VMS";$ if f$getsyi("HW_MODEL") .EQ. 0 THEN SWTYPE = "EVMS">$ if f$getsyi("HW_MODEL") .GT. 1023 THEN SWTYPE = "EVMS"I$ if f$locate ("|''swtype'|", prod_swtypes) .ge. f$length(prod_swtypes) - then goto ivp_failure$!8$!------------------------------------------------------$ stage = "ivpdir"$$ defdir = f$environment ("default")1$ ivpd = f$search ("SYS$TEST:''prod_id'$IVP.DIR")$ if ivpd .eqs. "" then -? ivpd = f$search ("SYS$COMMON:[SYSTEST]''prod_id'$IVP.DIR")($ if ivpd .eqs. "" then goto ivp_failure%$ ivpdev = f$parse (ivpd,,,"device")*$ ivpparent = f$parse (ivpd,,,"directory")%$ ivpsubdir = f$parse (ivpd,,,"name")>$ ivpdir = ivpdev + (ivpparent - "]") + "." + ivpsubdir + "]"$ set default 'ivpdir'$ gosub process_'swtype'$ stage = "optfile"$ i = 0$optional_file_loop:*$ file = f$element (i, ",", prod_optfiles) $ i = i + 1/$ if file .eqs. "" then goto optional_file_loop5$ if file .eqs. "," then goto optional_file_loop_exit$ gosub optional_file$ goto optional_file_loop$!$optional_file_loop_exit:$ stage = "reqfile"$ i = 0$required_file_loop:*$ file = f$element (i, ",", prod_reqfiles) $ i = i + 1/$ if file .eqs. "" then goto required_file_loop5$ if file .eqs. "," then goto required_file_loop_exit$ gosub required_file$ goto required_file_loop$!$required_file_loop_exit:$ gosub cleanup$ say msg_ivpsuccess$ exit SUCCESS$! $ivp_failure:$ gosub cleanup$ complain msg_ivpfailure6$ if f$type (stage) .nes. "" then augment msg_'stage'$ exit FAILURE$! $cleanup::$ 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+,RU./ 4N -@~0123KPWO56 VP7`P89GHJ;++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+,SU./ 4-@~0123KPWO56@WP71P89GHJ??.MAIN. 4-NOV-1993 16:29MACRO-64 V1.1-087 i,$CODE$($LINK$$DATA$ $ABS$0J MACRO64$IVPL L=4,#~^G G #k\ \=0;=    A$ MACRO64011.A[U@~*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*;**[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1+,[U.*/ 4*(l-@~0123 KPWO)56TyP7JP89GHJ 0D`0205Ph( MACRO64$MSGV1.0P05-13&eJ(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 literalTOK23opcodeTOK24"+"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_PSEC3p&-$ MACRO64011.A[U@~*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*4"T 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 directive or macro invocation!/\!AF\2INCLOPEN.INCLUDE file open error!/\!AF\X INCLDEPTHD.INCLUDE nest depth exceeds !SL - check for circular .INCLUDE!/\!AF\,SRCREADError reading source file.LCONTEOF:Assembler encountered end of file after line continuation.DCONTLONG0Source line continuation exceeds !SL characters.*ILLASCIIIllegal ascii constant.V ASCIITRUNC@Ascii constant contains too many characters; value is truncated.*ILLBINIllegal binary constant.*ILLDECIllegal decimal constant.(ILLOCTIllegal octal constant..ILLHEXIllegal hexadecimal constant.\ILLRADIXIIllegal radix specifier in numeric constant; specify A, B, C, D, O, or X.@ILLEXPON,Illegal exponent in floating point constant.4ILLFLOAT Illegal floating point constant.HHEXSTR6Illegal hexadecimal escape sequence in string literal.^ESCAPELIllegal escape sequence in string literal; assembler expected \, ", x, or X.N MISSQUOTE9Missing closing double-quote character in string literal.< IDTOOLONG(Identifier is longer than 31 characters.INVCAYou specified an invalid code address with the procedure descriptor. The code address must be a non-temporary label defined in a psect with the EXE or MIX attribute after its use with .PROCEDURE_DESCRIPTOR.VUNDCAFYou specified an undefined code address with the procedure descriptor.\NOCALYou did not specify a code address as argument 2 with .PROCEDURE_DESCRIPTOR.WRONGPLThe code address you specify with the .PROCEDURE_DESCRIPTOR directive must occur BEFORE its definition as a local or global label.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 ΁$ MACRO64011.A[U@~*[ASM.KITBUILD_20202F79_A]MACRO64$MSG.EXE;1*"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: MACRO648 MACRO64$MSGV1.0 4-NOV-1993 13:25 4-NOV-1993 13:25VAX-11 Linker V05-13 .$$ABS$$.)*[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1+,ZU.</ 4N<<-@~0123KPWO=56xP7a_P89GHJ;++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 N/$ MACRO64011.AZU@~)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<"  H; The LOOP_UNROLL assembly-time variable is used to control manual loop H; unrolling: Use 0 For no loop unrolling, 1 for normal loop unrolling, ?; or a value greater than 1 for a higher, global unroll factor.LOOP_UNROLL = 1;++; Macro UNROLL ; Abstract:F; Macro UNROLL is used to assist in in manually unrolling a loop. H; It can be beneficial to repeat the body of a loop a number of times C; with branch-outs between each repetition to the loop exit. At I; the least, you gain the benefit of a a branch not taken vs. a branch J; taken. While this effect may not gain very much, when loop unrolling H; is combined with instruction scheduling (.ENABLE SCHEDULE), you may G; be able to schedule portions successive repetitions of the loop in H; parallel. See Appendix B of the MACRO-64 Assembler for OpenVMS AXP G; Systems Reference Manual for more information on this optimization ; technique.;K; To use UNROLL, you must define a macro that expands to the body of the F; loop. Specify the name of this macro with the BODY argument. YouE; must also specify 2 branch instruction statements: 1 that tests aH; condition and branches to the beginning of the loop to continue, andL; another that tests the opposite condition and branches to the end of theD; loop to exit. Specify the loop continuation statement with the F; CONTINUE argument. Specify the loop exit statement with the EXIT G; argument. Specify the target label for the loop-continue statementC; as %%LOOP_START%% and the target for the loop-exit statement asK; %%LOOP_END%%. For instance, the continue statement might be a BNE and L; the end statement would be BEQ, or vice versa. Often, you must precede I; the branch instruction with a comparison instruction. If so, specifyC; the comparison instruction statement with the COMPARE argument.;K; You can use the TEST_FIRST argument to specify the style of the loop. K; Specify 1 to get generate an exit test prior to the first iteration of B; the loop. Specify 0 to always execute the loop at least once.;I; You can experiment with different values for the FACTOR argument. A N; FACTOR of 0 or 1 results in a single copy of the loop body -- that is, no L; loop unrolling. FACTORs greater than 1 can improve runtime performance F; at the expense of increased code size. However, depending on the J; size of the loop body, too large a FACTOR can cause the repeated loop F; body to overflow the instruction cache, thus negatively impacting ; performance.;F; In addition, if the loop body contains a call to another routine, H; it is unlikely that the scheduler (.ENABLE SCHEDULE) will be able toI; concurrently schedule successive repetitions of the loop body. As a C; result, the benefit realized by unrolling the loop will likely I; reduce to the difference in cost between a branch taken and a branch +; not taken times the FACTOR you specify.;G; Thus, the best loops 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-. S$ MACRO64011.AZU@~)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<n" $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 ; 1st 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+PR -M$ MACRO64011.AZU@~)[ASM.KITBUILD_20202F79_A]MACRO64$PI.M64;1N<",ECISION+2b. ldq CA, CLUSTER_VECT ; CA = &CLUSTER_VECT[0]1 addq PCC, CS, PCC ; PCC=PRECISION+CLUSTER_SIZEC2 lda PCC, -1(PCC) ; PCC=PRECISION+CLUSTER_SIZE-1- ; r0=(PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZEo# $call OTS$DIV_L, args=$. ; PCC=(PRECISION+CLUSTER_SIZE-1)/CLUSTER_SIZE mov r0, PCC& ldg ONE.G, G1 ; Load ONE.G with 1.0' .macro LOOP_BODY ?LABEL ; Unroll loopr# mulg I.G, L4, f0 ; f0=I*LOG_4C* cvtgq/c f0, f0 ; Convert to integer ;++> ; We must store F0 to memory in order to load it into an > ; integer register. Our invocation of the $ROUTINE macro? ; above allocated an additional 16 bytes of stack storage,a< ; 8 of which we will use now for that purpose. We can ? ; reference the stack beyond the end of the register save o9 ; area relative to the frame pointer, FP, using the $> ; $RSA_END assembly-time variable that is defined by the  ; $ROUTINE macro. ;--* stt f0, $rsa_end(fp) ; Put to memory1 ldq $IA0, $rsa_end(fp) ; Read back to I regi- ; IA0=(PRECISION-I*LOG_4+2+CLUSTER_SIZE)s subq TMP, $IA0, $IA0 ) $call OTS$DIV_L, args=<$IA0/q, CS/q>0( cmple r0, PCC, r1 ; result <= PCC?& bne r1, LABEL ; Yes, branch! mov PCC, r0 ; No, use PCC 2LABEL: stq r0, ISTOP ; ISTOP=min(result,PCC)# sll I, #1, I2M1 ; I2M1 = 2*Ir( lda I2M1, -1(I2M1) ; I2M1 = 2*I-1 sll I, #2, I4 ; I4 = 4*Is7 $call MULTIPLY_AND_DIVIDE, args=, -t local=true lda I4, 2(I4) ; I4=4*I+2=7 $call MULTIPLY_AND_DIVIDE, args=, -, local=true( ldq r0, (CA) ; r0=CLUSTER_VECT[0]- lda r0, 3(R0) ; r0=CLUSTER_VECT[0] + 3O* stq r0, (CA) ; CLUSTER_VECT[0] += 3 lda I, -1(I) ; I--M) subg I.G, ONE.G, I.G ; I.G shadows I= .endm LOOP_BODY4 UNROLL BODY=LOOP_BODY, FACTOR=4, TEST_FIRST=1, -- CONTINUE = , -+% EXIT = * PROPAGATE_CARRY ; Inlined routine call $return .undefine_reg I .undefine_reg CSS .undefine_reg TMP .undefine_reg CAi .undefine_reg PCC .undefine_reg I2M1O .undefine_reg I4b .undefine_reg I.G .undefine_reg L4t .undefine_reg ONE.G $end_routine COMPUTET -) $routine PRINT_RESULT, kind=stack, -$B saved_regs=,- local=true, -% data_section_pointer=true, -o size=$rsa_end+16C;++R2; Abstract: Print the results of the computation. ; Inputs:l,; START - seconds at start of computation*; FINISH - seconds at end of computation ; FILE_VAR ; PRECISIONO ; WEIGHT; CLUSTER_SIZE; CLUSTER_VECT_SIZE ; CLUSTER_VECT[0..last]; PRINT_WIDTHb;--3 $linkage_section 5 .define_freg SECONDS f2 ; f2 is variable 'SECONDS' 4 .define_ireg MINUTES r4 ; r4 is variable 'MINUTES'0 .define_ireg HOURS r5 ; r5 is variable 'HOURS'* .define_ireg I r6 ; r6 is variable 'I' - .define_ireg CCA r7 ; r7 is variable 'CCA' (+ .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 /i$ MACRO64011.AYU @~,[ASM.KITBUILD_20202F79_A]MACRO64$WHAMI.M64;1O,*[ASM.KITBUILD_20202F79_A]MACRO64$WHAMI.M64;1+,YU ./ 4O-@~0123KPWO56;=xP7}P89GHJ ;++; 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 the 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-section psect name $DATA$. The macro argument H; data_section_pointer is specified as true. This causes a pointer to K; the data-section psect to be placed WHAMI's linkage section. The local I; argument is also specified as true. This causes the WHAMI routine to H; be visible only within this module; a global symbol for WHAMI is not I; generated. The $ROUTINE macro leaves you in the code-section psect. ;--? .base r27, $ls ; Inform assembler that r27 --> linkage section;++L; When $ROUTINE defines the $DATA$ psect, it defines the $DS (data section) K; symbol as the current address in the $DATA$ psect. Because we specified N; data_section_pointer=true, $ROUTINE also stored that address in the linkage I; section using a .ADDRESS $DS directive. $ROUTINE also defines the $DP K; (data section pointer) symbol as the address of the data section pointer J; that is stored in the linkage section. Since we already have access to N; the linkage section via R27, we can therefore load from the linkage section +; the pointer to the data section into R22.;--$ ldq r22, $dp ; r22 --> data section: .base r22, $ds ; Tell assembler that r22 --> data section;++F; Now we can execute the CALL_PAL MFPR_WHAMI instruction and store theG; Who-Am-I internal processor register in R0. Afterwards, we store theI; result in the WHAMI_IPR memory location in the data section. By virtueF; of the .BASE R22, $DS directive above, the assembler knows that R22 G; contains the base address of the data section. Therefore, it selectsJ; R22 as the base register for the target argument of the STQ instruction :; and computes the correct offset within the data section.;--@ call_pal mfpr_whami ; Issue the CALL_PAL instruction> stq r0, WHAMI_IPR ; Update memory location WHAMI_IPRF ; with the value contained in < ; Who-Am-I Register.;++ >; R0 is used to return a status value. '1' indicates  LV$ MACRO64011.AYU @~,[ASM.KITBUILD_20202F79_A]MACRO64$WHAMI.M64;1Otsuccess.;-- 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 used as an argument to DECC$GPRINTF.;--g $call DECC$GPRINTF, -t7 args=, -$ scratch_regs=e;++ K; Return in r0 the status value from the previous SYS$CMKRNL call that we ; saved; previously in R2.;--c mov r2, r0;++aJ; Now we are ready to return. Unlike the WHAMI routine, CHMK is a stack H; routine and therefore requires an epilogue instruction sequence that M; restores the saved registers and performs necessary stack management. We 3; use the $RETURN macro to generate that sequence. ;--r $return $end_routine CHMK4 .end CHMK ; Routine CHMK is the program entry point&*[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1+,NU.0/ 4N00-@~0123KPWO1568P7֗P89GHJ M!****************************************************************************!* *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-5K14 AES Anne Saturnelli, March 24, 19934! Increase Rev. number for this release!4! X-5K13 AES Anne Saturnelli, December 8, 1992C! Add /PREPROCESS command line qualifier for MACRO-64.!$! X-5K12 JDR Jack Raitto, 3-SEP-19927! Uprev'ed the cmdver for the cross assembler only to ;! force the application of the FT4 .CLD file when the FT3 !! .CLD has already been applied.!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-:?$ MACRO64011.ANU@~&[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1N0h" 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 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, nonnegatable7 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)c( qualifier disable, value(required,list, type=vax_enable_options)' qualifier enable, value(required,list,e type=vax_enable_options)# qualifier library, placement=local) qualifier listing, placement=positional,n value(type=$outfile),e batch ' qualifier names, placement=positional,u" value(type=vax_names_options), nonnegatable( qualifier object, placement=positional, value(type=$outfile),e defaultb3 qualifier show, value(list,type=vax_show_options) 4 qualifier noshow, value(list,type=vax_show_options) qualifier cross_reference,r$ value(list,type=vax_crf_options). qualifier update, value(list),placement=local0 qualifier debug, value(list,type=debug_options) qualifier analysis_data,t placement=positional, value(type=$outfile)- qualifier diagnostics, placement=positional,s value(type=$outfile)M!----------------------------------------------------------------------------l-! MACRO/RSX11 command definition (MACRO-11): *!*$define syntax RSX_MACRO ! verb MACRO!*<! Since the syntax qualifiers change the entire syntax used,=! within this syntax we need to redefine the /RSX11 qualifierI<! (so /RSX11/RSX11 works), and disallow the other qualifiers!L% qualifier vax, ! Define to disallow  nonnegatable disallow vax* qualifier migration, ! Define to disallow nonnegatable disallow migration% qualifier rsx11, ! Use RSX11 syntax,J nonnegatable& qualifier alpha, ! Define to disallow nonnegatable disallow alpha image backtransM!---------------------------------------------------------------------------- I! MACRO/MIGRATION command definition (Alpha MACRO-32 Migration Compiler):b!8&define type migration_optimize_options keyword nonef keyword all keyword schedule, negatable keyword peephole, negatable keyword addresses, negatablel keyword references, negatable keyword vaxregs, negatableh%define type migration_warning_optionsp keyword all keyword noneS" keyword informationals, negatable keyword warnings, negatable"define type migration_dump_options keyword all keyword none 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 noneh keyword atomi(q$ MACRO64011.ANU@~&[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1N0"city, negatable  keyword granularity, negatable"define type migration_flag_options keyword all keyword none keyword alignment, negatable/ keyword jumps, negatable keyword arglist, negatableT keyword instructions, negatable keyword codegen, negatablec keyword directives, negatable keyword hints, negatable keyword stack, negatable$define type migration_enable_options keyword absolutex keyword debug keyword truncation  keyword globale keyword suppression keyword traceback keyword flaggingr keyword quadworde keyword overflow keyword ama keyword dbg keyword fpt keyword gbl keyword lsb keyword tbk"define type migration_show_options keyword conditionalsO keyword calls keyword definitions keyword expansionsr keyword binary  keyword library keyword cnd keyword mcX keyword md keyword meP keyword meb!****DEFAULT****>!-------- Uncomment this section to make the default MACRO/VAX+define syntax MIGRATION_MACRO ! verb MACRO c% qualifier vax, ! Define to disallowa nonnegatable disallow vax& qualifier rsx11, ! Define to disallow nonnegatable disallow rsx11& qualifier alpha, ! Define to disallow nonnegatable disallow alphaD!-------- Uncomment this section to make the default MACRO/MIGRATION!K,! define verb MACRO ! syntax MIGRATION_MACRO!l#! qualifier vax, syntax=VAX_MACRO, ! nonnegatable! $! qualifier rsx11, syntax=RSX_MACRO,! nonnegatable.!&! qualifier alpha, syntax=ALPHA_MACRO,! nonnegatableL!u8! qualifier $cmdver,value(type=cmdver_versions,required)!-$!-------- End default change section!****DEFAULT****< qualifier migration, ! Define so /MIGRATION/MIGRATION works nonnegatable image alpha_macro parameter p1, label=file,  prompt="File",, value(required,concatenate,type=$infile)0 qualifier DEBUG, value(list,type=debug_options)' qualifier LIST, placement=positional,1 value(type=$outfile),t batchs# qualifier LIBRARY, placement=local ' qualifier SHOW, placement=positional,| nonnegatable, , value(list,type=migration_show_options),( qualifier NOSHOW, placement=positional, nonnegatable,4+ value(list,type=migration_show_options)r disallowR( (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) andR% (noshow.expansions or noshow.me) orT" (show.binary or show.meb) and" (noshow.binary or noshow.meb) or! show.library and noshow.libraryJ% qualifier DISABLE, placement=global,- value(list,type=migration_enable_options)8 disallow not disable andm ( disable.absolute or disable.debug ort disable.truncation or disable.global or disable.suppression or/ disable.traceback or  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_options), disallow not enable and ( enable.absolute or  enable.debug or enable.truncation orA enable.global or enable.suppression or enable.traceback or enable.flagging orf enable.quadword orO enable.overflow or0 enable.ama ore enable.dbg orm enable.fpt ora enable.gbl ort enable.lsb orh enable.tbko ) disallow( (enable.absolute or enable.ama) and& (disable.absolute or disable.ama) or% (enable.debug or enable.dbg) andH# (disable.debug or disable.dbg) or * (enable.truncation or enable.fpt) and( (disable.truncation or disable.fpt) or& (enable.global or enable.gbl) and$ (disable.global or disable.gbl) or+ (enable.suppression or enable.lsb) andh) (disable.suppression or disable.lsb) orm) (enable.traceback or enable.tbk) andh' (disable.traceback or disable.tbk) orq, 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 orr preserve.none or preserve.all)- qualifier DIAGNOSTICS, placement=positional, value(type=$outfile)- qualifier MACHINE_CODE, placement=positionalp* qualifier UNALIGNED, placement=positional( qualifier SYMBOLS, placement=positional& qualifier TIE, placement=positional, defaulte( qualifier OBJECT, placement=positional, default, value(type=$outfile)) qualifier WARNINGS placement=positional,o. 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)l) qualifier OPTIMIZE placement=positional,o/ value(list,type=migration_optimize_options)d( disallow optimize.all and optimize.none disallow not optimize andE (optimize.schedule or optimize.peephole or optimize.addresses ord. optimize.references or optimize.vaxregs)( qualifier RETRY_COUNT placement=global, nonnegatable,k value(type=$number)t ! 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 oro( dump.cfa or dump.all or dump.none). qualifier BREAKPOINTS, label=gem_breakpoints, placement=global,b value(list,required)% qualifier GEMDEBUG, label=gem_debug,( placement=global" qualifier DUMPS, label=gem_dumps, placement=global,h value(list,required)( qualifier SWITCHES, label=gem_switches, placement=global,k value(list,required). qualifier TRACEPOINTS, label=gem_tracepoints, placement=global,y value(list,required)!a+! MACRO/ALPHA command definition (MACRO-64)i!!define type alpha_warning_optionsc keyword all, defaults keyword noneo" keyword informationals, negatable keyword warnings, negatable#define type alpha_alignment_optionsr keyword datax keyword codeq"define type alpha_optimize_options keyword peephole keyword scheduledefine type alpha_show_options keyword expansionst keyword conditionalso keyword include keyword library keyword binaryrdefine type alpha_names_optionse keyword uppercase,default keyword lowercase keyword as_isdefine type alpha_env_options ) keyword float, negatable, default ! Developer-only optionswdefine type alpha_dump_options keyword all keyword none  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 !v<! Since the syntax qualifiers change the entire syntax used,=! within this syntax we need to redefine the /ALPHA qualifier=<! (so /ALPHA/ALPHA works), and disallow the other qualifiers!y% qualifier vax, ! Define to disallowr 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,  prompt="File",% value(required,type=$infile,list)e5 qualifier environment placement=positional,p@ value(type=alpha_env_options,required), nonnegatable, )' defaulti( qualifier object, placement=posit$ MACRO64011.ANU@~&[ASM.KITBUILD_20202F79_A]MACRO64.CLD;1N0 +ional, value(type=$outfile),- default-' qualifier list, placement=positional,/ value(type=$outfile),A batch1 qualifier preprocess_only, placement=positional,c value(type=$outfile) t' qualifier debug, placement=positional,x. value(list,default=all,type=debug_options)4 qualifier diagnostics, placement=positional, value(type=$outfile)' qualifier names, placement=positional, - value(type=alpha_names_options,required),l nonnegatable,e defaultm' qualifier show, placement=positional,yD 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.included5 disallow noshow.library and show.libraryk- disallow noshow.binary and show.binary # qualifier library, placement=localn1 qualifier optimize, placement=positional,iG value(list,type=alpha_optimize_options)r3 qualifier nooptimize, placement=positional,oG value(list,type=alpha_optimize_options)b: disallow optimize.schedule and nooptimize.schedule: disallow optimize.peephole and nooptimize.peephole3 qualifier alignment, placement=positional, eH value(list,type=alpha_alignment_options)5 qualifier noalignment, placement=positional, eH value(list,type=alpha_alignment_options)4 disallow alignment.data and noalignment.data4 disallow alignment.code and noalignment.code) qualifier WARNINGS placement=positional, ( default,* value(list,type=alpha_warning_options)/ disallow warnings.all and warnings.nonee disallow not warnings and& (warnings.all or warnings.none or3 warnings.warnings or warnings.informationals)4 qualifier machine_code, placement=positional2 qualifier define, placement=positional, negatable value(list,required)d ! Developer-only qualifiers qualifier dump_facility, placement=positional,5 value(list,default=none,type=alpha_dump_options),- nonnegatable+ qualifier dump_file, placement=positional,s value(type=$outfile),b nonnegatable. qualifier BREAKPOINTS, label=gem_breakpoints, placement=global,a value(list,required)% qualifier GEMDEBUG, label=gem_debug,x 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,f value(list,required)&*[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1+,VU./ 4-@~0123KPWO56 Ҋ]P7@P89GHJLSE 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 DEFIN5$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1" ED 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 ATTRIBUTEPICPRINTPROBERPROBEWPROCEDURE_DESCRIPTORPROCEDURE_DESCRIPTOR_MACROPROC_DESCRIPTOR_NAMEPROC_VALPROGRAM_SECTIONING_DIRECTIVES PROL_LABELPSECTQUADAligned to 2**3 = 8 bytesQUADRC2READABLE PSECT ATTRIBUTE - RESERVED FOR FUTURE USE1READABLE PSECT ATTRIBUTE- RESERVED FOR FUTURE USERDRD_PSREAD_UNQregisterRegisterREGISTERREI REI_RETURNRELOCATABLE PSECT ATTRIBUTERELOCATABLE PSECT ATTRIBUTERELREMQHILREMQHILRREMQHIQREMQHIQRREMQTILREMQTILRREMQTIQREMQTIQRREMQUELREMQUEQREPEATR REPEAT_LEXOPRESOPC01RESOPC02RESOPC03RESOPC04RESOPC05RESOPC06RESOPC07RESOPC0ARESOPC0CRESOPC0DRESOPC0ERESOPC14RESOPC1CRESPAL19RESPAL1BRESPAL1DRESPAL1ERESPAL1F RESTORE_PSECTRETRETURNRETURN_ADDRESS_RN RETURN_TYPERNROUTINEROUTINE_CALLED ROUTINE_KIND ROUTINE_NAME ROUTINE_TYPERPCCRS RSA_OFFSETRSCCS4ADDLS4ADDQS4SUBLS4SUBQS8ADDLS8ADDQS8SUBLS8SUBQ SAVED_REGSSAVE_FP SAVE_PSECTSAVE_RASAVE_REGISTER_LIST4Enable scheduling optimization for the assembly unitSCHEDULE SCRATCH_REGSSCRATCH_REG_LIST SET_ARG_INFOSEXTLSHOWSHARE PSECT ATTRIBUTESHARE PSECT ATTRIBUTESHR SIGNED_BYTE SIGNED_WORD SIG_BLOCK SIG_BLOCK_ADDSIZESLLSOURCE_INCLUSIONSOURCE_STATEMENTSRASRLstackstackSTACK STACK_RET_VALSTACK_RET_VAL_BOOLSTANDARD_PROLOGUESTFSTGSTLSTL_CSTQSTQPSTQ_CSTQ_U STRING_LEXOP STRING_SYMBOLSTSSTTSUBFSUBGSUBLSUBQSUBSSUBTSUBTITLE SUBTITLE_NAMESWASTENSWPCTXSYMBOL_CONTROL_DIRECTIVESSYMBOL_DEFINITIONSYMBOL_EXPRESSIONSYNCH_EXCEPTION S_FLOATINGTIE_BOOL TIME_LEXOPTRAPB TYPE_LEXOP T_FLOATINGUMULHUNOPUSER_IDUSES_VAX_ARGLISTWARNWEAKWMBWORDAligned to 2**1 = 2 bytesWORD WRITE_UNQWRITE PSECT ATTRIBUTEWRITE PSECT ATTRIBUTEWRTWR_PS_SWXORXORNOTZAPZAPNOT S ;number of arguments per instruction. Uaddf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andStore an address.ADDRESS'.ADDRESS %{address_expression_item}%...An address expression<A symbol or expression interpreted as an address expression.An address expression,%{address_expression}% S ;number of arguments per instruction. Uadds%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uaddt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and#List of alias names for the routineRoutine alias namesRoutine alias names,ALIAS = %{alias_name_list}% Set alignment.ALIGN#.ALIGN %{integer_or_align_keyword}%.ALIGN integer_option7 address that is the value of 2 raised to this integer.EAn integer in the range 0 to 9. The location counter is aligned on an.ALIGN keywordOCTA_ALIGN_KEYQUAD_ALIGN_KEYLONG_ALIGN_KEYWORD_ALIGN_KEYBYTE_ALIGN_KEY S ;number of arguments per instruction. Wamovrm%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wamovrr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tand%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wandnot%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andArgument type listArgument type list!,ARGLIST = %{argument_type_list}%Call Argument listCall Argument list,ARGS=%{call_arg_list}%Argument type liststore a counted ASCII stringStore a counted ASCII string.ASCIC %{ascii_string}%store string descriptorStore String descriptor.ASCID %{asciiCG$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1["_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 storageAllocate g_floating storage%.BLKG %[optional_integer_expression]%Allocate long words of storageAllocate long words of storage%.BLKL %[optional_integer_expression]%Allocate octa words of storageAllocate octa words of storage%.BLKO %[optional_integer_expression]%Allocate quad words of storageAllocate quad words of storage%.BLKQ %[optional_integer_expression]%Allocate s_floating storageAllocate s_floating storage%.BLKS %[optional_integer_expression]%Allocate t_floating storageAllocate t_floating storage%.BLKT %[optional_integer_expression]%Allocate words of storageAllocate words of storage%.BLKW %[optional_integer_expression]% S ;number of arguments per instruction. Tblt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tbne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and TRUE OR FALSE TRUE OR FALSETRUE or FALSE boolean value S ;number of arguments per instruction. Tbpt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Sbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andBRANCH S ;number of arguments per instruction. Tbsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wbugchk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andstore byte of dataStore byte of data!.BYTE %{data_expression_list}%...An integer expression;An integer expression value in the range -128 through +128.An integer expression,%{byte_integer_expression}% S ;number of arguments per instruction. Ucall%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andCall argument listIssue call to another routineIssue call to another routine %[nonstd_bool]% %[sig_block]% %[uses_vax_Arglist]% %[func_ret]% %[tie_bool]% %[set_arg_info]% %[local_call_bool]% %[stack_ret_val_bool]% %[scratch_regs]% %[argument_list]% %[linkage_section_add]% %[linkage_register_arg]%$CALL NAME=%{routine_called}%  Macro name Macro name(Outer macro name for diagnostic messages S ;number of arguments per instruction. Ycall_pal%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcflush%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchme%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchmk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchms%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Uchmu%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Tclr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmoveq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmovgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xcmovlbc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xcmovlbs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Wcmov$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1`"-le%[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_list}%... ;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}%... ;Consult the reference manual for type andstore a code addressStore a code address).CODE_ADDRESS %{data_expression_list}%...BUser identifier representing a label for the routine code address.name of code entry point code section code section5,CODE_SECTION = %{code_section_psect_and_attributes}%(Switch to current routine's code section(Switch to current routine's code section $CODE_SECTIONCode psect name and attributesremove all spaces and tabsRemove spaces and tabsCOLLAPSEBase register listBase register list:,COMMON_BASE= %{base_reg_list}% ;Base register list used4 replace multiple spaces or tabs with a single space3replace multiple spaces or tabs with a single spaceCOMPRESS.IF argument list0Multiple arguments must be separated by a comma.7 1 or 2 arguments depending on the condition specified.=Argument list for the .IF conditional directive consisting ofCONDITIONAL ASSEMBLY DIRECTIVESIIFELSEENDC IF_TRUE_FALSEIF_TRUEIF_FALSEIF S ;number of arguments per instruction. Ucpys%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcpyse%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcpysn%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andOPDEF CUSTOM ARGUMENT TYPES BRANCH_OFFSET DISPLACEMENTINDIRECTLITERAL FREGISTER IREGISTER,%{custom_op_arg}% = %{custom_op_arg_list}%... S ;number of arguments per instruction. Vcvtdg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgd%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtgq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtlq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtqt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtst%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvttq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vcvtts%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andAddress of data3A data expression to be stored as an initial value.,Data expression%{data_expression_item}% data section data section5,DATA_SECTION = %{data_section_psect_and_attributes}%(Switch to current routine's data section(Switch to current routine's data section $DATA_SECTIONData psect name and attributesData section pointerData section pointer),DATA_SECTION_POINTER = %{boolean_value}%DATA STORAGE DIRECTIVES SIGNED_WORD SIGNED_BYTE T_FLOATING S_FLOATING G_FLOATING D_FLOATING F_FLOATING INSTRUCTIONASCIDASCIZASCICASCIIQUADOCTALOCAL_CODE_ADDRESS CODE_ADDRESSADDRESSLONGWORDBYTE,Boolean value for: Use the default signature,Boolean value for: Use the defauLz$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1l">lt 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 conditional.ENDCEnd macro definitionEnd macro definition.ENDM %[macro_name]%End repeat blockEnd repeat block.ENDR,Mark end of an instruction epilogue sequence,Mark end of an instruction epilogue sequence $END_EPILOGUEEnd an exact instruction blockEnd an exact instruction block .END_EXACT,Mark end of an instruction prologue sequence,Mark end of an instruction prologue sequence $END_PROLOGUEEnd prologue labelEnd prologue label,END_PROLOGUE = %{prol_label}%Mark end of a routineMark end of a routine!$END_ROUTINE %[end_routine_name]%Name of routine to endName of code entry pointName of code entry point%,ENTRY = %{code_entry_point_label}% (Module entry pointer or transfer address entry point or transfer address.?A previously defined procedure descriptor specifying the moduleEnvironment valueEnvironment valueEnvironment value$,ENVIRONMENT = %{environment_value}%)1 or 2 arguments. Is arg1 NOT_EQUAL arg2?)1 or 2 arguments. Is arg1 NOT_EQUAL arg2?EQUAL S ;number of arguments per instruction. Teqv%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and$Generate and print and error message.ERROR.ERROR %{msg_string}% S ;number of arguments per instruction. VEXCB %[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextbl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and&Declare a symbol as externally defined&Declare a symbol as externally defined.EXTERNAL %{symbol_list}%... S ;number of arguments per instruction. Vextlh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextqh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andextract lexical operatorExtract lexical operatorB%EXTRACT %{start_search_position}%, %{string_length}%, %{string}%) S ;number of arguments per instruction. Vextwh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vextwl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufabs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbeq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufble%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufblt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufbne%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ufclr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmoveq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovge%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xfcmovgt%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S Fh$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1O ;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 instructionR. 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 the reference manual for type andAddress of exception handlerAddress of exception handler,HANDLER = %{handler_address}%Address of handlerHandler data addressHandler data address ,HANDLER_DATA = %{data_address}%)Boolean value for: Handler is reinvokable*Boolean value for : Handler is reinvokableK,HANDLER_REINVOKABLE = %{boolean_value}% ;TRUE -- Handler is reinvokable42 arguments. Is macro arg1 identical to macro arg 2?42 arguments. Is macro arg1 identical to macro arg 2? IDENTICALObject module identifier%the module, such as a version number.JA 1-31 character string enclosed in double quotation marks that identifiesConditional assemblyConditional assembly ;.ENDC ; END conditionL ; assemble if condition is FALSE.%[ELSE_OPTION]% ; K ; assemble IF condition is TRUEG ; conditional assembly code-.IF %{if_condition}% %{conditional_arg_list}% .IF condition to be met DIFFERENT_IF IDENTICAL_IF NOT_BLANK_IFBLANK_IFNOT_DEFINED_IF DEFINED_IFGREATER_EQUAL_IF LESS_THAN_IF LESS_EQUAL_IF GREATER_IF NOT_EQUAL_IFEQUAL_IF:If the condition of assembly block is FALSE, assemble code9If the condition of assembly block is FALSE,assemble code .IF_FALSE9If the condition of assembly block is TRUE, assemble code8If the condition of assembly block is TRUE,assemble code.IF_TRUE@Regardless of the condition of the assembly block, assemble code@Regardless of the condition of the assembly block, assemble code.IF_TRUE_FALSEImmediate conditional assemblyImmediate conditional assemblyE.IIF %{if_condition}% %{conditional_arg_list}% , %{source_statement}% S ;number of arguments per instruction. Timb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andInclude external sourceInclude external source6.INCLUDE %{filename}%, %[optional_search_list_string]% S ;number of arguments per instruction. Vinsbl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinslh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsll%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsqh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqhil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqhilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqhiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqhiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinsql%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqtil%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqtilr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqtiq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yinsqtiqr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsquel%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xinsqueq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andStore and instruction .INSTRUCTION'.INSTRUCTION %{ins_integer_expression}% INSTRUCTIONSwmbcvtst mtpr_perfmonrespal1frespal1erespal1dW$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1)`respal1brespal19resopc1cresopc14resopc0eresopc0dresopc0cresopc0aresopc07resopc06resopc05resopc04resopc03resopc02resopc01drainttrapbamovrramovrmremqtiqrremqtilrremqhiqrremqhilrinsqtiqrinsqtilrinsqhiqrinsqhilrgentrap mtpr_datfx mtpr_vptb mfpr_vptbcallldq_aldq_nopmt_fpcrmf_fpcrzapnotzap axor 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_palbugchkbsrbrbptbnebltbleblbsblbcorbisandnotbicbgtbgebeqandaddtaddsaddqaddladdgaddf S ;number of arguments per instruction. Vinswh%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Vinswl%[ins_qual]% %{opcode_arg_list}%... ;Consult the rgeference 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 a#$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"qrguments 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 booleanB,LOCAL=%{boolean_value}% ; TRUE == local call, FALSE non-localstore a code addressStore a code address/.LOCAL_CODE_ADDRESS %{data_expression_list}%...Local Linkage pair directiveLocal Linkage pair directive.LOCAL_LINKAGE_PAIR %{user_id}%'Boolean specifying local routine or not'Boolean specifying local routine or not,LOCAL=%{boolean_value}%$local procedure_descriptor directive$Local procedure_descriptor directive<.LOCAL_PROCEDURE_DESCRIPTOR %{user_id}% %{req_code_address}%#%{user_id}% = %{symbol_expression}%locate lexical operatorlocate lexical operator:%LOCATE(%{substring}%, %{main_string}% %[start_position]%)LOCATION CONTROL DIRECTIVESBLKWBLKTBLKSBLKQBLKOBLKLBLKGBLKFBLKDBLKBBLKAODDEVEN END_EXACT BEGIN_EXACTALIGNstore long word of dataStore long word of data!.LONG %{data_expression_list}%...!Change all uppercase to lowercase!Change all uppercase to lowercase LOWERCASEMacro definition directiveMacro definition directive=%{ENDM}% ; end macro definition> ; macro text definition> ; macro text definition> ; macro text definition,.MACRO %{macro_name}% %[formal_arg_list]%... Macro call6Identifier name specifying a call to a defined macro. MACRO DIRECTIVESIRPCIRPNCHRNARGENDRREPEATMEXITMDELETEENDMMACROmacro formal argument@A symbol to be replaced by the actual arguments in a macro call. Macro name8 The name of the macro which can be up to 32 characters.,macro name list%{macro_name}% S ;number of arguments per instruction. Smb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andMacro deletion directiveMacro deletion directive .MDELETE %{macro_name_list}%...MESSAGE DISPLAY DIRECTIVESERRORWARNPRINTExit macro expansionExit macro expansion.MEXIT S ;number of arguments per instruction. Ymfpr_asn%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_asten%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_astsr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_esp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_fen%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_ipl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_mces%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_pcbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_prbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_ptbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_scbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmfpr_sisr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_ssp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mfpr_tbchk%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymfpr_usp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;numC$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"ber 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 type and S ;number of arguments per instruction. [mtpr_datfx%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_esp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_fen%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_ipir%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_ipl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_mces%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. ]mtpr_perfmon%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_prbr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_scbb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_sirr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_ssp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_tbia%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbiap%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_tbis%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbisd%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. [mtpr_tbisi%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ymtpr_usp%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Zmtpr_vptb%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Xmt_fpcr%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulf%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulg%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umull%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umulq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umuls%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Umult%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andNumber of arguments directiveNumber of arguments directive.NARG %{narg_user_id}%%Variable assigned number of argumentscurrent macro call.@User identifier which is assigned the number of arguments in theNumber of characters directiveNumber of characters directive&.NCHR %{nchr_symbol}%, %{nchr_string}%;The string of which the number of characters is determined.8Symbol assigned the number of characters in nchr_strinmtw$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"g. 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}%...,"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}%... ;Consult2$ MACRO64011.A g ~4;17y`,y W7 VσG{/}B;a\}\Px`HU g_VR5HwՕ S|G6&N, %<:v7%GdA|+sCټy厖eN1%)V Xna"bWJK3{e~Vg'[ ̞1{o=DcZC<<%F /?AaU6A d[Ui#Bi別+SwGgQJ̃kGųNPF.}K]Gk.`IT+<mqGߖz?C4玼1 D+nrh t]?V6tRkMcm'0Im&RT\-Yh0;Z#_\]jTj͠ N{(:W0^1eW}j+ushYIf᷇'O (z3z$*+I|GF܋#L QjCQlvc4-ǃj,ҷ.@Ȍ[h˜>ދ鰹m  qx ҙ`_;,˱g<ٚ6sLPߤo>7C4@zisՂږ|zj q±4dَ0/{{\똓zv`=#D\1Kb"+A.'~m]FGmwM+l|R=/Tphl5s$XcMn$k(+d~_S쓀*j MPڇI5*mU,þ{9RޱB.c#AZ3RlFʇevSlWjC6wQ2R6 O%4ޏAY<ƂH@j&gGRQqSo6P}7\M?qo2 >@zT$ӻuGͶ'$)zE8Ӱ:,/GrcV q5_`jaMW$ow=-1#ŧ@0Gq#BngRU =#b g(7 e;|+35zS{=̗U v]E/}H<@ȚҲ&?uy oIm @ sӂ8G{ xoQi( $>b$Dڡm"))_c10|}[c/ Ĵjsd 8f2G:2\G~-[zWY24Re; !km8"iۡƥO q1bx&Z)z: nޥ>a^/Gs' "DRϥbe0Ur&8efKP}m?d̤!&2iGN(W`pϴBƴm ]kl'gY$<./T>A|L-ݖ.3N[ eHL= +;s!K M>K^y[6JVT*v/{?Oa1aK# $ȚP-q7qՏ:O9>eb<{HM/eij[\q)VW67@8jInXR&73=P.?_=}9'q5C-IvSUa捖Ig-C(sx=y!=Ζѷ$}/^CROWih |Q=K"J|d_GG׃25$ڷP7䩒2'&I茸q&^zy&`-fF2Kg//N ەˆV[j,GW ˬ*͆?Q [?Ű7o>k8Di9-.>ݭȍyQ Cndi~m 3+h7!k4b[HL]׾`qAؽ75jnWT.b#y񲰧Skx{qK6_We f)7ەV娦ozoh ۿR^ϧE)BD}&책7tՆl`Ԡh~E򲪩 P5E a @RS& ӧbpYX\voJkf6ӗBjW8&Ԑ7v $ :/7V-AL ) Nj2>V};TH$DÓWs]y,erɢt'(/-JU0pf "=̚4%F h#kd?OޫW :.8x`tXc_Gv0^־AN LܤXo>B`A9|)ן`gLXjX]YVa꓅X$XM㞒eexh._/&\7kaGr|g~,pBR-=x)beHώM%r@d$^QJ=0wis$Wm%ICTX `M3Ş%$YvDൊ@F3LMM57of"q/D8Ni*bSK"PA`?sfhKuͮdݨ%C]\aZzP=שPxukrc*C>ZܼvҮ#0_nB(꟯g&`qãRVT$|K"xPiƧB7Ĺӎ%v-ŗtyKP|MY}y=W7`w2pRteG[ 8}pz4 0E o ;=)it*i%(Ty|.7U9kzv?K\*LKC/ *4@f aS4K6:Ewc;4ho|20iwxIaT(?ȱ>>b3*CvHI;Ecij8Rp 8kGWV?y*;gc%1{z?S 5Z_Z5#Yd^{%]C gY.}ni)a`'0 m|;0U%Ji -rO LONma)I~杤{? vU@/ <45EK|be*tztkԮ&D5.k?ͳϻ). v [z XKI{k,5Cw6- #^IKٶ)v VPz΃Q`4FɁ; pg e"c5!Jf;;#psdW3P1dMmF@U*pXy5ֈ V??(x{Xg 1'qcVJd985pfj^;HRV:_+$Ю@WDgqOG9gX.GC2ZEC$LF/a-jy61)J(Rg<*q^g`"F[٘"5ޝpљ#il@2"&CzI8l(=:Rm@Yy{Ceŵ9͉X24y;~i$Qdmk@I-'OL腏5Y@0o_xXRihn&'œz7Br8QM 'J-ǚllXVdA^a wlGfu4"kX8b[Ya4:j9A06=i:G?v\=$cBc%wn#I͋_e2cID1dhB|gH}lAmt!:NWlt@VREaTN<.|O $Qxb("Ob<5bcPJ!b,B0/'U3s6SJb7l'S&"Jv5)k˿ Bt7n>H$S%4⪥ t^f>2v=[l JhR#F^\VxacZ[{I28tCl|6J-Z= VɏS0QҖT|lϳ͊%Xu-S"u ̓u h7ofN=>fAW2 TB -NrDq+2jMY1JE )hYL"mScQ/ 2f4Nћ0u4Zc8-6+J{Y]/AdKVCPКCH?de*k.-hY 5ec\kP a U빐lf&SH0q67K 7w@{Yh_s6#,'b1Ru9U\rC'Sui˅Za_ys2@EWi~'T\v$~!v^w:S3 *gc٧>6gDIxOy2^dQ^`yA= 4=@N$E OQ8@> 4#8 lJ *(&rH?8qC =dS97bT3>^foD%cw %"h ".8ўu¤dOQu,.I`RZ0,_+$bGcihd.Y'|ﮨ bS\=%w^/Y%a`P5zi'-a:ei ’o=g6Y~jmhVmX$]n?127 RGGQw{_Ui`X'vLvPp!W+^U=o挃{鹅@DyzN2ȭ%{uxY}/4A~dqP;cT4&DjzYeC9ot3Rjzjj``6bI^SP*U#6^{Q,YG--&u:q0`WC;L ;&gk]RMXeucMI]kNu(J_LO Z7j92tIetB QDxz~1+nC%T)Snxˊ NTMƄ7{ hPb mu@ARKXrsL~U)ufh _ Nx'-XU)& Q!NS .[0mK.Bx})vxKB"Z6VUrbc<%jC(b{T{zݧd3,/ Rm'/ 0>rz|x+8c) 1? UAN( Jh&u3?oaHDs ouE.Q!ZL~fQZLnueD댠O6E%5*o;-Ff^qW$ WQMaRuGAeJ O8 \y/\5\<* fA RR09~W\ 5_j*]'S|?z Y?c1ivëWZXD)` SCki)4~L0_&ZBӓev24iA]WNI0,P?`곅}$-M}$^ XuI0?m% u4mEs3ax\+n]C$D0 :iyh+' d@8dd ToD;SGE y;VH2g)iQuhXp2nIrhtX_hB;hHWLiݓ:iNlg+Q&xP6+L<,sM*&^zb\ﯠ(V'v1o/8UQ5$>hF"Ϻ`@-|W,[($ g5O<>cWY|;a, _5kH{7 2p0lq=fWRydyhP;(.pZDOz D$qqھ[њ`U2&PU9t/%Ry<r+g( 7=2\L%nn&1>x;5Z)`WTߡi s6j&BxjmDV=|[I% .k;[ǔo*WQ5TA!X73 a*7_S0Pe 9\4Y W\9N0[NZ zlZX`G~4ax9Z?eVX ҭ4U$~,'L~CcVG-P"Nq%a}= '!AAf`'7jl_㋎I)wH%Ks^သLМ `vhȌAR.f|FHabA0s$ X<[<G0Ɂ1VSA G"wk%=/60`x :ap%g+Uw*;>WBr| q:L:jVHydp 1e|t#\N*@[P{w} ~F+!FSMf$/$( 0w}+ྎҳJs+][,[:HL QfXaopr4# R`ukPycH!d@@9_P4iPY'4Y,SOqd lgdoL"fqEXlCz.`ӂrD蚙>=9^An Uje1\:uT lD_K6TP5nkJgMK0E1ifšcL"hSppL%7xGT*|N d ]ji~i 'tdwrb($Xu1T'4:+HR-'d=~Jyk{+UH9-O>V%-WkƼj@9uMM"t^UX}@D?`P>[4_\RPlqJ>%S` |3iC,H39U} m0D~ƜO\hx6q5_qS-r8mhcvm 1Ȇ6"M 'SbN n/G%@ҙXmiR"LKE<66p'>~)dGITZUENOUorized sublicen$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1! 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_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0d%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc0e%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc14%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yresopc1c%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal19%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1b%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1d%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1e%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Yrespal1f%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andrestore previous psectRestore previous psect.RESTORE_PSECT  S ;number of arguments per instruction. Tret%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and#Generate standard epilogue sequence#Generate standard epilogue sequence$RETURNReturn address register Rn Return type BASE register&Base register, R0 through R30, and SP.Declare a routine %[common_base]% %[synch_exception]% %[standard_prologue]% %[default_signature]% %[override_flags]% %[uses_vax_arglist]% %[arglist]% %[func_ret]% %[env_val]% %[proc_val]% %[handler_reinvoke]% %[handler_data]% %[handler_add]% %[saved_regs]% %[size]% %[save_ra]% %[save_fp]% %[rsa_offset]% %[stack_ret_val]% %[rei_return]% %[base_reg_is_fp]% %[routine_kind]% %[data_sect_ptr]% %[data_sect]% %[linkage_sect]% %[code_sect]% %[entry_par]% %[local_par]% %[alias_par]%$ROUTINE NAME=%{routine_name}%Name of called routine Routine kind Routine kind,KIND = %{routine_type}%Name of routine Routine typeBOUNDNULLREGISTERSTACK S ;number of arguments per instruction. Urpcc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Srs%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type andRegister save area offsetRegister save area offsetB,RSA_OFFSET = integer_offset ; Specify stack offset in bytes S ;number of arguments per instruction. Urscc%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4addl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4addq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4subl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws4subq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8addl%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8addq%[ins_qual]% %{opcode_arg_list}%... ;Consult the reference manual for type and S ;number of arguments per instruction. Ws8subl%[ins_qual]% %{opcode_arg_list}%... ;Consult the r$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1"eference 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 = %{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 dataStVGc$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1jy"ore 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@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@@V$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1Γ" 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,ADDRESS-ADDRESS_EXPRESSIONl-ADDRESS_EXPRESSION_ITEM-ADDSy.ADDTA/ALIAS_NAME_LIST}/ ALIAS_PAR/ALIGN0 ALIGN_INTEGER0 ALIGN_KEYWORDT1AMOVRM2AMOVRR2AND3ANDNOTy4ARGLIST4 ARGUMENT_LIST#5ARGUMENT_TYPE_LISTN5ASCIC5ASCID 6ASCIIb6 ASCII_STRING6ASCIZ&7BASE{7BASE_EXPRESSION7BASE_REG_IS_FPp8 BASE_REG_LIST8BEGIN_EPILOGUEE9 BEGIN_EXACT9BEQm:BGE4;BGT;BIC<BIS=BLANK_IF=BLBC>BLBSs?BLE:@BLKA@BLKBABLKDxABLKFABLKGXBBLKLBBLKODCBLKQCBLKS*DBLKTDBLKWEBLTEBNEF BOOLEAN_VALUEFBPTGBRpHBRANCHHBSRRIBUGCHKJBYTEvJBYTE_INTEGER_EXPRESSIONJBYTE_INTEGER_EXPRESSION_ITEM)KCALLK CALL_ARG_LISTL CALL_MACROM CALL_MAC_NAMENCALL_PALNCFLUSHOCHMEyPCHMKAQCHMS RCHMURCLRSCMOVEQbTCMOVGE,UCMOVGTUCMOVLBCVCMOVLBSWCMOVLEVXCMOVLT YCMOVNEYCMPBGEZCMPEQ}[CMPGEQG\CMPGLE]CMPGLT]CMPLE^CMPLTm_CMPTEQ7`CMPTLEaCMPTLTaCMPTUNbCMPULE_cCMPULT)d CODE_ADDRESSdCODE_ADDRESS_LABELdCODE_ENTRY_POINT_LABELe CODE_SECT}e CODE_SECTIONe!CODE_SECTION_PSECT_AND_ATTRIBUTES&fCOLLAPSEsf COMMON_BASEfCOMPRESSjgCONDITIONAL_ARG_LIST>hCONDITIONAL_ASSEMBLY_DIRECTIVEShCPYSiCPYSEWjCPYSN k CUSTOM_OP_ARGkCUSTOM_OP_ARG_LISTkCUSTOM_OP_LIST lCVTDGlCVTGDmCVTGFfnCVTGQ/oCVTLQoCVTQFpCVTQGqCVTQLSrCVTQSsCVTQTsCVTSTtCVTTQwuCVTTS@v DATA_ADDRESShvDATA_EXPRESSION_ITEMvDATA_EXPRESSION_LISTv DATA_SECTWw DATA_SECTIONw!DATA_SECTION_PSECT_AND_ATTRIBUTESx DATA_SECT_PTRfxDATA_STORAGE_DIRECTIVESyDEFAULT_SIGNATUREdz DEFINED_IFz DIFFERENT_IFB{ DIRECTIVES|DISABLE}DIVF}DIVG~DIVSZDIVT"DRAINADRAINT D_FLOATING EDIT_LEXOP EDIT_OPTIONEDIT_OPTION_LIST5 ELEMENT_LEXOPELSE ELSE_OPTION8ENABLEENABLE_OPTION_ITEMENABLE_OPTION_LISTJENCODINGz ENCODING_INSӅENDC ENDM\ENDR END_EPILOGUE END_EXACTk END_PROLOGUEEND_PROLOGUE_PAR< END_ROUTINEEND_ROUTINE_NAMEˈ ENTRY_PAR5 ENTRY_POINT؉ENVIRONMENT_VALUEENV_VAL]EQUAL_IFɊEQVERROREXCBEXTBLvEXTERNALEXTLHEXTLLEXTQHNEXTQL EXTRACT_LEXOPEXTWHgEXTWL0FABSFBEQFBGEFBGTPFBLEFBLTFBNEFCLRpFCMOVEQ;FCMOVGEFCMOVGTћFCMOVLEFCMOVLTgFCMOVNE2FETCHFETCH_MƟFILENAME$ FLOATING_LISTuFLOATING_OPERATEFLOATING_POINT_CONSTANT͠FMOVFNEG]FNOP%FORMAL_ARG_LISTrFORMAT FORMAT_ITEM6 FP_REGISTERiFUNC_RETƤ F_FLOATING-GENTRAP GLOBAL_SYMBOL1GREATER_EQUAL_IF GREATER_IF G_FLOATING\HALT$ HANDLER_ADDHANDLER_ADDRESS HANDLER_DATAHANDLER_REINVOKEʩ IDENTICAL_IFP ID_STRINGIF IF_CONDITIONIF_FALSEOIF_TRUEݮ IF_TRUE_FALSEIIFIMBݰINCLUDE_SOURCEVINSBLINSLHINSLLINSQHzINSQHILEINSQHILRINSQHIQܶINSQHIQRINSQLqINSQTIL<INSQTILRINSQTIQӺINSQTIQRINSQUELjINSQUEQ5 INSTRUCTION INSTRUCTIONSINSWHVINSWLINS_INTEGER_EXPRESSIONINS_QUALINTEGER_EXPRESSIONV INTEGER_LEXOPINTEGER_OR_ALIGN_KEYWORDIRPIRPC IRPC_FORMAL_ARG IRPC_STRING IRP_ACTUAL_ARG_LISTIRP_FORMAL_ARGJMPJSRz JSR_COROUTINEKLDALDAHLDFLDGhLDL/LDL_LLDQLDQPLDQ_APLDQ_LLDQ_NOPLDQ_ULDStLDT; LENGTH_LEXOP LESS_EQUAL_IF LESS_THAN_IFTLEXICAL_ESCAPELEXICAL_OPERATIONSLEXICAL_STRING_SYMBOL LEXICAL_SUBDLINKAGE_CONTROL_DIRECTIVES LINKAGE_PAIR<LINKAGE_PAIR_MACROfLINKAGE_PAIR_NAMELINKAGE_REGISTER_ARG LINKAGE_SECTgLINKAGE_SECTIONLINKAGE_SECTION_ADDTLINKAGE_SECTION_ADDRESS$LINKAGE_SECTION_PSECT_AND_ATTRIBUTESLINKAGE_SECTION_REGISTERLIST[LISTING_CONTROL_DIRECTIVES LISTING_TITLE[LIST_ELEMENT_NUMBER LIST_OPTIONULIST_OPTION_ITEM~LOCAL_BLOCK_OPTIONLOCAL_CALL_BOOLTLOCAL_CODE_ADDRESSLOCAL_LINKAGE_PAIR, LOCAL_PARLOCAL_PROCEDURE_DESCRIPTOR@ LOCAL_SYMBOLx LOCATE_LEXOPLOCATION_CONTROL_DIRECTIVESLONG6 LOWERCASEMACRO MACRO_CALLgMACRO_DIRECTIVESMACRO_FORMAL_ARGUMENTe MACRO_NAMEMACRO_NAME_LISTMBMDELETE"MESSAGE_DISPLAY_DIRECTIVESrMEXITMFPR_ASN MFPR_ASTENO MFPR_ASTSRMFPR_ESPMFPR_FENMFPR_IPLM$ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;1S " 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_VALrSTACK_RET_VAL_BOOLsSTANDARD_PROLOGUEJVboЬެ #9D[hͭ$3?O^kyŮ'4@V`n{ǯ֯$3CRaoðӰ#3CScsñѱ,@Tht~ƲԲ -?Nhxųѳ,8C[s~Ŵ޴ #0=Qfq|ĵԵ'@Ypöն!-8DZkz98ʷַ6BNevɸԸ -:G[ht̹߹ &2>IUamyͺغ &4@_˻ۻ $2@N]lzͼۼ-;I]w2YerľѾ޾,9FS`mʿ޿;Tfz 6KWjx-EXp '4AVcp| *7FVk!3BWo $8HWlw &6EUds1<H_r*7DS`kv5Ic|)IUw7Hj~ &8OYh .?Paq (5BO\iv 0ARbs&2>R^q$:NZl%Ha|*FV{ ,;KZjy!1AQaq!/H[et$2@N\j|  -9L_p*@KVany ".:FRbw $6FXeq1UfvJ06 MACRO/ALPHA 'Lse$File' AabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$._0123456789 %{module}%=#+-*/\&!@,;[]()<>.': MACRO-64 .M64 $ MACRO64011.AVU@~&[ASM.KITBUILD_20202F79_A]MACRO64.ENV;15`P%{}%%{}%...%[]%%[]%...P;;-"<MACRO64&*[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1+,OU./ 4-@~0123KPWO56໫8P7˔P89GHJ0D`0205i!P"XMACRO-64MACRO64V1.1-087i!P05-139:<    $ %* ..3 *a% < N=   ? ! VAXCRTL_001! LIBRTL_001! MTHRTL_001W!d FORRTL_001!  LBRSHR_001$0$2 T_RETURN_OP1$(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! *$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1," l2lllX55>5 Q  $(0t ? 4z c4z cW {        * W444 c W$2 T_MUL_J_J_J_OVF 2   $(04z c4z cW{ * W * W * 2W444cW$2T_MUL_J_J_J_NOOVFT_MUL_V_V_V_IGNP2W  $($ 04z c 4z  cW{   * \ W444cW$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 * *#W444c W$2 T_MUL_J_I_I' @'$@2 9  $($ $$0t? 4z  c$4z$ cW{ * n$W * $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{ * T1cW$2 T_NEG_REAL16$04z cW{ 'cW$2p T_NEG_S32 T_NEG_ANY_D1 T_NEG_ANY_D2l $04z cW4{  oo@ *2cW$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{     *&6  N P ' 'E - t8Ft0  *d6   F*6  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$ ?"$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1="! 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_INSWL_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{ #cI$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"2g'cW$2 T_SUB_R16   $(04z c4z c      4 4 { o o o *F` cW$2T_MUL_C  $( $0 4z c4z  c      4 4 { o o o *a cW$2 T_MUL_CONJG           $(04z c4z c      4 4 W{ o .o /o0o1o2*c   N \ F\ *Bc  cW$2T_DIV_CV::99bX   7               $(04z c4z c            44 _ #  W{ oooo *Ne  N* e *e  *f N\F\*fcW$2LTX T_DIV_C_DBL     $(04z c   4W{ o .o /o 0o 1o 2?* h N \F\*i cW$2 T_DIV_C_ONE;V::99bX   7           $(04z c          4 4 _ #  W{ oooo ?*j N* k*"k  *Lk  N\F\*k  cW$2(04T_DIV_C_ONE_DBL; $(04z c4z c{ o* mcW4$2 T_CMUL_CDIV_C9B  : E V9B  :E $(04z c{ t   P *\n Ft*n cW$2dxT_REM_INT_P2_LIT8_16" 9B  : E $(0}4z c{    Z* pcW$2T_REM_INT_P2_LIT"> $(0}t@4z cW{ * qcW$2 T_ROT_LIT?  > $(0}g4z c  d'8tF':tF'9t W{ *q 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* z  cW$2T_RELOP_INT1285Q5 $(04z c4z c    W444 4 { t o lkZ*l{   cW$2T_RELOP_COM_INT128T_RELOP_INT128_COM $(04z c4z cW{   44t t oFt t o  o. 'T . * | . 'T - cW$2 T_EQL_NEQ_C $(0$4z c4z cW    44" " ooF" " ooo. . * (~ . . 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$(0$w$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1è"C4z 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{ '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 8NdNNNNO+4@l ğLH@l`SSHPtPP$QPPPQ|QR,RQQRS4SSSTE  ==> ==> ==> ==> ==> ====>>   =W> =W =/]> =] =:9/]> @ =.\>E =/]> ==./\]>> ==\] ==XY>> ==XY == %Z[>> ==Z[    == %Z[>>== %Z[>> ==Z[==Z[ 8==XY>> :== %Z[>> :== %Z[>>:== %Z[>>   = ;W>'Gd$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1gB"v? E = ;/]>? E = ;/]>9?k:  E ;.=>@E 9C  = ;Y>9? kC ;X>@E  E 9C  = ;%[>? ; Z>@E  E =89W> =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{ * hcW$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* 8cW$2P`T_UFETCH_SBYTE$0WRO 168{ W44;7K* lP Q'cW$2l ,,(T_DFETCH_UWORDT_DFETCH_WORD_Z16$0WRO 168{ W44;7tKt* cW$2x ,,(T_DFETCH_SWORD($ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1V"$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* 'Ft* Ft* 6cW$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$2 T_UFETCH_FLOAT$0R14;7tW68      _W4444 4 #t*P 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{ * cW$2T_LITREF_INT128_ZERO0$W?W2T_LITREF_REAL_ZERO 0{ ?* JcW$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 .* rW682t@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* z!W2@D(440T_STORE_GEN_CMPLX88# $(0RO1R14z cW44;7th68o* "WW2@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* bW2(, T_USTORE_BYTE8>$(0R)$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1["14;7hW4 68y* W2$(T_USTORE_BYTE_08 >$(04z cW4;7h68W44  y* W2~ T_DSTORE_WORD8>$(04;7h68W4 y* BW2T_DSTORE_WORD_08 >$(0R14z cW4;7th68W44     y* W2~(, T_PSTORE_WORD8#*>$(0R 14z cW4;7( dDtF tF tF th68W44      y( dD* F* F* F*H W2~(<P`(, T_USTORE_WORD8>p T_USTORE_LONG8> T_USTORE_QUAD8>T_USTORE_FIXED_168>$(0R 14;7( dDtF tF tF thW468  y( dD* nF* ~F* F* W2 dp|$( T_USTORE_08 >T_USTORE_INT128_08 >$(0R14z c_c#W4;7th68W          W44 4 4 4 4 ty `3*l F*" F* W2,<(,T_USTORE_FLOAT8>$(0RO1R14z cW44;7th68o* FW2@D(440T_USTORE_CMPLX8L8#$(0RO1R14z cW44;7th68o* lW2@D(440T_USTORE_CMPLX16Q8#$(04;7hW4z c      468y* W2T_USTORE_BYTE_LG>$(04;7hW4z c       468y* 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* 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*h 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,tt`$P|,X4<h-pD Lx(T 0\8dI:<B $04z c W* JW2T_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  *c$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1o"cW '='@'?W2H$T_BRCOND_LANDURf$0``2 T_BRCOND_FLOWf> PP $(04z c_cW4 c* N_ct#  X Wt# X W444 4   * N  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 cW{ '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{  * xZcW$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* : 0W3  j  *** lW2T_BIF_ADAWI_NOVALUE= ;]/>:9 9>7Z>55=9> 0W3   jj   *: * l W2T_BIF_ADAWI_PSL0W3j   W#-70D $  '9''F';''F'9'9'F';'9'F'9'T'F';'T'F'9'>'F';'>'': * l 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* V F* ':* lW2p T_BIF_INCDEC "9 ; 9  ;  0W3j    W#-70$!#* F* F* F* ':*  W2xT_BIF_INCDEC_RETRY!#9Z:AT  0W3j W*NW2T_BIF_CMP_STORE_LONG;Z:AT  0W3j W*W2T_BIF_CMP_STORE_QUAD0Wj'W2 T_BIF_RPCC0W3tt j  W#* ';'9'='':'Z* lW2T_BIF_TESTBITCC0W3t t j    W#* ';'9'='':*  'Z W2T_BIF_TESTBITCC_RETRY0W3tt j  W#* ';'9'>'':'Z* lW2T_BIF_TESTBITCS0W3tj  W#* ';'9'='':'X* lW2T_BIF_TESTBITSC0W3tj  W#* ';'9'>'':'X* lW2T_BIF_TESTBITSS0W3t j    W#* ';'9'>'':*  'X W2T_BIF_TESTBITSS_RETRY0W'1W2 T_BIF_TRAPB0W3jW#'T'W2T_BIF_WRITE_MBXDpLx ( T    !$(, 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_L32H0l@|$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1OM;1"4&+  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}} * cW$2\pT_FX_REG_TN_ANDH4&$ 9 $(, 04z cW{ }} * ncW$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* cW$2\T_FX_REG_TN_QHH4&   @ $(, 04z cW{ } t@* cW$2 T_EXTV_TN_QH   @ $(, 068h cW{ K} t * !cW$2\tT_FX_REG_TN_LHH4&    $(, 04z cW{ } t * ~"cW$2 T_EXTV_TN_LH   9 $(, 068h cW{ K}} t* N#cW$2\|T_FX_REG_TN_SANDH4&$  @9 $(, 04z cW{ }} t* b$cW$2T_EXTV_TN_SAND$  @ $(, 068h cW{ K}} t@t @o*J% cW$2\T_FX_REG_TN_ANYH4&  @ $(, 04z cW{ }} t@t @o*& 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} * 6,cW$2tT_FX_REG_TN_VAR8UH4&+$ 9 $(, 04z c4z cW{ t} * R-cW$2T_EXTV_TN_VAR8U$ 9 $(, 068h c4z cW{ K* B.cW$2tT_FX_REG_TN_VAR1SH4&+  9 $(, 04z c4z cW{ * N/cW$2T_EXTV_TN_VAR1S   $(, 068h c4z c4W W  {  K t @}  *.0 c W$2 T_FX_REG_TN_VARH4&+$ @ $(, 04z c4z c4W W  {  o t @}  *1 c W$2 T_EXTV_TN_VAR$ @ Q $(, 0 68h c4z c4z  c   444 W  {  K *2 c W$2 T_FX_REG_TN_GENH4&+ Q $(, 0 4z c4z c4z  c   444 W  {   *.4 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* 8cW$2LXT_FZX_MEM_QUAD0_M8#  @@T_FZX_MEM_QUAD0_MI8#  @@: $(, 04;7}:@KhW68{ K* 9cW$2LXT_FX_MEM_QUAD_L1#   @@?T_FX_MEM_QUAD_L8#   @@8T_FX_MEM_QUAD_L16#   @@0T_FX_MEM_QUAD_L32#  @@ :91l$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1'"  $(, 04;7}:@KhW68{ K* ;cW$2LXT_FX_MEM_QUAD0_S_1#  @@ $(, 04;7}:@KhW68{ } t @t @oK':*< cW$2LXT_FX_MEM_QUAD_F#  @@?@ $(, 04;7}:@KhW68{ tt@t @K':* 2> cW$2LXT_FX_MEM_QUAD_F_Z8#   @@?@ $(, 04;7}:@KhW68{ tt@t @K':* ? cW$2LXT_FX_MEM_QUAD_F_Z16#   @@?@ $(, 04;7}:@KhW68{ t t@t @K':* @ cW$2LXT_FX_MEM_QUAD_F_Z32#  @@?@T_FZX_MEM_QUAD_FB #  @@?@$(, 0R14;7}:Kt  hW4{    } K* 6 c 68W$2\p,0T_FX_MEM_UQUAD  @@@ $(, 0R14;7}:Kt  hW4{    } t@t @oK* 6 *vC 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* HcW$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* KcW$2LXT_FX_MEM_LONG_S_1#   $(, 04;7}: KhW68{ tt@t @K'8* L cW$2LXT_FX_MEM_LONG_F_Z8#     $(, 04;7}: KhW68{ tt@t @K'8* NN cW$2LXT_FX_MEM_LONG_F_Z16#     $(, 04;7}: KhW68{ } t @t @oK'8*O cW$2LXT_FX_MEM_LONG_F#   T_FZX_MEM_LONG_FB #   $(, 0R14;7}:KthW4{  K* c68W$2\p,0T_FZX_MEM_ULONG   T_FX_MEM_ULONG_Z32    $(, 0R14;7}:Kt  hW4{    } t@t @oK*  *vR c 68W$2\p,0T_FX_MEM_ULONG_F    $(, 04;7}:KhW{ 4K* l'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* l*VV  c68W$2LXT_FX_MEM_DWORD_F  ==> $(, 0R14;7}:KthW{  4444K* Wc68W$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*Y c 68W$2\p,0T_FX_MEM_UWORD_F   = $(, 0 W4;7}:KhW684{ K* j[cW$2XdT_FZX_MEM_BYTE  T_FX_MEM_BYTE_Z8  =8 $(, 0  W4;7}:tKthW684 { K* \ cW$2dx T_FX_MEM_BYTE  =2e 5$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1L"1 $(, 04;7}:KhW684{ K* ]cW$2LXT_FX_MEM_BYTE_L1  = $(, 04;7}:KhW684{ Kt ?* ^ cW$2LXT_FX_MEM_BYTE_H1  =9 $(, 04;7}:KhW684{ } K* `cW$2LXT_FZX_MEM_BYTE_F  =  $(, 04;7}:KhW684{ } t @t @oK* Na*na cW$2LXT_FX_MEM_BYTE_F  9= $(, 04z c W4; 7 K h W4  W4 44 68{ K* b  cW$2`lT_FX_MEM_VAR_BIT_L1  9=9 $(, 04z c W4; 7 K h W4  W4 44 68{ K* :d  cW$2`lT_FZX_MEM_VAR_BIT  9=9 $(, 04z c W4; 7 K h W4  W44 4 68{ K* e  cW$2`lT_FX_MEM_VAR_BIT  = => $(, 0} R14;7}:tt&Kg  hW4    W{  et @  ogK*Vg  c 68W$204 T_FX_MEM_X8_F  @?A 99k@: =E  ==>E  TE  $(, 0 R14;7  KXh4z c4z  c         44 4 W68  {  K*Bi 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}} * ncW2T_SX_REG_LIT8_0H4>&  5$ = $(, 0$04z cW{ }} * ncW$2 T_INSV_LIT8_0  5$ > $(, 0$068h c4W}} * ocW2T_SX_REG_LIT8_1H4>&  !$ > $(, 0$04z cW{ }} * pcW$2 T_INSV_LIT8_1  !$ =>  $(, 0$068h c4W}} }$* qcW2 T_SX_REG_LIT8H4>&  $=>  $(, 0$04z cW{ }} }$* rcW$2 T_INSV_LIT8  $=9> $(, 0$0$68h c4z$ c4W }} t*scW2 T_SX_REG_8H4>&  9=> $(, 0$0$4z$ cW4z c W4  {  }} t*t c W$2 T_INSV_8  V= $(, 0$068h c 4W}} * vcW2T_SX_REG_LIT15_0H4>&  5$ V= $(, 0$04z c W{ }} * vcW$2T_INSV_LIT15_0  5$ V> $(, 0$068h c 4W}} * wcW2T_SX_REG_LIT15_1H4>&  !$ V> $(, 0$04z c W{ }} * xcW$2T_INSV_LIT15_1  !$ V=  $(, 0$068h c 4W}} }$* ycW2T_SX_REG_LIT15H4>&  $V=  $(, 0$04z c W{ }} }$*zcW$2 T_INSV_LIT15  $V=9> $(, 0$0$68h c4z$ c  W}} *{cW2 T_SX_REG_15H4>&  V=9> $(, 0$0$4z c4z$ c  W44  {  }} *B} c W$2 T_INSV_15  U= $(, 0$068h c 4W}} t* ~cW2T_SX_REG_LIT15H_0H4>&  5$ U= $(, 0$04z c 3 ]$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1T"BW{ }} t*cW$2T_INSV_LIT15H_0  5$ U> $(, 0$068h c 4W}} t* cW2T_SX_REG_LIT15H_1H4>&  !$ U> $(, 0$04z c W{ }} t*cW$2T_INSV_LIT15H_1  !$ U=  $(, 0$068h c 4W}} }$t*cW2T_SX_REG_LIT15HH4>&  $U=  $(, 0$04z c W{ }} }$ t*ڃ cW$2 T_INSV_LIT15H  $U=9> $(, 0$0$68h c4z$ c  W}} t * cW2 T_SX_REG_15HH4>&  U=9> $(, 0$0$4z c4z$ c  W44  {  }} t *N 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@*c W$2 T_INSV_LOW_64 $ ? T_INSV_LOW_32 $  $(, 0$068h c4W} * ncW2T_SX_REG_HIGH_0H4>&   @5$  $(, 0$04z cW{ } * ZcW$2 T_INSV_HIGH_0   @5$  $(, 0$04z cW{ } t * 6cW$2T_INSV_HIGH_0_32   5$ > $(, 0$0$68h c4z$ c4W } t@* &cW2 T_SX_REG_HIGHH4>&   @> $(, 0$0$4z cW4z$ c   {  } t@*bc 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  {  }} }$*–c 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 *Ν  c W$2 T_INSV_B_64H $ ?  @6> $(, 0$0$4z c4z$ c  W  {  }} x *  c W$2 pp T_INSV_B_32H $ ?  6> $(, 0$0$4z c4z$ c  W  {  }} x t&*2  NDP ' c W$2  T_INSV_B_8_64$ ?%  @  pT_INSV_B_8_32L$ %    4$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;19E64;1$BܪrBlJI3ey&w 61Pr~,8 oh䓝QNn0 X#] %9#r:u_-RH&6 Zu`/14Gֱ 8YG&i xp%O]xk,= 5;68T\EUtH40ܕ&&a.O͙5 3R>Iro|h]č-ɇ}&z靯TE\heq0a%WJ,o (8DV:l=+XV{6~xR:3` 辿ʷ ^1ט'٩*lQVs1"sgt Vgvjtey$P Գ6j,ky !bMJڤ?JͰ6̘ïakHvw$d5¨1z vvhJۊpin- H?6/FAx?nGy~jCp)B!c0|K.,x,"U|XamJĐ$'za"S*"UakR2Tn<{tC>OD10k~@ ѶICV v j޻KYZMF` rGok(|h[ya0`& 4n\b~1x[C*B [zE0CGks@+CP'aMO-?OC. YinUFZk: w0u6Od}x:3<lT<N٤~O Apt7(/#8 sZ&+NԠͽ1KQ(RG ȓA u~i B;%gLn88Th 'ʬVi"pD~,S䜤4^7Uaj14R҅:ܱԟu`~nO:b!^Q{"6cH~6_JBbQMx+!ji PMӊ[dRR*%rH /\֒+σ{ u Dn)*=6MACÃv:3 Q(<A+ь^N9QdUay dU9f?r- LC=jiLuMaMsTczZg|v{+CobRP5\]cB,8"'Xf skȂCk16 dz$38`7 [G8*( _e%ۿK<ČCA'j)ӂ$N%r\ɫǍf%Lɸ nD~XOٙ|;G8 9ff1RE|7BA:oc֋@~8GU݈D䧡#hr`>RiD5T.8.)ʔhСNM,>~b*WFӡIJ?oy*nDfq|AKU obm 3o%m%8G?/*s\5;c_Rˀ($L"},E[bB8 B2|]~V\8cU/%GrPgzz5=sȥ3y C$~^jW!intIXKykIĬ rq))=l&OpaAHv ^JpW!c}I %%j@Aڮ!Y啈|LfQ<$[mH<cw` ; Z/f:cTpЗ:NMrd֬UEv5>UM'kd|A2j qb-}i8)| V`As/=#J>:Q?L[} -ǨUG-h0B]9+Vw3)&\(srk*TJ6b2M$!(q!)tuK>8qx+u$l0I|D` _{'T+\8vWY$B/~Ǎ\/3ϭ1`$54֬5FvcXVтcˇTNC2cy[gz*eFt`:5DH->(FXIHUYW ,(C7XW1x(a(Ht5ao yE@~~:ыk&1UMݷNcZ;S5Dy(Dk`*< pF2Ȁ4*e1w );2_ji`rbLPۉahؚ@4 \lGiVItaJg&QVA`|3=Kڥ- #@TEtU÷3'zhYi?͏/6>5L&5_D47UîtVI_Npq#a85g\aBmtSht^k޻7Hi;z ͎@"hΰZҠJ'favc>#/, 8J\,$:{ϠYB nMĒ\Uh~ϲU_hO K o 8MJ4xb15.FJJK nBvYw de))>؇lHqo+P nIf[K6px%H%A_3ٙ]j*%? IjB]Γ?m1lVQa-!ۻm`C crklI8lT|hcF ]3Z(p3`a57Vԑ/E_Aj It^;#iQ)5p7T,jV}|-^E' x8o(C\֮p?i3:$s@# *(Zek^q2i]{&i:?"om,01E4)byݒH º6(>AsŵW[g]ASxJ[4ge\Tf(\? ,>L$~? Ϣ#8zKO"L)@A|{4VoG.WIfkR3,Ō9jE EFLq /"5]~ h'[A@Pj#uLy_u*j2tA.K] e5\􈗉+=%4AM[a"81 A'#vFC~ QQoG.#*N9x7o> Ԅ'dUtcVSpAHzBʟU#ˋ\UP˔a{T3NE!UVҩAKW~;x:\r=CZ*mky_Y"oU'ǜ񏆞ዒ8qc>ApSGu{}<"ܶX%_)s8!!SFn۫p(λ@/o~b8ͳ X PnR) l"]=m2o\ [B@5pk'NÌv|GT755 0V?\4HӤ-8f2)% h>m"[i3A-I543#X)T3 ƾE R*|գ.hiJ񺍛w>r%W;*wⓎ`!C|ġ^|u盟uۨ'V[rW)LDbMqUu)^T"$H=XSlkw%/Z.Br䆔-/t[*jaK }]L:ゥ#͹0O E-oHIw˷^<ùmf ͩp }CN \.^I,⡱u+!ݫvPuƄpqY-'B6"hZ*Iiw] [^VrP<š9@kz֑m>Esi#ޏѭfIU%w'"e : }C蜞PA*0]/Miw]7?-Bz~ɬwfښ54BciECILVGEMzF͌!ItDH ,}&GF5QN0Կ$L AwY,YhͲTI> +OWSI{s1p&*[Q5'Wt_.N >e[ գok%kaLoa~NDԀ[<\$!M>] v;^OuqXp%蛔k]rb1asڱu9Z6-[: ^g@EJl]#"fMv%[ɾ۳KawڿQ5A\2u*Oz69cTOD W4MLGV@r AٻT-hd( Uu16>N_(#f1X"dM2C~#3i\..޿8 /`S11P=O<>:WZ GWgsϘFlѐ/F 7?˜l&f.@o~`$?%T$'?ꁔ4#o:Ɋٷ@YN(Yc~&mx\Si]/ GOִO30{Ʒ2ɦ)`T<agsV"l9z1VT:<^ 5HguaQ;YK_ 6BRMOcz_C3GJ_ЪDR9 ߹-F-xOA0>MJ DU82g*RW]ׂb9Сp38[ C^s-'&=nMms{*I Z/ה- HC_.T!d^I " 208Q"fѦ*Jsp \ ;7Iț3A*w19~ͱiP臆I;FrX & S2M1& Z/BXI?S{Ű-Jm(ShT4W, 3=+$" QOBZVd7qDs .\y`e( C=d]LEJEZ sT*#Ҋ W㗲Wd[VRѲ  ؎=/eem' ࣊3ɒf>OBq`-0 1|rJxPSq͊vJ eRsMx4Ya_?gDBI =x.Eq??^9*Jg$sJ&Hm@BO>BKBUsKY٥{ ">Jj8X W>L6q^ "k@ -´DXE^[,cִ OU+|'nv6O5ZQGZlC2woJSDsDNUɝ;_bC'> uQɲCU+Z2':-RiFu&r$t6qbU d݁nnuq#V)Γ92M[:z..L"ddwE-hX.8 ;/V0ƴyR8<7pȖVyV@$QAKP%4+lm(wCJk1 *\h2} C_%`Qtu[''X(D wLlʟw/BG|Aiuwi;hb h nw'ï#݂{ ,SA=j~ƭKk&|b͐F~53a29b<G?=WE{sC/$I0(zx.eI.xrF<C)*xѳHdzM#~  T} _  ,Y1E1;oXQL9pͱhscDtsK?&VA!̺™;)^F^*S]vuT%^ %J[so=##9KJ(q_=h Pr-(1IM;gX0 YEbD. F B yl\j dN/ g5 =j'p(E77۸p~O?̌l`9;^B9uWladt̍NCΓA ݓѾ5$%;I`[e_v>Xgab5)GXKoƐsW[`iQ_ip 5Ee0R)%"e1 sr)xa)(ڶDD"c1{Y(g(8etgDF6'6O^lz+ ;Consult the r5Km$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1n"Sp T_INSV_B_8_32$ %    6/> $(, 0$0$4z c4z$ c  W  {  }} x t&*Z  NDP ' c W$2 ~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  {  }} * ' c W$2 T_INSV_F  @Q=9> $(, 0$0 $68h c4z c4z  c4z$ cW    4W  444 4 68*2  cW2 T_SX_REG_GENH4>&+Q=9> $(, 0$0 $4z c4z c4z  c4z$ cW    4W  44W4 4   {  *  ND' c W$2 T_INSV_GEN$(, 0$0R14;7}:hW4 68y* W248T_SX_MEM_BYTE_0>  5$ $(, 0$0$R14;7}:hW4z$ c  468y* bW28< T_SX_MEM_BYTE>  == $(, 0$0R14;7}:hW4  68} y* W248T_SX_MEM_BYTE_LIT_0>  5$ => $(, 0$0R14;7}:hW4  68} y* ֭W248T_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* W28<T_SX_MEM_BYTE_F>  $(, 0$0$4;7}:hW4z$ c       468y* W2T_SX_MEM_BYTE_LG>  $(, 0$0$4;7}:hW4z$ c        468y* W2T_SX_MEM_BYTE_BG  $(, 0$04;7}:hW 468y* BW2T_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* 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* 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* 2W248T_SX_MEM_LONG_LIT8_1>#  !$ 8=>  $(, 0$0R14;7}: hW4 68} }$y* VW248T_SX_MEM_LONG_LIT8>#  $8= $(, 0$0R14;7}: hW4  68} y* W248T_SX_MEM_LONG_LIT_0>#   5$ 8>697d $ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1~"d $(, 0$0R14;7}: hW4  68} y* W248T_SX_MEM_LONG_LIT_1>#   !$ 8= > $(, 0$0R14;7}: hW4  68} }$y*W248T_SX_MEM_LONG_LIT>#   $86 $(, 0$0R14;7}: hW4 68} xy* bW248T_SX_MEM_LONG_FB_0> #   5$ 867> $(, 0$0$R14;7}: hW4z$ c  W  4 468} x y* 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* 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* W2p8<T_SX_MEM_LONG_F>#   8=> $(, 0$0$R14;7}: hW4z$ c    W  4 4 468} y*N 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* BW248T_SX_MEM_QUAD_LIT8_0>#  @@5$ :> $(, 0$0R14;7}:@hW4 68} y* fW248T_SX_MEM_QUAD_LIT8_1>#  @@!$ :=>  $(, 0$0R14;7}:@hW4 68} }$y* W248T_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*JW248T_SX_MEM_QUAD_LIT>#  @@$:6 $(, 0$0R14;7}:@hW4 68} xy* W248T_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*N 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*j W2p8<T_SX_MEM_QUAD_FB_32>  #  @@?@:7Fk$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1W"u:67> $(, 0$$$($(,$,00(R14;7}:@hW4;7$},:@$h$W    44686$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* 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* W24<@T_SX_MEM_VAR_BIT>  = = %==  $(, 0$0} R14;7}:tt & t   hW4       Wt@t@y* 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*r  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\!0!! "d""#l#$t$$%,&&&''<(((()D)p)) *L*x***(+T+*++,0,\,, -8-d----@.l....t//$0P0|01,11112`2223<3h3!!8"""@##H$$$P%&X&&''(h(I\!0!! "d""#l##t$$|%%,&&&4''<(((()D)p)))) *L*x*+*(+T+*++0,,,, -8-d----.@./...H/t////|000,1X111242223<3h3!!8"""@###$$%&X&&'`'(h(V334p44 5x55(6660777d88l99:t:$;:=lDDEHEtEEEE$F|FFFPFG,GXGDDG(ATAAAAB0B\BBB CB8CdCCCCD@D??L@x@?@@ @@<>h>>>>?D?p?GGH4H`HHHH&3D444L555T667\77 88888999H:::P;|;<<<=4=`==,<X<;;<=>YCYC YC YC   E $0R1An 4; 7  h t  ? X Wt  @ZW6844) WWcWRN j    \ D* * ** J* jtZ * zFW4 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_OP1B87p$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1#e"$(0R1An 4c ̬W4; 7  h t  ? X Wt  @ Z W68444)W2 $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        \ \ ** 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                   \ \ *Z \ \ * \ \ * 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$ >>>9D$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1">>>Q $(0A4"C}t^vc!W   }t e  t @ t*f) 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* f,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* :0W ̰W4 cW$2GEM_T_SHRD_D8_9N15_1*9$  PQ $(0A4"C } t^vc!W}t e  t @ t* 1 W ̰W4 cW$2GEM_T_SHRD_D8_9N15_2*9 $  >P>Q $(0A4"C}t^vc!W  }t e  t  t @ t*b2 W ̰W4 cW$2GEM_T_SHRD_D8_9N15_3*9$  >>P>>Q $(0A4"C}t^vc!W  }t e  t  t @ t*4 W ̰W4 cW$2GEM_T_SHRD_D8_9N15_4*9$  PP $(0A4c!W* "6W ̰W4 cW$2GEM_T_SHRD_D8_16_1*9 PPP $(0A4c!W* 6W ̰W4 cW$2GEM_T_SHRD_D8_16_2*9  TPPQ $(0A4" C}  t^  v c!Wt* 7W  ̰W4 cW$2GEM_T_SHRD_D8_16_3*9 TTPP>Q $(0A4" C }  t^  v c!W t* 8W  ̰W4 cW$2GEM_T_SHRD_D8_16_4*9 PP $(0A4c!W* J:W ̰W4 cW$2GEM_T_SHRD_D8_17N23_1*9$ PPP $(0A4c!W* ";W ̰W4 cW$2GEM_T_SHRD_D8_17N23_2*9 $ PPQ $(0A4"C } t^vc!W}t e  t  t* < W ̰W4 cW$2GEM_T_SHRD_D8_17N23_3*9$ >PP>Q $(0A4"C}t^vc!W  }t e  t  t  t*^= W ̰W4 cW$2GEM_T_SHRD_D8_17N23_4*9$ PP $(0A4c!W* "?W ̰W4 cW$2GEM_T_SHRD_D8_24_1*9 PPP $(0A4c!W* ?W ̰W4 cW$2GEM_T_SHRD_D8_24_2*9  PPPP $(0A4c!W* @W ̰W4 cW$2GEM_T_SHRD_D8_24_3*9 TPPPQ $(0A4" C}  t^  v c!Wt* AW  ̰W4 cW$2GEM_T_SHRD_D8_24_4*9 PP $(0A4c!W* BW ̰W4 cW$2GEM_T_SHRD_D8_25N31_1*9$ PPP $(0A4c!W* CW ̰W4 cW$2GEM_T_SHRD_D8_25N31_2*9 $ PPPP $(0A4c!W* DW ̰W4 cW$2GEM_T_SHRD_D8_25N31_3*9$ PPPQ $(0A4"C } t^vc!W}t e  t  t* E W ̰W4 cW$2GEM_T_SHRD_D8_25N31_4*9$ PP $(0A4c!W* FW ̰W4 cW$2GEM_T_SHRD_D8_32N_1*9 PPP $(0A4c!W* GW ̰W4 cW$2GEM_T_SHRD_D8_32N_2*9  PPPP $(0A4c!W* HW ̰W4 cW$2GEM_T_SHRD_D8_32N_3*9 PPPPP $(0A4c!W* IW ̰W4 cW$2GEM_T_SHRD_D8_32N_4*9 =Q $(0A4"C }  t^vc!W  }t e  t\ * J W ̴W4 cW$2GEM_T_SHRD_D4_1N15_1*9$ ::$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1">=>Q $(0A4"C}t^vc!W    }t e  t @ t\*K W ̰W4 cW$2GEM_T_SHRD_D4_1N15_2*9$ :PP $(0A4c!W* MW ̰W4 cW$2GEM_T_SHRD_D4_16_1*9 TP=Q $(0A4" C }  t^  v c!W t\* nNW  ̰W4 cW$2GEM_T_SHRD_D4_16_2*9 PP $(0A4c!W* OW ̰W4 cW$2GEM_T_SHRD_D4_17N32_1*9$ :P=Q $(0A4"C}t^vc!W}t e t @ t  \ * P W ̰W4 cW$2GEM_T_SHRD_D4_17N31_2*9$ :PP $(0A4c!W* QW ̰W4 cW$2GEM_T_SHRD_D4_32N_1*9 PPP $(0A4c!W* RW ̰W4 cW$2GEM_T_SHRD_D4_32N_2*9 =9>=Q $(0A4"C}t^vc!W        ttt \ \ *S  W ̴W4 cW$2GEM_T_SHRD_D4_1_1*99 =9>=Q $(0A4"C}t^vc!W    t} tt e   \\*fU W ̴W4 cW$2GEM_T_SHRD_D4_3O13_1*99$    $(0A4"C}vc!W} t e t @ tt&* BW * XW W ̴W4 cW$2GEM_T_SHLD_D8_1N7_1*9$  > $(0A4"C}vc!W  } t e t @ tt&* X * X W ̰W4 cW$2GEM_T_SHLD_D8_1N7_2*9 $  >> $(0A4"C}vc!W  } t e t @ tt&* nZ * Z W ̰W4 cW$2GEM_T_SHLD_D8_1N7_3*9$ >>> $(0A4"C}tavc!W  } t e t @ * b\ W ̰W4 cW$2GEM_T_SHLD_D8_1N7_4*9$ TP $(0A4" C}v  c! W* :^W  ̰W4 cW$2GEM_T_SHLD_D8_8_1*9 TTP $(0A4" C}v  c! W* &_W  ̰W4 cW$2GEM_T_SHLD_D8_8_2*9  TTTP $(0A4" C} ta  v  c! W* "`W  ̰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&* va * a W ̰W4 cW$2GEM_T_SHLD_D8_9N15_1*9$   >P $(0A4"C}vc!W  } t e t  t@ tt&* b * c W ̰W4 cW$2GEM_T_SHLD_D8_9N15_2*9 $  >>P $(0A4"C}tavc!W  } t e t  t@ * dW ̰W4 cW$2GEM_T_SHLD_D8_9N15_3*9$  GEM_T_SHLD_D8_9N15_4*9$  TPP $(0A4" C}v  c! W* fW  ̰W4 cW$2GEM_T_SHLD_D8_16_1*9 TTPP $(0A4" C} ta  v  c! W* gW  ̰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&* Ji* `iW ̰W4 cW$2GEM_T_SHLD_D8_17N23_1*9$ >PP $(0A4"C}tavc!W  } t e t  t * jW ̰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* lW  ̰W4 cW$2GEM_T_SHLD_D8_24_1*9 ;8$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1?q"GEM_T_SHLD_D8_24_2*9  GEM_T_SHLD_D8_24_3*9 GEM_T_SHLD_D8_24_4*9 PPP $(0A4"C}t a vc!W}t e  t  * n 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* pW  ̰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&* fr * |r W ̴W4 cW$2GEM_T_SHLD_D4_1N15_1*9:$ > $(0A4"C}vc!W  } t e t @ * s W ̰W4 cW$2GEM_T_SHLD_D4_1N15_2*9:$ TP $(0A4" C}v  c! W* :uW  ̰W4 cW$2GEM_T_SHLD_D4_16_1*9 GEM_T_SHLD_D4_16_2*9 P $(0A4"C}vc!W} t e t @ * ^v W ̰W4 cW$2GEM_T_SHLD_D4_17N31_1*9:$ GEM_T_SHLD_D4_17N31_2*9:$ PP $(0A4" C} ta  v  c! W* wW  ̰W4 cW$2GEM_T_SHLD_D4_32N_1*9 GEM_T_SHLD_D4_32N_2*9 =9> $(0A4c!W      } tte  \ *x W ̴W4 cW$2GEM_T_SHLD_D4_1_1*9 =9> $(0A4c!W     } tt e   \ *Fz 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{ * }FW{ * }F  W{ * }cW$2P|GEM_T_CMPEQL0_DEC_GENGEM_T_CMPNEQ0_DEC_GENZ= >Z= >>>Z= $(04cWD {  * j F {  *  F  {  *  4cW$2TGEM_T_CMPLSS0_DEC_NZGEM_T_CMPGEQ0_DEC_NZCZ> >Z> >>>Z> $(04cWD {  *  F {  * ā F  {  *  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  *҃ F* F* '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* 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  *lF*F*: 'lF 'ZcW$2dT0DTlxGEM_T_CMPE_DEC_OOB*-GEM_T_CMPE_DEC<S9$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1}"_OBO-*$(0An  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</6YYYZxaaaa(bTbbbbc0c\cccc d8dddddde@eleeeefHftffff$gPg|gggh,hXhhhhi4i`iiii.YYYZ@ZlZZZZ[H[t[[[[$\P\|\\\],]X]]]]^4^`^^^^_<_h____`D`p```` aLa(|0|0|0|0|0<H, 0pP` 0|` 0td 0|0|0|| 4$xP@xt\dxxx4$xX@Hxtdxx0x0xx,x0T8Hp0|`ppppd X xp x x T 4 D x`  x x P @ x\ x xx4$x@xdtx P<x \x"x  ZTthx x|@ @P " 6F \( 4  Z\P < Z !!!O""""A`#H$\$8$H $%%%8"&&'&8D''('((((n $))*) :****  +++ +R,h,X, p,,,x---| -l.X.s x.//(/ /-////x/80 0D0(0pQ0000x0L1D1x12222p22x2` 2222333343 4484(4P4@4 h4X4 4p4444444455x5@45555 46565 7<8T8L8x- 7<8l8`8 ( x89998 x8999  9:;(; ;8x89D;8; 9:`;l;P;0;|;@ 0;;x ;;;@ ;;;@<;$<<` P<4<\<<<p<l<<t<x<<<@<<<<` $==0==pT=`=@=@=p==x=` ===@===x >>>X )>>>>>@>t?\??d? >???@?h@P@|@X@ ?@@@@@hAPA|AXA @AAA@AhBPB|BXB ABBB@B`CtCPC@C DD4DD ChDPD|DXD CDDDD@D|EdEElE DEEEE D FE FE@9FFFFF 9F$G8GG@QGGGHG QG^`$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1" ¶~xd v.H4# nt#@ $8,d$L@d$`Tdhtxn `hn htxn x} ,@xsI}  },} \0$0Frxn  |)  DT4  `|  (x 4 x`  ` <(x `\Hx 8(x Dx4L,X<]\pLx} 4x}XlDy$<`}`tLxxt| |       XH `x4 <D 9dd 0| |)  t!               4  <  t   h P p X $   4  < $ D"  ` H h P  '   t  | d "      d '      "  $t"  H0P80Y8T0\D3#e4H,P8# Y HP40]08E|xx H8Ll| @D,h !LP8U!# PdhT|$(  1| Rlx\ R  P\8y( 4DAD 40@D]$ d]L4X<De`  0!X!!h!D!`  !P"p"H"|"\"0 "d##\##p# #d$$\$$|$$$%%$5%%%%% %z&&&&&.'H'T'4'|i'(0(<((I()8) )T)$)|)***** +++++++d,|,\,,h,,L-,-X-<-i-----......&  /00t000>  /00000 >  /011(1 1D>  /0T181`1@1| m122222t(m123232P%3t44l4447 4\5|5T55h50 5H6h6@6t6T6 6@77L7,7' Y787$88J 188888'  999999J  :::::4 :;;;;T ;<<<< 4 <=t=== T=>p>>x>D4>t?X??`?DT]????!P"????05H6@?@?%@@@@@%@@@@@i@AAA@+X+h+D+|+,,, ,d|^,,-(--t z-$.4..dt p.//(//||/0$00d|n0>1X1h1D1| 1222| 33443| ~4f5|5l5| 5,6D6$6T646De6747 7D7 7D5,6x7\77d7|5,67777|5,687(88t5,6h8L8x8T8d8h99`99p9t 8h99999 ::::::|:: ;;0; ;|::h;L;x;T;t::;;;;d<<<<<<|(==>= >=| r>MN$NN4NN| NXOxOPOO`O| OPPPPP| OP QPQP| 5QQRQ,RRD$5QQXRThD|”Zp`dtd|D  d r(<|qܙDAКĚd țd  0D 0H(\8d 0 d ԞD 0 d dPhH|XD dPġءd dP 4 d xpD x̣ܣd xL,`< d D 2d |/ ltxd/ 4L,`8|}DX4lH|!ڬ|!*خЮܮ|!h`l|3 N$<P(|7 iH$\4|' uT0h@|J u0tQ0 t!M(<P,t( mPd@xTt@ pL\t' ttJ ȺغtJ t4 1$8tTMܽd!̾оd>ؿ|b 4| H`@tL||t||d, @|#4L,`8||  T@X0lD| t ||( |H h0|( $0|' x|# |# P0d8|# l\pD@ T<hDDy4H D]$D A(D r0 D|8T0h<||| |B  |XpP\|#xp||((|  t| $,@t d PdTh|( Pd<|( |'  D@ |1 vLdDxP|1 ZLd<xP|@ @`|Xd|D`x|D0D(X4|h|| HP0*<\d+<,<*F+FD (,FpLxT*<+<,<0 8-PpLxT.P/P*F$,+F\8d@,Fpx-Z.Z /Zt\ *x + , - . / F(    FX 4 <  < d l  Z    Z    P     *     +     ,     -  (   .  H 0  /P T t \  *FP T    ,FP T    *<P T    ,<P T    *<P T (   ,<P T L 4 *FP T p X ,FP T  | *<P T   ,<P T   *<P T  ,<P T ( -FP T P4/FP T x\-<P T /<P T -<P T /<P T *ZP T 8 *ZP T \D*nP T h-ZP T -ZP T -nlx\ *F  ,< *.|*"4@ *6r-.** , **8$, X@*x`* , 8T<*F 8p\*< 8x,< 8* 8*x 8,x  t *F   *<   ,<  `!|!d!F `!!!< `!!!F `!!!< `!!!F `! ""<("""*< (""",< ("""*x ("#"-< ("4##,x ("X#<#/< `#$$<$($ *F`#$$\$H$ ,<`#$$|$h$ *Z`#$$$$ ,P$%%%* P&P'\'8'*"8(8)D) )*8h*h+t+P+*N+<,H,(,*,\-h-H-*  -...* B/00/* P0000*F142@22*2B$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1%"0333*&4565*<86666*7777* 8888* R9 :,: :* `::;:*B;;;;* D<0=<==*=>?>**8????*@@@@* @AAtA*ABBB* BCCxC*CtDD\D* D`ElEHE*EFFF*GGGG*G|HHdH* HdIpILI*IXJdJ@J*JKKK*`LlMxMTM*.MDNPN0N*NOOpO* OXPdP@P*PQQQ*RRRR*RSSpS* 2T4U@U U*3UWWV*3nWnXXXtX*Y,ZHZTZ0Z* [\<\H\$\*2]^ ^]*=V^__^* R_` `_*  ^`a(aa* ^`Ta`a@a* abbbb*jcdddd*$belfxfTf*/befff*/fggg*  ghhh* ghhh* g(i4ii* ijjjj*>kHlTl0l*!>kllpl*!>klll*!mmmm* mn nn* mLnXn8n* mnnpn* nooo*np po*n@pLp(p*npphp*pqqxq* pqqq* prrq* pDrPr,r* rssss*&tuut*Vuvvu* Vu, .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 Cd&V$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;10"Ar7 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 .endc .library "STARLET.MLB" "MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARY" .library "MACRO64.MLB" "MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARY" .macro draint .error "DRAINT is obsolete. Use TRAPB." TRAPB .endm .macro DRAINT .error "DRAINT is obsolete. Use TRAPB." TRAPB .endm .macro excb .nlist $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> excb .list .endm .macro EXCB .nlist $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> EXCB .list .endm .macro wmb .nlist $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> wmb .list .endm .macro WMB .nlist $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> WMB .list .endm .macro unop .nlist $OPDEF MNEMONIC=UNOP,FORMAT=CUSTOM, ENCODING=<0:31=^x2FFE0000> $OPDEF MNEMONIC=unop,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000> unop .list .endm .macro UNOP .nlist $OPDEF MNEMONIC=UNOP,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000> $OPDEF MNEMONIC=unop,FORMAT= CUSTOM, ENCODING=<0:31=^x2FFE0000> UNOP .list .endm .if ne, <%type(MACRO64$AT_END) & MACRO64$TYPE_MACRO> MACRO64$AT_END .endc JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDECAlpha/MACRO-64 - MAC Facility EDITELEMENTEXTRACTeditelementextractFREGfregINTEGERIREGintegeriregLENGTHLOCATElengthlocate REPEAT repeat STRING string TIME TYPE time type%d%dAlpha/MACRO-64 - MSG Facility...MSG - Error in message argument type.MAIN.Consistency Check in SEM Token stack overflow Alpha/MACRO-64 - SRC FacilityM64M64MLBMLBMACRO64$Alpha/MACRO-64 - TOK FacilitywordPAGEtbkCNDgblLIBRARYFPTlowercaseIDENTICALDIFFERENTblanknovecTBKGBLSUPPRESSIONWORDpictruncationbyte_alignnoshrabsolutePICndfTRUNCATIONnomixeqBtracebackALIGN_LABELNDFTRIMconnowrtdefinitionsALIGN_DATADFCOMPRESScompressGREATER_EQUALCONUPCASEbtrimincludeNOWRTNOMIXSCHEDULENORDpeepholelePEEPHOLENOSHRltdbgnordNOVECEQrdBLANKGREATERGLOBALDBGsuppressiondifferentidenticalLOWERCASEidnNOT_DEFINEDLOCAL_BLOCKexpansionsgerelBYTEwrtIDNEXPANSIONSgtPREPROCESS_OUTPUTglobalRELmixconditionalsmcmegreatermdWRTTRACEBACKbyteshrcollapseMIXnot_blankquadusrnopicEQUALSHRvecLEUSRNOEXEBINARYlongdifCOLLAPSEVECQUADLTDEFINITIONSbinaryscheduleRDDIFCONDITIONALSNOT_BLANKupcaseNOT_EQUALFLOATlsbnbLONGDEFINEDneamaalign_labelGELSBnot_definedalign_dataAMAmebGTdebugALIGN_CODEMCMDless_equalalign_codenot_equalMEMEBabsdefinedexegreater_equalINCLUDEnoexesuppreprocess_outputABSCALLSEXEcallsequalABSOLUTEovrNOPICLESS_THANOCTAlclSUPlocal_blocklibraryOVRlibLCLLESS_EQUALdfless_thanpagefloatoctaNBBYTE_ALIGNDEBUGNELIBcndfpt-9223372036854775808 EXPANSIONSCONDITIONALSINCLUDELIBRARYBINARYFLOATCODEDATACLPCODLEXLOCLOFMACMSGRESSEMSRCSYNTABTOKUTLEXPSYMBOLSTRACEBACKUPPERCASELOWERCASEAS_ISPEEPHOLESCHEDULEINFORMATIONALSWARNINGSOBJECT.OBJLIST.LISWARNINGSMACHINE_CODEDEBUGOPTIMIZENOOPTIMIZENAMESENVIRONMENTALIGNMENTNOALIGNMENTDUMP_FILE.DMPDIAGNOSTICS.DIADUMP_FACILITYSHOWNOSHOWLIBRARYSYS$LIBRARY:.MLBPREPROCESS_ONLY.ASMDEFINEMACRO64MACRO-64 V1.1-087(#Alpha/MACRO-64 - Internal Utilities$LINE !"#$& %'(*+,./12346)-059:;<=>?@ABCDEGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !#%&(*+,-./13045689:;=<7>?ACDEFGHIJKLMNOPQSTWXYZ[\]_`bcdefhijklmnopqstuvwxyz{|}~      "#$&')*+,.!%(-/0234567B^Rra"$')781JgF2VTTTTTT0TD7w$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1n<"R 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  ,=;) > ˈψӈ׈ۈ߈$Ubĉd% d% z SEM VM zone  P  8 H 8 x+ p T  ,  P 4 \ 8 D P , l ,    , ! ! # ,  + H+ `+ * 4 * ' & % | O M $N N | , d `  L , < ,B    ` 8 \  x  t B 0 X   $ X L L \  < ` h L h p P x 0 T p     34567  AEvJ)$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"c!!Aa!!AaD!!!     @  @34567SYS$DISK:[],MACRO64$INCLUDESYS$DISK:[],MACRO64$LIBRARY,ALPHA$LIBRARY,SYS$LIBRARY $                 #$ #  $ $$ $         " !((((VVTTTTTTDDAAAAAAAAAAAAFXhT$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1WO"t @ -..//00112233445;<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 &|ÐǐːϐӐאېߐ #,5DGJnC$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"( H   ,  | d D      ` COD_NAME @(hxh % h@@@`@ @D@@A@@@@@@ @@A??@O_???@AC??@??@@??@@q2QW̚G$zm7$aW8VF}JkGB ƬD7-kLڡAicY&Pia]# rѬB !/K ]"٪C3V krwL ?WcŃDU$9'؈ *(L+4)Ҿߘ73-֨h{sWej[U~#h^,zL߾ wY9/TWH48@?sINp1+'=shZ`z?[h' 0_Pacef-׏ >wn0{\:e_5jXYeM-&s;w1HJ% 1̤%5D'8]NcL(fkϬeor3 8O<`y&?x_p^ܥ:L$+NIU<,DXeceCf19]_6^c"!ADƥзhk:M.'ڜ ?>5'Kl:5 ;WqRGۓo^5%0BGڃǫF=Rά~NT%NT?߻s7NrHto!VeFxE?tR$Fs5ay}/ջM^mXuʔYh} BG=A|ik }'H0 Rv(RU^ t +xBN'|~ Cԙ[NV^NJ iN'Zkx˝Cbq. ^=f̏OȽu2gȑMjAxBPMn2'*G~&;f~6|C UQ3rB]|*G[U.(<—&lgI<18zzR84"7:bѱU!:Z[ΔuAS&:W7vYC ȁ׽pꄑZmof>fLmK^[?$*Cbf%ЏFsp<,vO X8*#DNd 8oOAK2Pjēq&aQ"D$>NعwB(,&,q0 E|F Jt7 KeMT_}I[|R yvׅ1U;SFaG%P#pdtg;ښlK̐ -zʰ˞Zʠ6E!W?ɢd/ӈv4~Y\xO/Ê]ޥZk4cU"+Sp`VkTRl9 3.CJSHWj rA?1rɈ.$fRp" )EbUyvFBnړƇSPʨ5CC6D)U _R{5;DJk-vYcL>|-HEo\kgo;8rA_N@eg֘.MLҌ$h .,?nVB3mx.ە5/Nb#ωFUMG'>7 8~DvSnb˜V2(-)lZ4Ac`/}O\cFF_E2 >eFQAsvՌV:\V 3+gڙ(_H{)kubeF*>8o7 ĹRa{{xRQ51 X艩n\Z彍[ "M47E&hƒTώY5=kƤ`dXG|sz`SD$g#⨵t\>I-Lfu^:,gR"rbz~ZRbrzw:Tewji3R˵KC}{wۇ3 ?3DkRR%c;>s}Oz+q$ `o%ezkݱ~RxؽōFh6BK'?䭬b!Z*, G lN.+2m38F{,1WB ?mo9Eo쎛$s#Â_;l q:Fe _tc$"mayAqBEݏثP3;V.UkT'ƧnRG曌NtpgẲwFQC~MC?_űvmmh0U[jOy8KO"v.;GAsHJg4_>Oreӧn h],n;)rغH髡gf![HzAfV92eB9\L HI+ޏ_yS`/2%Q=g"/>"=#?7"9Rg5aA7MT]ׅ l}g8_I3|ZUP]}dׁ8uIsz-j ~O_;*O+WkxRxwJlS\ceVv׿i_0Yw3p$|mOZS / m6I0BpޛfJKvI1]˹ZztxZ6=ftiQ;ZD;ާ+OFM )GI IEj*ހ2 |kONQ*l\.OKM]{c4 M Bj͜Yf͙@MiSs{&^]+ 5lD6JaG":ʠ9%G|`f YR&9}C\Ԡ~TlMR!{O7@.? ,CQ2'e TT牳a);bХhC/.֯3 Ò3mI7(9'ldP],ꗬs&]W@6QK9ZQl. a2<1ra3!!=i9V/qb%ڟi/y;.90m˒|,2A-f\!O:f=A Jѡw"(ɮTJ5_Q5Y Ӻ~^bےo_Zm&8vLf s[1?IDUxOu ur+ڣ0Ms|0>sM0l\ ^Z>w)e֎qVzJf睼ys.`wck?j/)NWh ԣ>%/djd]s]~^(ԥ%5"5*Es*z/SUTLXjMtLj@Ow$tH_oK, 仸nb}}tY vP~lM 9Ex̹!у\"?jytk\jU٭@)3ֱE c2PLԃ!aZ E&!i ).[dP侱%~O' UƲOtOЅlE1:;e̓݋ޫ$JIoȎI%wUQ8N!TZ~ٶgvy Ir, ^°l1,:)"t+s#('_-]$m*p 1 a@8e+jްi}+].ߦqgY!:YwNOi |ⷹʋn+hmҼ΋2;iy7eWxNNUjluKA~Fi&n/ws߿YTLh9ޑ> )~u^Kx!*-r*+"S#l@+e3 zzg9OC @M<us0)Zkݓ&Qt5z_T( SxKm_"Vsݱ ,ꪩuilsoci]vgLR)Ժ]ƽ`Ga)QtN)† x!1t\# ъЫxY:>#-.+fUη`m+wwZbCeJI+Ktf%C0k,>Z4xcb6r:l<0fQi[/ӯ dN6STP f2+m2eBOp};Pz^г1@M0_ v{E{xgO_ ,+ɸ.A ԥ$ Nv;bٗ5nZN~_) n,å41<ё5g=c_#3x[ǬCc.Ig@fyj5^7)=xT-0xw @@KZlh}9q6\l u L!V;?-<%/$52 mmtshiWC0xY9!WmO/p.O3֙s`Fjej| "v%fiTÞX Kjv O\ELundmz,夿a7iK@S2 UL d OLXnLw˪qT)b'Iy рZgtTGpua 2%g֕򯨽'*t΍MЅn(*×V P3.0)f S(+&7].(n!7"Djr?.2 phb_`fB]S[q~ĕE@V,H"i0pO;m]ȢTQNo\DQ);O?AY)61nf;`}j | &yߕfu5inQBc)ya|hϽ`'ĦC(>v56>[%!+[~0d")z2;;FAyQDT=',{QOhz+r'I$Š(1XFf}\A:`Vd_A^"As˚efue}#5 sE:;.ffgTjQ(Bwۮ9;W9eS qz?QƵX-PHû*=znV&$.RͨOCt"No+% /T<A11An,SNTAk4`(/'OY!6՗,.<'6I\0-*qmʠ,D ĎS@ݛgV5Y_tƅ<3EXxo5,&0ޓ]PhXދS˄OZH騈L&ʇ&8L({Lӂ3+0enKc%O @PMFROX$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1-Z"0 Zc x     ȀDsrrrr splt4P ̞D@TThtt l̦P\xة04īxT,L@tб hPԳpxtX `h$ lȼ8<(\Pp Xp(0,xt\$|` pxP@|lT<$ h`H|dlT<$`<p0t\Dl0` XLx@&<'(($**+h, ./@02345h667t788<999|BB~Ň̇Ӈ)jpw !)19AIQYaiqyɀрـဇ逇 !)aiqyā́ԁ҇ڇ⇇ꇇ "*2:BJRZbjrzˆʈ҈ڈ∇ꈇ "*2:BJRZbjrzRUl$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"/‰ʉ҉ډ≇ꉇ "*2:BJRZbjrzŠʊҊڊ⊇ꊇ "*2:BJRZbjrz‹ʋҋڋ⋇ꋇ "*2:BJRZbjrȏЏ؏菇 (0s{×˗ӗۗᗇ  !"#$%$ABS$MACRO64$DCODE  !"#$%&'()*+,-./0123456789:;<=>?TAB_MISCTAB_NAME.MAIN..addresse .align.ascic!.ascii.ascizM.ascid$.blka].blkbZ.blkdX .blkfVSDxH$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1ui"@ .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_floating.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_exactTCO$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1e"QP.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 .DSABLX .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_FLOATINGU  .UNDEFINE_REG?.WARN-@.WEAKsA.WORD+B.PAGE $E.LISTE.SHOWcF.NLIST F.NOSHOWG.CROSS'G.NOCROSS G.DEBUG#G.DEFAULT G.ENTRYqG.LINKK G.U<_$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1>"bMASKxG.NTYPEG.OPDEFX"G.REF1&G.REF2&G.REF4&G.REF8&G.REF16G .TRANSFER%G.GLOBAL&G .H_FLOATINGH.BASEsN .BEGIN_EXACTO .END_EXACTP.LOCAL_PROCEDURE_DESCRIPTORdQ.LOCAL_LINKAGE_PAIRR.LOCAL_CODE_ADDRESSaddf addg"addlyaddqaddsy%addt 5and%6beqe7obge8rbgt6$9bicq 9andnot:bis:or$;blbcT"<blbs=ble>bltA?bne@bptAAbrx$BbsrCbugchkQDcall_pal!Ecflush#FchmeGchmkHchms IchmuJclr#Kcmoveq LcmovgeMcmovgtNcmovlbc OcmovlbsPcmovleQcmovltRcmovneScmpbgeTcmpeqUcmpgeq!WcmpgleYcmpglt[cmple \cmplt ]cmpteq _cmptleacmptltccmptunecmpulefcmpultgcpysi hcpyse icpysn jcvtdgYrcvtgd9zcvtgf7cvtgqDcvtlqcvtqfcvtqgcvtqlcvtqscvtqt&cvttq"cvtts"divfdivg% divsdivt~drainaSeqv xornot extblextlh extll extqhextqlextwhextwlfabsVV #$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"sfbeq4,cfbgeZfbgt%fble!fblt fbneTfclrt fcmoveqfcmovge$fcmovgtfcmovlefcmovlt$fcmovnefetch&fetch_mU"fmovs wzfnegW fnop PNhalt imb+ insbl inslhZinsll^insqh insqhilinsqhiqinsql insqtilinsqtiqinsquelinsqueqinswhr#inswlv#jmp jsr jsr_coroutinewlda&ldah ldfL!!Ildl "ldl_l #ldqo$ldq_l%ldq_u)&ldqpN'ldg(lds )ldt@!*mb+mfpr_asn , mfpr_asten%- mfpr_astsrm.mfpr_esp /mfpr_fen0mfpr_ipl 1 mfpr_mces)2 mfpr_pcbb3 mfpr_prbr"4 mfpr_ptbr#&5 mfpr_scbb6 mfpr_sisrr7mfpr_ssp8 mfpr_tbchk#9kmfpr_usp: mfpr_whami;mov <mskbl6$=msklh>mskll?mskqh"@mskql|"Amskwh:Bmskwl6C mtpr_astenD mtpr_astsrm"Emtpr_espFmtpr_fen!G mtpr_ipir3Hmtpr_iplI mtpr_mcesJ mtpr_prbrK mtpr_scbbL mtpr_sirr$Mmtpr_sspN mtpr_tbiaGO mtpr_tbiaphP mtpr_tbisjQ mtpr_tbisdR mtpr_tbisiWSmtpr_usp Tmulf\:mulgX"dmullfmulq5hmulsxmult negf neggW@إ$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"neglW$negq negsWnegtnop$!%notMornotproberR probewRread_unqcrcrd_psrei.remqhilremqhiq2remqtilxremqtiqremquelyremqueqretF"rpccrs%rsccs4addqs8addqs4subls8subls4subq s8subqs4addl s8addl%sextlsll sra srl stf^ stg stl stl_cstqvstq_c stq_ustqp`sts`sttR @subfB#subgsublsubqesubs subtBswastenswpctxumulhwr_ps_swz write_unqxor&zap0zapnotmf_fpcrmt_fpcr mfpr_vptb mtpr_vptb mtpr_datfx gentrap insqhilrinsqhiqrminsqtilr insqtiqr remqhilr9 remqhiqr remqtilr% remqtiqramovrmamovrr trapbu"draintS resopc01resopc02`%resopc03resopc04resopc05resopc06=#resopc07resopc0aresopc0cSresopc0d resopc0eresopc14!resopc1crespal19respal1b respal1dh!respal1e"respal1f# .instruction$ mtpr_perfmon%cvtstXUV$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;16"ADDFv ADDG ADDL%ADDQ%ADDS%%ADDTk5AND!6BEQ47BGE 8BGT 9BIC@9ANDNOT~:BIS :ORe;BLBC <BLBS=BLE>BLT%?BNE@BPTABRXBBSRv&CBUGCHK3DCALL_PAL!ECFLUSHFCHMEGCHMKjHCHMSICHMUG JCLRwKCMOVEQLCMOVGEMCMOVGTNCMOVLBC#OCMOVLBSxPCMOVLEQCMOVLTRCMOVNESCMPBGEe TCMPEQ["UCMPGEQWCMPGLEYCMPGLT[CMPLEO\CMPLT`]CMPTEQ_CMPTLEaCMPTLTcCMPTUN$eCMPULE fCMPULTgCPYShCPYSEiCPYSNjCVTDG0rCVTGD$zCVTGF$CVTGQ$CVTLQ CVTQFCVTQGCVTQLCVTQSCVTQTCVTTQ CVTTS DIVFDIVGDIVS:#DIVTDRAINA*"EQVXORNOT{JEXTBLEXTLH EXTLL{ EXTQHEXTQLEXTWHEXTWLFABS FBEQFBGEFBGTLFBLEq FBLT FBNEFCLR FCMOVEQn&FCMOVGEFCMOVGTFCMOVLEFCMOVLTFCMOVNEFETCHFETCH_M2FMOVFNEGY=$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1;1W" FNOPp  HALT  IMB INSBLM  INSLH&INSLL*INSQHINSQHIL INSQHIQINSQLINSQTIL INSQTIQINSQUEL INSQUEQINSWHIINSWLMJMPJSR~& JSR_COROUTINETLDA"LDAH1" LDF!LDL"LDL_L#LDQ>$LDQ_L%LDQ_U&^LDQP'LDGh (LDS)LDT*MBX+MFPR_ASN , MFPR_ASTEN- MFPR_ASTSRG.MFPR_ESPz /MFPR_FEN0MFPR_IPL 1 MFPR_MCES2 MFPR_PCBB 3 MFPR_PRBR\4 MFPR_PTBR5 MFPR_SCBB 6 MFPR_SISR:7MFPR_SSPz8 MFPR_TBCHK`9MFPR_USPz: MFPR_WHAMI;MOV<MSKBL =MSKLH>MSKLL?MSKQHW @MSKQLS AMSKWH$BMSKWL$C MTPR_ASTEND MTPR_ASTSRGEMTPR_ESPzFMTPR_FEN G MTPR_IPIR%HMTPR_IPLI MTPR_MCESJ MTPR_PRBRnK MTPR_SCBBL MTPR_SIRRMMTPR_SSPzN MTPR_TBIA$O MTPR_TBIAP7P MTPR_TBIS'Q MTPR_TBISDR MTPR_TBISI1SMTPR_USPz TnMULF\ MULG dMULLxfMULQ%hMULSxxMULTNEGFTNEGGNEGLNEGQwNEGS NEGTTNOPNOTORNOTPROBER)PROBEW)READ_UNQCRC]RD_PSREIREMQHILt REMQHIQREMQTIL` ZS$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1;1"REMQTIQREMQUELV$REMQUEQ RETlyRPCChRShRSCChS4ADDQS8ADDQS4SUBL#S8SUBLS4SUBQS8SUBQS4ADDLS8ADDLSEXTLSLLSRA SRLSTF-STGoSTLSTL_CeSTQESTQ_CSTQ_USTQP STSSTT!SUBF SUBG?SUBL$SUBQ SUBSSUBTSWASTEN#SWPCTXUMULHWR_PS_SWi WRITE_UNQXOR"ZAPZAPNOTMF_FPCRMT_FPCR MFPR_VPTB^% MTPR_VPTBl MTPR_DATFX&GENTRAPvINSQHILRINSQHIQRm<INSQTILR INSQTIQR REMQHILR9 GREMQHIQR REMQTILR% REMQTIQRAMOVRMAMOVRRTRAPBL DRAINT*RESOPC01$RESOPC02RESOPC03CRESOPC04RESOPC05"RESOPC06fRESOPC07 RESOPC0ARESOPC0CY"RESOPC0DRESOPC0E RESOPC14RESOPC1C RESPAL19#RESPAL1B% RESPAL1Dn!RESPAL1E"RESPAL1F# .INSTRUCTION $Q MTPR_PERFMON%CVTST[4$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1*"ĊŊ4ʊˊ̊͊BҊӊ,׊>ۊ܊@- :   ,!"&' +3489:; ?@A -LMNO #Z[abcdefgh.q uy - , $; ‹ D΋ 0ًڋۋ܋݋ދߋ99 "     <; !"A*+,-./012345;<=>?@ABCDEFGHIO'XYZ_`abcdef(o r({!* %ŒÌČŌ*Ɍ +Ռ֌׌   :  & ?" !%3*+,0123456: ?EH2Z[%bfgkl >yC|?D ,38 6ƍʍ Ѝэҍ؍ٍڍۍߍ =586! D+=2345678'A DH >U _<f p1vwx&|5) $"&  0ƎǎȎɎʎ)Ύ=ҎӎԎ׎؎َڎ* /CD  /  ?="#+,0 ">?AGHIJPQRST+X2jnoCuyz{C.   !7+ &Ïď@̏͏ΏϏ ӏԏ؏ُݏ  !B17   #* $%>)*+-/01234 ^!xSЬRb< PˏPP < PˏPP1֣@ѣ@ ѣ@]qPmuPݏ3,գD#< P c_PRݏ40P֣HѣHݏ.゚ P< P ^XSwR|@ԢHhLYwUewcPLwP>wP-wbPw] |^vVP^(rZ}?PVSgRC ScR֢PY VRB(RcbLP VRB,TVSgRCRbd/P VRB,TVSgRC\N~$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1OM;1"Rbd VTVSgRCRbD&VV1LЬR\ PY'U"ݢh^(\n)ZPP|^nVЬU TeSD$PP D,RЬ bPP D,RЬ beݥ ^(n!)<^ЬT SdRC(SЬ RRc֢dl RRRxRRRݤ ^(n(^<~clPQЬPPQ^ݬzm^ЬSS~PWЬRRgݣhݣd)vPVݣhݣd^(\nWVm^ЬRR2PWݢhݢduPVݢhݢd^(\WVUm ^lS"PRЬQaaP@baaP@PPFZFJJv*F~FFbbj1oP?P1aЬP1RPЬPb1CPЬPРb15ЬP1&PЬPb1PЬP1PЬP,4b1PЬP,1PЬP,b1ЬP,b1PЬPѠ,b1ЬP,bfPЬP,HbJPЬPb.PЬPѠ$0,HbRP^ЬWЬRRgݬݬ sPVݬݬ ^(nWV-k^ЬWЬPP?3??;1.?Pլ  gPPgPЬgݬݬ?sPVݬݬ^(WVj^Џ ~h^Џ ~h|^%jVЬScTЬRBcoݣ ^(n$^iQЬRbbPPPP|^ݬ}PRЬSRVfRHfR0fR3fRS4fʏݦ ^(A$ ^ЬRR6PSЬWТdUТhT}\SXʏhTUqPV^(nhWV j<^ЬScRHcR0cR3cRЬ4c1ʏݣ ^(n#^ЬWʏgݬݬ CqPV^(ngVyi^ЬP^iPD`E} ԠԠ^P^P^5VѦ ($Ц@PզЦ<fRѦR2 ߦߦdЦfPݬ﷠Џ@ЏPЦ<ЬPP.F^v1F?P ߦfP@^ ߦfﺬP@F ߦf P@. ߦfﲱP@ ߦfڲP@ܩЬW($gW@Ь@P^ WݬݬPVV^(nV*ԧ^ՀWYЬXXYτPVV^(nV^ݬQ^P P^qWYЬXXY PVV^(nV^1WYЬXXYPVV^(nVۉ^WYЬXXYϠPVV^(nV^WYЬXXY`PVV^(nV[^ݬ-^ݬ^ݬ ^APР<^SjTgR4BYPݏ@<~PPcԢ Ԣb ^1^PQЬ PQ`Qﷇ﵇PQ`Q輻aЬԡЬ ^мPЬЬ ^ЬQ мa<^EUbPSЬPS`1S(&PS`Scլάԣ} eݬݬ eP9ެTdRRニ؆R~PeRݬ eeQdP@ae^ЬRbPՠPbP RbPՠRUbPPР PbPѠ  Ѡ P2S2PSPVbPРQTSQ.PSQ bPРRePР PQTbPQSQRWSQ SVPP,TSVQ'bPРRePР PQTbPQVQPTSRPTVV`Pݠ SgP ^|P^mR|QbbaвbaPP d'@Bʚ;()*+  ^}|^>V{Sլ ά ЬTT ЬRz P{B/PQPPUPЬ UѬ Uݬ Tfߣ yPUTߦߣ cЬRߣ aRPRTPߣ JPTTߣ 1<^=U{SЬTT ЬQҬ PPA϶~Tߥ ߣ %T P`P`PPDϏ~Tߥߣ ЬRߣ RPRTPߣ PTTߣ ^U=W~zSЬR(b( `լ1R"RXTЬVVVT zVP{DPQPPUVUVUVTgߣ PUTߧߣ ߣ TPTRPߣ PRRߣ Xլ 1ЬRR%RXTЬ VVVT zVP{D2PQPPUPVUVUVTgߣ PUTߧߣ kߣ mTPTRPߣ VPRRߣ XAЬR)^;V>UXDW}Ձ遼sBPRPSˏRR<~d~P-R  Sg SgPgxR  PR ÂﺂS  PˏR既 |~ﻂVhߦ€ަ)eTϙSޥRcPbSRTݏ&PZ2E^,P^3QP-;PPP^ЬPРR';PRRЬPRRPP^^Z^r^V< ^Ьׁ́[^(nPG} ЭRТT# PTTJTTSլ  P^^݀^рPŀP Pլ%TPP ,Pc P\ PP2P ^-S>R1P.Rs R_SSPRLR-P zR RRRP ^Q QPQPQ ]PPShR1ZRs 6R_SRPRLR-P~ R~ ~RRRP^~V~U~X~T~W~d gY}h~Pga~G~~Ь hլ L~ QPe QPeegfdgْfd} }dd}SfRuPfRk} }RWSIQPRD}hRR)P} :R~}hRRR g'<^^(nxP<^^(n`P8^|X(((_5լ[[VެWVg1gZЬ \Y|SVRRZ7 USTRTBe  SRRxRSSTT PVTRRgThTFѮ&hݬ[ݬiݬPqԮPh[ݬiTVVZ1hP^I|V~zTszUtz[!|W|Z|X{Y |}{{gp|Qb|^|QPQPQ {PPSfRdfR[ijROSOPR<hg*R%P^{ RhgRRRPPd,eyed 3dyd PeެRbݬePeQbP@aլ*ݬ kϜP ݬ kφfj izzzSfRcfR[ijROS NPR<hgR%PNz RhgRRRPQPQQe{PekyЬPՠSo<^^(nݬ ݬݬϛP<^^(nݬ ݬݬ{P^yy2yy^yTyVyWyUUyYfyXcyZlyg1y?y1]yQyyQPQPQhPPSdR`dRWigRKS}LPR8efR!Pj vRefRRR1hSdRaPdRWigRKS LPR8efR!Pj RefRRRPQPQQjvwP[v]vwwPImww~hSdR`dRWigRKSMKPR8efZR!Pj FRefRRRPQPQQ[wP^dwwwѬѬݬݬfݬݬ QЏ~m(^vѬݬݬ1w(w暈v'(^vѬݬݬvv10v^=vvP^ЬRբТP PײPТ RRbP PﹲRP| ^kVѦ&զ!ݦ^(n~P^ެnоSãZZT RBTBϭTWZPWWWѣУ[[ RBσXXYWX1Z|оVYX~ RWRXR~Y'PZ[R}b^(nY RWRXR~  WRR޼ S'BcXW RBZWX оRZЬRZ ZPP^,SЬRբ'ТPr(ߣUߣSPPPT7PТ RçPߣ~uPRﳆRPTTP^@,WiiVt%tZPStCPSSP PԮRCtRRGTP01Wm,$ݫ4nڰN Z҅(}0ЭRբЭRТR R0PS1S,ЭRТ RR(PP0PSPR;PSSԮ8[о0RТX8Ѧ1զ1ݦ<^(n~1bPaզ\RBsPSRBrPSSRBrݦ 8[ծо0Rբݢ <Ѧ1զ1]n_$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1"ݦ<^(n~91P :ԮѦ1զ1ݦ<^(n~1y rզ1RRY^(nY~ RYR~땨 ЦR'ШѦ1*զ1"ݦ<^(n~π1 6Ѧ1զ1ݦ<^(n~C1 Rզ^(n ~!Ѧ1զ1ݦ<^(n~1oP 1զ1[^(n ~Ѧ#զݦ<^(n~ϖ}0ЭRբ(ЭRТRn(ߧUߧSRPޡ P^\WRVgRbRR R  R RZgRb  ggRb gRb  PggRb gRb  PggRb gRbgRbRR R R RgRR bRR)1ERPP).>>>>>>>>>>>>>>>>>>"?PP\1P\1P?P1g(}e1(*PP%%%%f?Pٮ}ޮ^(n}PDRB/DRBRb&b1P ֦DzDP{PQPPDPg1gg۳X1PgRbRR>,R<'R "RPggRbRR>R< R RgRb< XRgAb> XRg3P2mgg~^(_nݏuX PX1qCX1gRRPg P1<gRbRRb1,RB1#Rc1RC1Rd1RD1Ro1RO1Rx1RX1ggXh h1X^(^nݏuWguc1XRXgbSgRRXbRRS"R RPggRbRRS R RgX%XhS.-^(;^nݏuiWPXg 8%PXgn(%ƱXЬTXUT=ˏTSU Ԧ -P,T  S)PT >Pަ Y[L1@ 11 gRb~YP1ZPgRbSS S  S S@b  PRb b Rb b Rb bbSS ΑS ɑS ĕS b~YjP1&#zXX1ЬTXUT=ˏTSU Ԧ -P,T  S)PT >Pަ Y1P}XsЬTXUTP=ˏTSU Ԧ -P,T  S)PT >Pަ Y PXX[ gRb~YjP1p[unfngR^ゥYRX7ZQ"h"ԮiRVh 1ZѮ21Qk"[xTn!WԦ h $kPԦ$hRR1R1R1R VRBU~j^(nݏvTOiSLգ APգ ݣi!Tգ P(TRBգ 3գݣgTգP(TRB6f~ ^(jnݏ~?Ԯ1P~SaJ XiW3[XSiiWSWW PTS[TjTSXSW[ T[iXjiRBh֮iRRXRW 1ծ#nîfRRR^(﹙nݏu+?R[<ݮ(P^ZW[pYuXߪ g1k k mingSii~ PPnn[P<^^(﹘ݏ)> ^W輦Y[SgRSP?RC@SgRSXSi 1gRS1 Z(]nIiPXji2ViRR%R RR 1Q?RBM?1 6?ScRR R  R R@c  PSc c Sc c Sc ccRR ΑR ɑR ĕRc=1}RRRTPTTUVgRV9PUUk P(VTgRDP UTgRD VgRVgRVSi>j2PkY>@~jkkI>~^(nݏ`<gRVVT PXSXSTTUiPi K>S練~~ PD@k=RD@yS=RD@RCbi ijjiji  gRT1 =RX SgRSjr=VC@Q(SUgTE@Rb7 PC@>R>R2=RC@ E/V4Y,X68fR1Ѣ(g4^(3nݏ,-fRѢ(gPfRѢ(gfRբ$0ݢfRԢfRԢ f_$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1XE;1" RԢfR}hfR}hfRԢ$fRRUbfѥQХ0Tդ1Sդ*C@(SRBScff##cffdePPic Pk1k#IijP@'1z1jP@'Kk!jPP!P"P#P$ PPjP@'P`ei1Pzei1P.,ei1eik1Ьndi\ЬWigg~gdgSgnP C`cPgSC`Vi+Pd~޼SdPc P+}+ 樓 P19~1.uP1~*=!uP}~P₩n~`~NѼ мP~ P<C~<~~P)~<~﵍PdVPЬWg ~GfgS}SEP}dg}}]P }SЬWgcgݼ}PgS}QCPP atP~tG P *P ^ŋSլЬQQP`P`RRRBc`P`^TլЬQQP`>P`RRRBd' `RRRBdPP`RRRBdP`Ŕ^լЬSSRbPb~PRb^TլЬQQP`RRRBdPP`RRRBd``qRRRBd qRRRBdQ^լЬSSRbPb~nPRb^eVr|Y3|XмZZgPԮЬRТRRJPSԮS1P(nQ(Y# R8(RI#S2(<#Rb"R.#[[;i 1i[1ii1^h!Oh 1MШPP8A18?PZUUSSRbbTTTDfbRbcPZW1vWSSRb=PbTTTDf' bTTTDfPRbTTTDfPbŔc1*ZW1"WSSRbPb~҇PRbc1ZW1WSSRbTTTDfRbTTTDfbbsRRRBf sRRRBfSc1ZW1WSSRbPb~JPRbc1zݬì~Iz7z^(u&nݏnT&ЮT&Ю \!ZP1&RRfST~PPgTUgxЧRD^k[q XkЬPne eԮԮ0dxL$x(\| D0xHx d8<To$ЬЬ,ݬPPԮ,%0P1PѮ0"<~^(nݏq ЬP4 `k Ѯ4ej14Rb%R1~ϛPP%jRb% jv<RmЮ4URWRPPV'URVR4PPRRRHPTUSSTTVWST~TVSST~(T@1nk1ծP1cHPZSxSRBjR}bS`WxPXWXRBhY1<k14k 1,k `1PxWRBjS i~HPchicThRBcDPcY cϷPcYwxWRBjRbRTUVSRRRPPD}dSUVxWRBjScXBjR}b`xPSWRSRBhkRR` RR  kWWXRBhY kk 1ksݮ4î8D~^(-nݏ8ZVЮPUSxURSRBhT/PTxSRBfRbbXSSxURSRBhTVX1Pݮ4ZЮXRB( RbP@ZVЮPUSxURSRBhT-TxSRBfRbbXSSxURSRBhTVXլݬXPcSݮ@PPDRRS@SGA@Ю@5Ю@Ьݮ@PP Ь Rb,֮0% 0P 1ծ,1ծ1լ ЬWPݬsPPGPWVSެTdssSP2UVRVCeBgSRSBe% C%SUAsSPWWMЬ RbЮ<Ю<nE Ю a`ЮU`ЬP^eXeWeV+g!ee^(hnݏ ЦSgg ЦT`$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1{"TTh2c~P g ^(hnݏ~ P^)e[2eYk ZX eddd)PhqdRBhdW}kWhPPPP$hW^(nݏ PjVi }k ,W(b RXXf~^(inݏu PfWXfnWkngPZ^[ffRbWRffRRXbW3fRb RXXf~^(inݏuV ffRbWfSXSnWRSRSfnX^(inݏuaa`aRPRRiݮ XPXݮ^(inݏAa ^($anݏ~^e[ZZ`YaV`X`WJPfRR0R+R&R jRBkgh^(inݏt%iPgh^(inݏf fP|^ZVJ`RRRSPSSff:`%PZfPZPPUfSS UeTSRB`RxRRRTxSRRTzTP{PQP^P^ZRQPxQP@bP`Q<^ZUZT SZRd.Z$ZebcdPeP `bРcbcdWY2Y<^YRYUW TYSHeYYbcd8ePbP `cРdPcdewY2`lYbPb`bPԠݢ^YPԠ^]Z6YVYUYX[]^RRRSPSSeeN^+#PheY7hPPWeTT WgSTRB`RxRRRSxTRRSzSP{[PQPPYYTxTRBfRbPPePxTSCfRbR@behRjP fRRSjPTzTP{PQPPTxTP@fRbfSxTRSRjP^AXRQPxQP@bP`Q^a]W2]VX]"߭J]^(gnݏ:qRѢ^(gnݏfD!FR ;^(nݦ^(g4|4^\Vf"߭f^(\nݏ:T\ ($F\ﻦf ﭦf F\@\R;^(nݭ^(%\nR^}dPݏ@<~PUﳈe\GQ\O\fPvT^-\\\\ݏڈ^[P[PﱈP[PP^P^igig^[VެW0gRBRbgRRXXu^(`ny^A[VެW0gRBRbgRRXX^(xnݧ=^[VެW0gRBRbRRXX^(4^ZZVnެT0dRBScBjRbsP[SdSﻆ S ﮆSPP)=QXPb?P^(n:^(nה&^(nÔ^(nﯔԮ0RBRѮb1Z0b=$)f 9f(Ef,eb0ЮRB xRRBRbPP7[1?PxRB ScBSRbc1PoަoUWRbXRbYxRB RbTX1DiR0BTRBScBjRb$RPR$PRgR,2fRB~$PDiDiR"R"W~U40PWWߦod-PަoRWRUXXRTR , eWTTX15xRBSߦoߦo4P X.P XP XP X{XX iR^(nݏQXXRxRTTSҧRRSRST _^CZuC[B{VW[PXX@ X^(knjTզ Ѧ^(nݏ64nЧ PP,,,, 8LLLL,,1)f?PX1XPP:v&>?PP11P11Ч PP&,1?Pݏ^(ng)Pݏ^(nN)P1a^(n.-P~^(n-P122~^(n)P<~^(n(P1^(n,P<~^(n,P12~^(n(P<~^(n(P1~^(no(P~^(nX(Pn^(n;,P~^(n$,PB~^(n(P~^(n'P^(knݏݦf^(nݧ ݧj#1Ч RRR RR^(nݏݦfݧ ^(nݭݭj1Ч RRR RR^(nݏGݦfݧ ^(nݭݭj`1MЧ RRR RR^(nݏݦfݧ ^(nݭj}1PЭRЮbnbPP#ggg; P?PP3EЮSТЮTТ,ЮUТЮPТЮQТ~ԞЭRĮbnbPP#ggg; P?PP3EЮPТ~Т,~Т~Т~Т~ԞЭPP<DL$4,TEP&?PY6PY.PY&PYPYPYP YP YЧ RRR RR^(nݏPݧ ^(nݦfYğj 1Tn1OPX1ݦf^(nj[R R^(nݏ؃^(n$P6~f|Pj~f^(nj1~fFPj~f^(n:j{Pnt^(knݏp8^P^(knݏp FP^(knݏp.P^(knݏpP^(knݏpn^(knݏS^QtRtݏINtP}Q P10zP11P^(:n?i 1Pݧg ^(nݭݭi^1Pݧg ^(nݭݭi1Pݧg ^(nݭi1ݧg^(ni1ЭRЮbnbPP#ggg; P?PP3EЮSТЮTТ,ЮUТЮa$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1 ".VТЮZТЮ[ԫЭRnbibPP bbb8?PP3CnPТnQТ,Pn~Тn~ТPn~Тn~ԞЭPP:BJ"2*RC?PX6PX.PX&PXPXPXP XP X ^(nݧgXği P^(8nݏS^UpWէ ѧ#_pR^(nݏ~ݧg>PXݧg(pV^(nX^A~YoXoZpݏIi[jR}7{oUUU  ݏQjUURxRTTSҨRRSRST SiYը ѨjR^(nݏiݨhLPWݨhjV^(nݦW!^-7YnWoXݧ}hR2~^(n}^(n}էݏ^(nPhR^(nݏ|ݧg|PiݧghV^(n?i֧ݧgJPiݧghV^(n ЦS2c~ihR2RR^mWmXݧ}hR2~^(n}էݏ^(nPhR^(nݏ{ݧgP5ݧghV^(n ЦS2c~o5hR2RR^mW2mXݧ}hR2~^(n.}^(n}էݏ^(n PhR^(nݏzݧgP4ݧghV^(n ЦS2cRRR4hR2RRR^i4[*lWClZkˏR ȏݧ}jR2~^(n }^(n}էݏ^(nPjR^(nݏy,yPVjRfݧgXhPkݧgjR^(nVkYixPVfݧghPkݧgjR^(nVkiݧghPkݧgjR^(n~gk^ݧghPkݧgjV^(n ЦS2c~kijR2RR^jWjXVԦjhR^(nݏIxhRТPP ]!ui9QE-1?P vP jP ^P RP FP :P .P "P P  P jiDѦ hR^(nݏQѦRxRTTSҧRRSRST M$^9iVWէ-RxRRRX V^(`nXݦzXYIPݏSRxRRĭRRXU^(`nXݦ:zX,^hYX[P~HvPWigЩЬZ( jЬ ,Ш 0Ь(Ш4}Dԧ<@ԧ8ZV&f@ݦN[Ц V[ ШhLWhШlLWl ^RPޭnТhQվQоPPРLPQLݭhԢh^=RЬh,^X1[BZYPVWVlPf@[ݦkNP5fЭئЭܦ5<fЭئЭܦЭݦjP^(nݏUiWЦ VШLRWը ݨHXP~tLXRX1MP8^fY6ZЪlV1 XX<[Hn\W\1,Pl@1ݬ Pj^1 ?Pզ8Ѧ<^(nݏUhW1Pi^(nݏh^(nݬlԬ1PѦ< ѭf<զ8 Ѧ<ѭf^(nݏfhWЬTlЭجЭܬTGP<lЭجЭܬЬݬkP$ЬTlЭجЭܬTl}Ь \1Wզ1ݦ1 rP\( lxs\EisզݦTsAPfdЦdЦ0 Ц4}D,Ц(,Ц<`Ц@dЦ8,,ЦLRVP~prRV1P^ \|hl^qdWdYVdiR^(nݏIriR}\,~.Ѣ1ТPP QAa P?PP<bP<C^SVP?P X>P X.P XP XP X[cXX iR^(nݏQXXRxRTTSҧRRSRST G$^q["cV;cXWZhRb(RPhR^(nݏl@k/-=hRP hR(ܢhR^(nݏlkZZ1Ч PP,4$+B?PYPYPYP YPY߭hRYاPmզ Ѧ!hR^(nݏrkb,ݦf)P2*ݦfhR^(nݧ ݧ߭*PhR^(nݏlk,^2+^ P^ѼlмPP!ddd9 &?PP3PЬQaЬPРРPЬQaЬPРРPЬQaЬPРԡ,^STЬPR&b@ݢTТ RTЬPУhLPhЬPУlLPl8^([`XWn@ѧ`nѧ`1LЧ`PP ,DDD(DDDDDDD(?PP11sP11P1P101ѭR^(nIP=~^(n2P&^(knݨhݧdݭ'=H1PѭF2~^(nP.<~^(nPݭ'H1?Pd~^(nݏOm1ѭR^(nP=~^(njP&^(knݨhݧdݭ$'uG1Pd~^(nݏO&$m1ѭR^(nP=ݏ^(n P$^(knݨhݧdݭ&F1Dd~^(nݏl1!~}̭ѭ1ݏ^(no Pݏ^(nV P0^(n9PA^(n^(nP&^(knݨhݧdݭ%1F1~Pd~^(nݏ^(knݨhݧdݭ%E1>Pd~^(nݏkѭ>ЭVV ȏVʏV^(knݨhݧdV<%E1Pd~^(nݏ>Ԣ<|^VYR($b|^VYR($b<,^eYZWX~ gPVPY<(PXfԦYTXUTUS#TUSTUSTSSRRPP_1?PY^( nݏgX1^(,nݏf1YfXVRggTRgjHЪLЧ P1qVRէЧTRjHЪLЧ P1OP Ѿ1оPP!yyyA ?PPCY Ю SЮTФЮ UЮXШ8 Ю YЮ[ЫЮ PЮQС  ~~О ~Ԟ(nѾ1оPP"zzzB P>?PPCYЮPn~О~~О9~~О~~О~~О~Ԟݧ ^( nݪj䟭* +ԧ<^VRJQaЬPaTЬPPabHТLС P^VRQա ЬPСTЬPPbHТLС P ,^ЬQЬP}ԡ РSSWPK71P?PRPRЬP@`SmPRЬP`SԠW#ЬP`ЭؠЭܠR7R1PЬP<`ԠSЭؠЭܠR RPRRPP^cZ Vn[f\1nYXl1Ѭ@1WЮ RݢiPQЮRЭآЮTЭܤMЮRТR<ЮSЭأЮUЭܥЮPԠЮQRP^ЮR(nݏUhjWWnѬ1Ѭ(@1(WЮRݢiPTЮRЭЮTЭPPЮRТR<ЮSЭЮUЭЮPԠЮQRP^Ю R(nݏUhjWW[ЬTRn[զЦT\R\1Ԧ^5[vZЪ\YX\1 WSVPѬ@ gPYѬ(@ (gPXY9X4f䟬(fݬP^( nݬLݬH䟭k ﰩ\RЬT\YXRX~&a\1{|,^VЬSݣ?P2cЭأЭܣ;PУR<cЭأЭܣԣR^(nݏU?=aVVPP,^ЬRݢPRWRPPYL1f?PRЬR^(nݏЬV^(nݦ-ЬRbԢZЬRbЭآЭܢAЬRТS<bЭآЭܢSԢ!ЬR^(nݏca`WWPP^լլPѬѬPѬѬPP^QXQVQWզ ѦgR^(nݏ_$'_PScfЦgRТ gR}ݦflPԣ hh Sh^PYz_XQV,QWAQݏIh\PgR}PUUU  ݏQUURxRTTSҦRRSRST *5h1զ ѦgR^(nݏh$^PScfЦgRТ gR}ݦfYP~fGPԣ ii Si^OWU^XgogaPPgVݦݦ ^(nݭݦﺣgVf(~ݦ ^(nݭݭݦbO$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;14;1B"?$PhgRТ g<^IORݢ vP1ЭSS1S1S1S1խ1ݭ:PoSˏRSR!խЭqP S譬S((Լ ((PЬR^(nݏPЬR^(nݏPЬR^(nݏPЬR^(nݏXPЬR^(nݏPЬR^(nݏXPЬR^(ݏcP^5NݏID\MP}^2^MRݢbةP^MRݢb︩P^լЬP`Ь`мPPРLPЬL^[[MZCMY\MX%V8ԦUXXZ6ݧgPVݧg^(knߩDV֧XXZZZ&8^(`n<\gPЧX@RxRUUTXRRTRKXSTTSSSTSSUVXRRV.RRVVV7^(`n[|8$^R<*PԢ8Xݏ_Ԣ<ЭDѢDբD ݏ:J ݏ%|^YJVffRѢ1mѢ#1ТPP#<|\dlt4,1?PJIfR^(nݏIIIXWfR^(nݏWWIfR^(nݏPWfR^(nݏ7^WW6IVfdfRѢ1vѢ#1 ТPP#Eem=-1Pf?PH*W~HfR^(nݏ]HHH-3PV1VV}VPgmgPfR^(nݏxgIgPfR^(nݏTPHFVfR^(nݏ7*<0^GRݢ÷ ݏV|UGRݢ^(|^mGVGݏP7Ѧ UݏR+֦ݦ4^(`n+X+|^FV2GݏPǽ֦ݦ3^(`nWQ+,^FWF 3+gRݢPVVVgR^(nݏWƽVgR^(nݏXgV^(nݦ,^EFW*gRݢPgR^(nݏXEgV^()|^EVffRѢ& EPTfR^(nݏi^EWEXoEVg )hgffOf^PݏY Ѧ ݏGhSѦ!N*ﴰf ff#hg~1^(`nhUP7 2hgf`RզRRݦw1^(`n)UhgRզRRݦN1^(T^-Rhl}|$^Vz$P^(nݏCXVRЭh|^ѹVCR($bl^ﵹRբh€P2`~ݢhݏnP€P2`~ݏmhC  (P^YRբh€P2`~ݢhݏ(P€P2`~ݏ bC 'P^Rբh€P2`~ݢhݏ̹P€P2`~ݏﰹC S'P^BWBVfݦ~(!`ggg2g~BRТR]!^DB &P^]BPРQ2a~CaB &^-BPРQ2a~C1B ~&|,^AVfRݢܱPP P$fR^(nݏZOfR^(nݏXٸO$%OPOPSfR($<^$OPOPSZAR($bc^OYOZ{O[AW(SPPSSnXiRe$^($bn PFP!iR^(nݏ!XkIPiR^(nݏXk(PiRТXPjR^(nݏԷkX%@XݧgjV^(nݦѹX$@XݧgjV^(nݦj j$Mi i$Mji=@^ݬPSQS QQTQSQQRQSQQPTRPPQS QQPP!Эح PP2P^MX)PVYWf4}ĭݦ*^(nݏgh^(nݏghЦVP^?? \#P|^>V>ԦfP ݏ/kf#RզRRݦf+^(`nO>^ARԢ(> "P^Rբ(5P^RԢ,C> "P^ݳRբ,5P^=WﺳV(ggRТPP=M)5ArYY`P:?P4P4P4P4P4PgR^(nݏKgR^(nݏj}^5=WV,gXgRТPP=M)5ArYY`P~?P3P3P3P3P3PgR^(nݏJgR^(nݏk^IR<  Ԣ0ԢH4 ^;SRբ4!բ0ТHP@c@cIТHP@cԢ0ԢH4^@;X;[αV7PWѦ4Ԧ00W2W-W$W^(nݏEIԦ0ЦHRBh 1IPBhW1WPPOzzszzz+ ?PP11PЦHRBhRЭbЦHRBhRЭЦHRBhRЦHRBhRݢ}ZY1ЦHRBhRЭbЦHRBhRЭЦHRBhRݢ}ZЭ쭼#ЦHRBhRY1ЦHRBhRY1PЦHRBhRЭbЦHRBhRЭЦHRBhRݢJ}ZЭﳈЦHRBhRY<ЦHRBhRY+ЦHRBhRЦHRBhR}YЦHRBhR}Zݫ&^(`nYZ%H^ﭯV9RݢPWW!WWW'9R^(nݏFװG4WH^9 ^9 ^-9Rf9GGP9ݏI_GPբTP8TPTT ݏQ絛$GTTPxPSSQҢPPQPQS,P^8R8FF8ݏI@FբTP8TPTT ݏQFTTPxPSSQҢPPQPQSP^7RJF@F8ݏIFբTP~7TPTT ݏQjETTPxPSSQҢPPQPQSP^y7PP^EPP^E^ RԢLԢXԢdE7  ^6XڬVզXdW2ݦXPWW W!^(\nݏ !WݦLݷPPW^(Pnݏ߭WݦL÷Wݨ\#^(`n߭DԦLԦXd^)RԢLԢXԢde6  ^6XVզX"dW4ݦX.PWW" WA^(\nݏ(!WݦLPPW^(PnݏWݦL"Wݨz"^(`n߭CԦLԦXd^IRԢL5 P^%RݢLtԢL^ Q25PРL}P^Q5PРX}\|$^ɪV2P^(nݏBCЭdѦd^(nݏBB^iPԠ$|(^YVզ$ ۔EP"^(nݏP2~ЦR |B4 P|^ݩV4R($bf$^ 44$B3BP {3q3s31P^ARb"b1Ab^AW 3Vf3 Q3M3 32B߳PRRPRRP P)RP PPR*<ffyOS2fRSRC~ PCS2fRSRfh﹚(!`2~2f~D33ȉՉP?PJխ ݭ﫚2`~ݭݏP @1:8 Rbb;bg? g?= ﭶg@1?h ﮍ^U?%B/0?P^)?@?P^?P`&?``^PRO9BRR@P Pc'R:P P}JPR^>PP^P>P^ﱦP`8^Rb@Т RvV3PfԦ Pf( ffЭЭԦЦ V^4Z1=1D=j7-R&Rd ݏ0$ RZBq1VPЪSS#RBT[RBERB2[ԭ߭߭[Z.P:p1?PSݭ Ъ Z [Z1^(nݭ<M Wg^(nݏD<[XЭYZVXWզ ^(nݏDqo<#ЦR<fRXYԨ ԩ VZЪ Z 0<1Zga`P\^o[DYм XЬceU$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1}"PRТTѹЏDЬR};PЬSDRRcRЏ_};PT"DRRhRЏ_};PTPP "*RvFJ:z1* ?PZ1 PЬVf^(n\}\Z1ѼzkRkRd ݏ0 R:PWЬV( fgkRWBW fԦ^(n^(ZnPԦЬR W Z1tPѼ1hkRkRd ݏ0 9PWЬV( fgkRWB=W fԦ^(n^(-ZnPԦЬR ZW 1ЬV^(n\}\Z1PЬVfkh&^(n^(n\}\Z1hh6ЬV}fЭĦ^(n^(n^PԦZ1ZѼ Ѽ1JhhZ1:h11XV}fЭ^(n^(nPԦZ1ЬVfkh&^(n^(n\#}\Z1hh6ЬV}fЭ^(n^(nPԦZ1Ѽ Ѽ1zhhZ1jh1aXV}fЭ^(n^(n1PԦZ1-ЬVf1h1^(n^(n\M}\^(n^(n\}\^(n\}\^(n^(n\}\Z1Phh6ЬV}fЭ^(n^(nZPԦZ1VѼ Ѽ1FhhZ16h1-XV}fЭ^(n^(nPԦZ1ЬVfkh&^(n^(n\}\Z1hh6ЬV}fЭ^(n^(nPԦZ1Ѽ Ѽ1vhhZ1fh1]XV}fЭ^(n^(n-PԦZ1)ЬVfkh&^(n^(n\}\Z1hh6ЬV}fЭ^(n^(n~PԦZ1Ѽ Ѽ1hhZ1h1XV}|f|^(n^(|nZ~PԦZ1VЬVf1h'^(n^(n\}\Z1h7ݨЬV^(n\}\ШfЭԦZ1Ph3ݨЬV^(n\}\ШfЭܦZ1ЬVfCh&ݦ^(n\}\ЭԦZ1uhZ1jhZ1^ЬVf1Qh'ݦ^(n\Q}\Э̦Z1&hZ1h1Z1 PЬVfoh&^(n^(n\}\Z1hh:ЬV}tft^(n^(tn|PԦZ1PЬTdWh ¨Z1yh5ЬRѨZ1cPЬRèSbS\}\Zh Z14PЬTd1%h ¨Z1hZ1 h1ЬRѨ Z1PЬRèSbS\}\1ЬVfkh"ݨ^(n\}\Z1hh:ЬV}lfl^(n^(ln[{PԦZXPѼѼIhhZ:h4XV}dfd^(n^(dn{PԦZZPP^ЬWeRWR Ь Vզ ^(nݏD1ЦR<fRWЬRRԧ V<^1U#TS 0PQa$eP@P}`ԡ $eP@dRbPPGOW_gowGP?P6P .P&PP P PPc QQcPУPQ Qץ<^0U"T S 0PRb$eP@P}`Ԣ $eP@dQaPP/CCCCCCCCCCCC7CC?P?PPPc RRcPУPR Rץ4^!Y!X_W e/PVhR}Ԧ иPP7G c1aN?PfhR(1JhRݢPP(t1(P?P@fhRТ1fЭئЭܦhRТ1P<fЭئЭܦhRТhRݢP1fhRТԦ1PfЭئЭܦԦ1f}11fhR}xPhRݢ﫡PP  fPUP! fGPP"@PA7 fP-fiЩԦPfݩ}̦g VVgPЧRV V^fW..VfRfRdgzߧp$SR($C^9VfTW/PT<WЬS<cf fR} PdW( dW f -WP^ٕRЬbѲ#PbPPР bݬ ,ѲbbPՠ PТPР ТPՠ P^qPԠ<^]UeS>y,TSRУ Sbݢ dݢ dR d PR dSe ^լF(,SPЬPPRР bݢ cݢ cR c PR cլP| ^ЬV}fЭ^(n^(n uPԦ|,^VfRݢЍPP P$fR^(nݏZ+fR($a^uWNVQ+ԠЦ$RP}`ЦЦ$P$fԠ  V1r߈PFdfݧgݦ^(nԇ/P1ݧgݦ^(nﳅݦiPHP^(nݏL*^WZVE# *ԠЦ$RP}`ЦЦ$P$ P^\Jiևݧgݦ^(nkP^(nݏ:ݦPgP^(nݏL *^PԠ$ ^qSУ$RPRPТRPF)R$^aV:XШ$W1է ݬ^(gnݦfݧ6Uѧ ݦfݬݧ^(gn4Pݦfݬݧ^(gnP^(gnݏ7ݦ^(gn+WRЧWR(W1a$^XzWYЧ$VXզ KY^(fnݨhݦwVSЦVУУRУS$У$S(PЦVVU^PР$QPѡPСQP^XΐWЧ$V[Pզ Kݬ^(fnݨhݦʆVSЦVУУRУS$У$Sg'ЦVV<^}S~RԢp ݏK7ԢlԢt”´mi]գUUPUU  ݏQڏUUPxPTTQңPPQPQTb ^SRУhcdPРbP}\Ԣt”bPPP PݏA2^IRt^1R”^P^aYVѦlfRlRBݏMﳎ-&Цl[fRlRBZZ^XѦt6Ɣ0lRBRblRBRƄblRBRƈb1P[~ݏC1PZLFƔ$զtlRBRblRBRЩb1g[~ݏ1MPZ1+Ѧt%ƔlRBRblRBRƄb1ZPJѦt (Ɣ"lRBRblRBRƄb1P[~ݏk1P Z1Ɣ1ѦtJ8$PƴPRЦlƴR<ƴR( t lRBRblRBRb1`PѦtR2~^(Ƅn]P9<~^(ƄnDP lRBRblRBRƄb1Z1Ɣ1ѦtF8Y#PƴPRЦlƴRƴR( t lRBRblRBRb1ѦtN^(ƄnP8~^(ƄnP lRBRblRBRƄb1S Z1Ɣ1ѦtJ8"PƴPRЦlƴR<ƴR( t lRBRblRBRb1PѦtR^(ƄnP<ݏ^(ƄnP"lRBRblRBRƄb1P[~ݏ#1}P Z1MƔ1(ѦtJ8!PƴPRЦlƴR<ƴR( t lRBRblRBRb1PѦt1~Q}ݏ^(ƄnPݏ^(ƄnP2^(ƄnP>^(n^(ƄnP"lRBRblRBRƄb1uPlRBRblRBRƄb[~ݏ1B[~ݏω1)PZ11|WѦtƔWƔtPXѦtƔWƔt-PXѦtƔWƔtPXѦtƔWƔtPXƔ1ѦtV8PƴPRЦlƴRƴR( t lRBRblRBRblRBRƤb1'զt t}@ƄѦtTlRBRblRBRƤbƄSSlRBRɏSb1PlRBRˏSb1PWX[~ݏ>1PW#X[~ݏ1o[~ݏ1UP Z11Ɣ1SѦt ƈƄSѦtƌdƈSlRBRƌbѦt+Ƅd#ƌSlRBRƄblRB RƈbSPpJlRBRblRB RbѦt1ˏƈR1^(\nݏ1wZ11Ɣ1Ѧt@M8PƴPRЦl ZƴR< PƴRƴR( t lRBRb1Ѧt.lRBRblRB RƄblRBRƌb1Ѧt.lRBRblRBRƄblRB Rƈb1Z0*զt%ƔlRBRblRBRƤbfZHBlRBRblRBRb֦lѦl1,[~ݏOÅ[l[~ݏO暈[lѦlfԦtƔ֦l,^YXVѦl?fRlRB0ˏBR#lRBRblRBRb֦lѦlЦlѦlfRlRBݏNiifA1F1f151f1$1f1fPPY1P"?P ,RBWg^(\nݏ?ބiSfgSSR( Ѧ%Ѧ($ƴR1Ԣ1y<'f1pѦ:Ѧ0Ѧ$Ѧ,ݏN׃i($13PѦ$Ѧ,1<(f1Ѧ:Ѧ0Ѧ$Ѧ,ݏNwi($W>Ѧ$Ѧ, W$PWѦ($ P<)ffRRѦ@ ѦH5ƴWݏOiЦLRRWݏOԂiRf0ݏoﷂif<)f($ˏhR^(\nݏdmH$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1.M64;1Lq"aƴR1 1fPbTƴRЦd0ƴRЦh4ƴR S(Pc@ݣJ{TУ STƴRƸ,ƴƸPƴRƼ,ƴƼƴ1PP~PWƴR( ),04f&P8ЦdgЦhƴRТ<ƴRТ@}\DWƴ1|TfSˏCRTˏCR ЦZUˏCRЦ8ZUU5Zd-Tզp&TݏhݏfiTf;2fRˏBR!ѦզѦ<;f<*f Tݦpfs1f1Tݦpf1U1fSˏCRЦ [PˏCRЦ<[RR[WˏWR^(\nݏxWWW WݏgiPWf Pf^RЬU ^RyPޭn¸P վ PPо\PЬ,\P,,^[˸W1|xZqYX \V\tPl@cݬjVP=ЬTlЭجЭܬT5<lЭجЭܬЭݬiP^(nݏUhVЬ \Ч,RVէ ݧ_W8 P˼,W˼RW1I˸^X~ZnʼV1w~Y3zpﯶ[ [ Ѧn \W\1Pl@1ݬPfZ1n?PѦ^(nݏUiW1Ph^(nݏi^(nݬ(lԬ1PѦѭЦ0^(nݏfiWeЬTlЭЬЭԬTH<lЭЬЭԬЬݬP'PЬTlЭЬЭԬTl}جЬ \1Wզ19ݦ1/ P\( lD\5զݦ 1Ѧ1ЦPP s ?PP11P11fP1P1`1oѭ6^(nkP%~^(nkPݭݦf15Pѭ:2~^(nkP&<~^(nkP<*~f1~^(nݏOi1Pѭ6^(nkP%~^(nkPݭݦf1P~^(nݏOi1Pѭ6^(nkP%ݏ^(nkPݭݦf1C~^(nݏi1)P~z}ѭ1ݏ^(nkPݏ^(nkP0^(nP-^(n^(n:Pݭݦf1P~^(nݏiݭݦf1yP~^(nݏiѭ,ЭSS ȏS PʏSSݦf11P~^(nݏi1Pѭ ЭPѭЭĮѮ0 1PԪpЭWW,ˏR^(nݏiݭPp/PWխݭPpW ݭPpժpݪpfk~^(nݏhiRѭݭݭݦf@4Pn~^(nݏhi~^(nݏiЦ,RV8RV1wP^xP|^xR´P ՠ ݠ´8=´^W]xVnRݢ'jPTS2dRSRPCCS2dRSR2dRB߭߭fP1Ir?PЭfP^(\nݏc7xg^(\nݏdxg^(\nݏexg^PP<^R($v^}wV ,RBWg^(\nݏ?wPflg2P,^YX*wVЦW WRBhSc^(Bnݏ@WwU WRBhRf#Pb WRBR}\bƴT1 WGhRbdUƴRЦd0ƴRЦh4ƴR S(Pc@ݣoUУ SUƴRƸ,ƴƸPƴRƼ,ƴƼƴ,^AvSTôPУd0ôPУh4ôP R)Pb@ݢoTТ RTôRø,ôøPôRü,ôüô^uWP~] PVǴR( ,04gP8ЧdfЧhǴRТ<ǴRТ@}\DVC^mV XWP WRBfSc^(Bnݏ@juhWP^XtVfSˏCRЦ TPˏCRЦ^(n^(jn }^(n^(n}Y\P^(n^(jn }^(n^(n}}^(n^(jn }YY1<~^(ngP2~^(ngP1Yng<~^(ngP^(n^(nP,2~^(ngP1^(n^(nP}X P}XXXY1YЬRb}ЬRbXSPnSPSSPP,^XVoSЬRТܟFYPYVZTV1DhQ1ѡY1ЬPa1СRРQRQR Q RQUV!QR RPQPUV QQRQUUUVVRU U@VZ(UUWUUWUWT PUWTTTV1:V)ЬRbU.}ԢЬRbTVZVPVVPP|^V ݏmGզ$^(`n֦fI 4P^VmW ݏRmզݏ4mצfDIզ$iL^(`n[I ^լЬP`Ь`мPPР,PЬ,^R Kia|(Ԣ$HxyH^eW6Vզ$զ =Ц,SS(S (Sȏ@(Sȏ(զ  ԦЦ(fC( fg /-PRէRRݧ^(m^RPРbb CQPQQ  |Ԣ Ԣ^YFViRbjRcPP~~~zrP?Pc#!c^~TccPP)))%v?PcPߢ|Pߢ|P ^SiR_~SccPP rP?P3!ca~ZScIcPP...*"P?Pc#'P#P”P„<`~R ^ShRcPP wzzzzzzh>?P{ ca~RccPP***&P?Pck$P”cP„SP ^R"hSba~RbbPPGGGF;P~?Pbba~QbȾÔP ^SgRcPP~~~{rP?PcwBca~iQcXcPP)))%?Pc3P”+P”P^ݏN ^RfSc~Pb˽bf~Pb﬽bPP9995-?Pbe~{PPÜoURcRMcךּRPĤP^eTrcSdPP *222&2222221P?PPdCЬR dR3Md"dPP 'GGG#GGGGGG;-?PPdR~RsPäPЬRdRLddPP (HHH$HHHHHH<.P?PPdkRRPäWPäGP^bR}~#LDLPPNNNBPv?PP׸}~KK°P ^uSaRcPPzP?PPcc}~^KLKcPP---!?PPcP°P°P^`R~~JJPPNNNBP2?PPz~~J |J¸oP ^1S>`RcPPzP?PPc~~J; JcPP---!r?PPc׶P¸P¸P ^Sc~IcRbpc~wIcbcPPcbcPPc~PIc?e ~0I<~"I ^Sc~IcRbc~HcbcPPcbcPPc~Hc﫵 ~H<~H ^YSc~tHRbc_Hc~bcB~b^<~H ^RbPPb~Gb޴ Џ~G^PP 領^RGgbצPM # .WGLGP ^f$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"R2Sb :%G*c b PbSb  ^ScPPi PP  ?PRRRQQ&c\_cPPУPPDcPP LlkllllllDllllLlllllllTlllTd2P?PI\,^%RbPPKТPP46P "者m^vnf^JtERbBb7P ^S[RcPPz1n?Pc> EccPPP1=DcرP<DcPߢ(Pc>Dcc=Dc{Pߢ |P ^=S [RcPP P2P=ADc0P<)DcPߢ(P^TZSdPPM'PP!!!!! ?PRRRQQ dl\dPP )1011111111111)?PEߣ0hP^ =C(Q ^RYSbPP *1:?P9Bb;BbッbPPFvvFvvvFvFFFFFFvFvFvJvvvvvvvF:P?P:Pbc.bT~UBbDPߣt D-:*BТP@P`ߣ<P^XRPPIQQEQQQIQIIIIIIQIQIQQQQQQQQQI?PPߢD  P ^]S*XRcPPFvvFvvvFvFFFFFFvFvFvJvvvvvvvF:P?PPccT~ AcPߢt  P^WR¨ PP111%?PP~P P^%WRJPP111%?PP&?PP7 P<^TVUdRP+ db~?d6?RPP UUUUUU UE    U U UUUUUUUUU 1?P ?dx7n?dPP w{{{w{{{{{{{'_P?P*6?Rbd"Sc d/bdc +b8bdcPP 6>P7>dPP w{{{w{{{{{{{'_P?P*>RbdrSc9 d/bdc$ +b8bdcPP7 6$>PdPP uyyyuyyyyyyy%]J?P*=Rbd֪Sc d/bdc +b8bdcPP 6=P  P<^ATTUdPP qrrrqrrrrrrr&VP?P**=RbdSc d/bdc +b8bdcP^V߭߭߭f,wP1ѭ:ݭݭ($fЭWf}߭^(nW4ѭ ѭ fKfѭ ѭ ѭ  f,)<|kP<^($<^SRT cݬ;c﷨ЬUcPPLLL@?PPcURS cR|;ckRcP^%TQSdPP~P~?PPdЬRdR;ddPP///#P2?PPdǧRPP^ݬ:^!QRFPP111%?PP";ݬ3P<^SPTcݬ:cЬUcPPLLL@.?PPcgURcR9cR$P^]T*PSdPP~P?PPdЬRdR;9d*dPP///#Pj?PPdR$P$P ^SvORcPP 666666$?PPc'8cP,P ^ISORcPP2BBB.BBBBBBBBB1P?PPccB~8ccPP/KKK+KKKKKKCKKKC)*?PPc¦P4PcB~7c{cPP0LLL,LLLLLLDLLLD*P?PPc;,P!4+P4P ^RMSbB~6bԣbPP1-eeoP?PPb|bB~6brPQbB~X6bGP4?P ^SLRcPP 2NNNNNNNNNNNNNNNNNN6$>?PPcQ~5cƢDP ^S$s5Rbcbc Lcbch^PP  ?PPP|^Vf}߭^(nݬ,ѭ ѭ ffѭ ѭ ѭ  fġ4^^^ ^MS}cRRkReݏ+cRR R Pc3cRR R R  c4nhWP|^V}fѬ%ݬݬ߭^(nݏ:m+#Pݬݬ߭^(nݏ:H+fѭ ѭ fwfѭ ѭ ѭ  fXU32@|^Vf}߭^(nݬ*ѭ ѭ ffѭ ѭ ѭ  fП22$ |^}Vf}߭^(nݬ4*ѭ ѭ fgfѭ ѭ ѭ  fH<^PP ߬ ^PPPЬЬ߭^TSPެRPb!SQT@aSPPPbSS ݬݬP^ЬQaPР$PR:PRР aPР$PРaPР$PР aPР$PРaPР$PР$RP^U_[ЬnоЮRբ$1sM R`ԠkkPkЬScT0PZ Ъ ˏRRˏRR $s PY P 0`ЬSˏRR #ȏPˏRR Z<ָ PXZh|(Ԩ04Ԩ8ЬRˏRR 1.YYYS= S`ԠP^ PG^ B^RPP6^rtPW> Pٿ!+ PV20RRRfffM64$$S20RRSR!PSRB2CSS 20RRSRVЮZ ԧ$%MPԧh(l>]Rв$tY`WY*Y|ЬRТТ Ԩ$bSX$\У$R \\У$R\ԨPnRˏRR sЮSУ$RТ \У$R \У$RТTTF{]qPPTУ$Rݢ#У$RТg\У$R_\T<P<^EUqT1դ1ЬRSRSPT SТRRSRSݬ߬Tݤ 0GRCS>ĉPSPSѢ220~ݏb$ФbSФP@e$Ф,T1dP ^ЬQaPР$Pà RС ˏPP  aPа$PR СRaPР$PR"àRSRˏPP  aPа$PSP^ЬQaP Р$PС$^oWgX:PЬVxgR( BtifgXfRТ$RТfRТ$RТ$PԦXP^}oWgg2 Xg"PЬVZxgR( fBiֶXXP ^լ ЬRblЬ SSﺴ PSݬݢS Ь}^ЬRЬPbЬ }ЬРPP)))ANN5P?PЬPа PЬPа PЬPа PЬPР PРP^ЬP`Ь }Ь^ЬP`ЬЬ }Ь^y˳ PQЬaԡY QY zYPQQnY^]YYP^YP`QРYQQPP|^mmPV; ЬR0`P レPԦh(lVP^RЬQСPP !QQAQQQQQ%-9V?P.PR'PЬPа PRPЬPа PRRP^ЬP`ЬQQ} QP^ЬQQPЬP`Q} ^ЬSЬQСRЬ PРTcaв$EТPP$$$4==,)?Pв в в  Т PРѼ  д$GPФPP$$$4==,):?Pд д д  Ф PРЬPР Ь PРЬ}Ь$$,^W߭qgY^(nYgP߭H߭P߭PV^(nV^( nVP^uVR԰ Ь`ԠbbP^EV\P^MP`QР?QQPP^ЬXЬWWSTУPP "JJ>JJJJJ&.2P?P&PTPг RTPг RTTV^(nXWPRVЬTи$SPRTSy^ЬXЬWWSTУPP "JJ>JJJJJ&.2P"?P&PTPг RTPг RTTV^(nXWPRVЬTи$SPRTS ^ЬQЬ PP+3;CNNNNNNNNKN+3,v?PSPSPSPSPSб$RcPSݬ ЬPݠ`ЬPݠ`R <^Ь PP+;KS[cks{3C1?PSvPSnP SfPS^P SVPSNPSFPg٬$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1Pe"S>P S6P S.P S&PSPSPSPSPSЬUЬTwPQЬRP$PQSTRUPD<^ЬPP+3;C[^^^^^^^KS+3<?PU.PU&PUPUPUPUPUЬPа$TЬSЬR ʔPURSTX|^ЬPP+3;C[^^^^^^^KS+3<^?PV.PV&PVPVPVPVPVЬPа$UЬTЬPа$SЬR $PVRSTU ^QSo,T PRbԢ(ЬЬPР$Qա(R(R,Ԣ(PС,PѬԡ4С,PR(R,Ԣ(ա8ЬP8cԡ0c0PcRP8^YfQSPУ$Rբ4R,Т0SDQW1zniX SZ[6 ͩ [Ч$ЮRТ(V1PfPP!iY%1P?P1ݦW^( nݦݦ^( nih~^( nih1}PݦW^( nݦ ݦ^( nih1MPݦW^(nݦݦ ݦ$ݦ^(nЦRBݦ ݦh1ݦWݦ^(nݦ ݦ,ݦ j}ݦ^(nЦRBϮB~h1PPݦݦ ݦݷ$,ݦ^(n h1ݦWݦ^(nݦ ݦ8ݦ j}ݦ^(nЦRB*Bm~h>ݦ$^(nݦWݦ@ݦ^(nЦ$RBB,~ihЦ(RlV,kRV1ЮRТ0W1P^мPP$.8BLV`P?P}6ЬP} ЬP} ЬP}ЬP}ЬP}ЬP}ЬP} ^мPP/C_{1?PЬR} WV1ЬR} WV1PЬR}Т WТRBVfPЬR}ТRBWBϸVHЬR}ТRBWBϜV,ЬR}Т$RBWBπVЬR}WVЬRݢ^(VW<^6UЬTЬSѤ1SQaPP (08DP\MP?PR?R:PR2PС R)PСP@eRPСP@eRPС$P@eRPRRPѤP ЬPР PЬTЬSѤ1SQaPP!)19EQ]NPz?PR?R:PR2PС R)PСP@eRPСP@eRPС$P@eRPRRPѤP ЬPР PPP^[5YZЬRТ(X1ը(1,Ϥ ը(1XScPP&.6BNZK?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTTSШ(RS1PШ(Xը(|XScPP!)19EQ]NP*?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTTSШ(RS1{ը(Ш(WЧ((ZxZScPP&.6BNZK?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTTRRZV ЬRТ(VZVScPP (08DP\MP?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTTRR|PVZЦ(VVScPP'/7CO[L?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTTRR߭VWP1Pѧ1WScPP (08DP\MP ?PU?U:PU2PУ U)PУRBiUPУRBiUPУ$RBiUPUVScPP'/7CO[L?PT?T:PT2PУ T)PУRBiTPУRBiTPУ$RBiTPTUT1fg{ݭSWRbPP$,4<DLTFP"?P}kc7P} c.P} c&P}cP}cP}cP}cP}c^(nݏVϏЦ((ZW(ЬRW(veV, VXWX4Ч(V.߭VW:P1KZW( PЬRW(V(Xը(1P^0RмPP#'0=JWP*?PPPPЬPР PЬPРP@bPЬPРP@bPЬPР$P@bPP<^ݬݬPUERTR 20PѬPPRTТ(R 20PѬPRY20PѬPOݬݬ2_wQPQQS2PRTТ(R'20PѬPݬݬ2-wQPQQSR20PѬPSRP0EQ~ PSSݬݬ2v0Ь ԣ R(TS( PSESP ^ZSЬR2b~vbc^ZPP ^%FSЬR2b~dvbc^FPP^]ZPP^ЬQСPPPZ?PС PРRRP^P0P^Ь VЬWЦPP ;UUUUUUUU? ?Pݬݬݬ ^(n4Pݬ^(nWVV|^)EU¦VЬPeSѣPSR УSRRT1ФQСPP$$]Qr?PݤdD;PdPФRPQRSС PRС PԠб RԢ`У PРPа$ У PР $TRePRPРe$Pբ Т PԠPТ PТТPТ fR| ЬRePѠRPQ РPQQT10P^XЬ VЬWѦ VRТ S殮Sg ԢXݬ^(nWVж SRRXVP^}CYЬ WЬVݬ^(nVWbз RȏgWXY~b PVXf(QhiRբ ТUPԦUiRVVTЧ RЧ SiRТ|^﹤Y~ PVЬRRf(QbBRբ ТUPԦUBRVVP<^5WUBTdPРS?cRbԢcQСPP##P&?PcPԠ cPԠ ԢУUSM ] PdPRbdPԠdPԠdPԠ dReSeS2BPddPԠd Bﲢ^Ь VЬWЦPP ?\\\\\\\\F~?Pݬݬݬݬ ^(n P^(nݬݬWVЧ$R  Ve^]AYЬS"t PWЬgЬ Ь} iRТcW SXY~7 PVXf(QhiRբТUԦUiRVVR^Ь VЬWXѦ VRТ SSK ԢX^(nݬݬWV0ж SRRXЧ$R  V_P ^TPR$c PSQ PQЬP0aQЬPа$ Ь $ȏЬPP-=MU]emu}5E1?P`~P`vP `nP`fP`^P`VP`NP`FP`>P `6P`.P`&P`P`P`P`P`PЬQS R С RЬС P}С RЬС RЬ <^S1PRR2vPU  PT 0ȏЬS0`P XPT R У PUУ RЬУ P} У RЬ ^ЬRЬP`|} ТPP &.rj21P?PS1PbS1PSЬQaPPPaв Т PРТ PР$Т PР 1Pв PЬQȏaȏaSЬQaPPaТ PРТ PР 1|bS1rPSЬQaPPaТ PРТ PРТ PР$Т PР 19Pв PЬQȏaȏaSЬQaТ PРТ PР1PSЬQaѲ aТ PР Т PР1aТ P} 1Т PРPЬQȏaȏaSaѲ aТ PР Т PР1aТ P} qPSjPв PȏSQPв PȏSЬQaPP PaТ PРТ PР Т PРТ PѠ ȏaѢѢȏ@Ѣ ЬQɏaPɏPaТѢ ЬPȏ`ТѢ ЬPȏ`ТSPP^ЬS5PՙPRQ  PT? 0`P}Pѣ T R У P}<^Ь SУPP gSgP?PSR}}ﱜ }`| }P У R}b| }^(nݬ ^(nj^ЬR PLP ^ЬR P(P ^ _ PQ}a| }ЬPQ ^ٛ+ PQ}aЬ Ь}ЬPQ | ^Ь UЬVХPP _Pf?PUR}VSЬT[ﭓ }`S T}HP Х R}bV Ь}!Pݬݬݬ ^(nP<^MYPR՚ ' PSÚ PTPPȏzPЬQ0dTЬTެUTЬPа$ Ь $PZ8Pа$ e$S Tc}T}AЬ Ь  P}e| R^XЬ VЬWЦPP D1?PݬW^(hn^(nV1PVRТ S龎Sl ԢݬW^(hn^(nVЦ RТRuVRТ ScS$ ԢݬW^(hn^(nVB9Ц Rb}hW Ь}Ц RТRз$ Ь$xPP|^Ь VЦPP ?1?P|~^(n^(nV1VRТ SS\ Ԣ|~^(n^(nV|Ц RТRxPVRТ SSS Ԣ|~^(n^(nV4Ք ^fXKlK<"@MjE+dnksaGv>$_$uDobX9OtM0&,j1Cl@u2h%WW&ǝ=)DF, -f}&Ĥ kkޅcΥF"tg -"ClK7b};CM3! GQDV=e84?uNJ"b-cGM}r@g JjhrQHHsx4؎(Rh_ kcqƈO'\_bn~r7`=bpMYQ+9i`Z[Fy($KXz&)D{wNz~MtX`dA=tYGOmHٌ٦Y{ua^_Z@(|R:i~@CIn܀#ťa#S~%~v7 7ɞenuI]j^ʦ OGf;#@`1)kP'dUWH,&~ uzCî;ϻOPaP Tv_Fp[2epU 颂PbFvwǠD8LKk{_51ڒ]=s(}k>b$g~eٵ|(pҰ U 磾TS:hƇgǫ*FmcpT3aġtoeHOhJH?-7!ٿ]~_ك<5 4nt~rd[|)U4N|g 1uac|s%3XH^,jV}/A"WQ}ȠBb:@ܛLN?fm^hqb8N𖜚{K=gS4j81B'-DZ C ,%\ȩu<'}f&|${}꣗7vbUJ05)硻Fr'3BfF?C+36|'{ũh2VF' 6fGH~bP͡Waպjv7ro| Kw4F/-%u 06l-wHt*Sq9}=(~:Ql&$}@YNd^tOOY.s"d=TP2%6 +h#&D9yc0:G|W%US޷Dr_J2?6.:ɆBv ar$Op6b)k/3>*^e i99<AaIލB}U+eWZ7\[ [ZdM0`TIFCO≺>fM[tѲr_}S⮵Rx@ҿ9hOS  ᝤ55<0x] R*u+ϚA!Hi4x踋 `cg%gA{sMOKDcqs T~>4z0|u|b6Hb:蓾 FB7(,8uBe\*";"\f6LY,xz!,ʸN 'x+ br'̱9|xqMWp":=⭺u I.SLZ!bO: iߏ4B{~&$%BCbH`S XK)gq[U@/yIΪ.#/Os e6'U5DepWE nݬFnE2?~(m8?Ib?↷M,8&͸fcܞJ%> ?dz=g ;[uA{O+<$^лTНd5ש:tkof޳!rٵ+!Þ~!r|E& {Ђ]ڴodXLY}d_jf rNg6Ւ$ڒ@Z&Z6DԎ޴.kSǞlӀ`am~;Ƶg7%w:K-w-$1abXht(] Zj6Xjj3\0(;"}vgT:Z7&i++p2 Xġ(ɰ}rbV?Eea߸'cwcdwH?͸`ߔJ%Kݺ(e%JIwNUhZg$3]= 7x̛E?7^UzT vlM 53l2B׾y!0a& թĜQem{r[J6"1ߨv2ʄ Д:Lu<ȺS ;@Ii7NsL|D %O kO ޙЮ< &%~sIB7NK-J³N$f~h#;Z|ڗk=-:;RALjWøW/G}~!w .^Q͞>[ˍ1~0=oPeYԝuwh ?ςV뺴"D'gǘ48h)E<;.+ v %B=M6=LƂ " =#ٵL.3®?[Mv!qtd {^WP)YW L1IYP a!`,عbfuaA_:X};'˿ǠHjۦpɉJͽ9?{=P')G+ #0hurٝ?ءS;aXLϳRi8/U H2*ˬDjspKu\>qWמPBm'4ʯļ b3:U\ EOGӽ?yEq_"ݻe?wӸq]E v$#zr0ZW>0|T7)AX{Tf3۟D!!7ETߚu+e@TxECT7ޮ{++Z#aa]{0&փQ[8dRYRJ9YnЍY WѺHTQM@r yzܩ酩^Xt on㐷<9Nd$P&Aē Y܂5gWͱ&N b؍N6ϠNcP$-=6. G}CyIT au`6͒vȸ7a!*e]"_i@I\: 51;h{64e墝l+/N|CG ѫh3u#aalL+eT-o 07{U5:| j9q>s+|g/-]AV! T\Eюzi}R#{0H|{#]p $= FR!*}-翫T}|UQ!PwZAnKۜkh8]hf˘QHk [˱ _mp-O(dML #I\ JFKtF-ۨpvܒY^eaY锃_;:S҃zU+KTUԳMaqaT Q/\Aex#ml(d۷C“dHYsLqޗaqq!\V4k]|Y2-&5D(-Od$5wEBkZrjMW4r_O^-Evɫox] Ru%oXootڤCX%:ԥ!%Ki sw:vICT9t-rcޑez%e5h5Uگxt+E[UYFӴF3v3aN?LjALӦ +*m AfFG3prth=fn™w+M_OQRml23n:ҪIkђlxϟyrj"üy޲;}z?>:PBs~ 5 uP$ox_/ &g%- 7 ?9 v]  >x Gv0@C*P3#;5uWun\-+6֛x*5#br-~ @]HJ&&.T-cH:3q)bogJT(n|G*>۵͇7pيh߂N԰Wஸ\+IV=F .,۾Űvw&zS,2ADq^0EFݘTuijk-3pO.< yF7g7j![%0#!+E ,bHckPd] 675*zf߭ЬRRpPRRZPݏЭRR SHPR S;PR R T}`SPݬݬZPݏT1f߭ЬRRPRRWZPݏpЭRRݬݬ1ZPݏJ}`hf߭ЬRRuPRRYPݏ hRR "R ݬݬYPݏS^(`nݭ^(fn^(`nݭ^(f^(RPݢ^ebR(^}|$^ЬR}bЬVV*VR}r^(n^(n*}ܭ*hSxVRRS^(cn^(n)}ܭЭV ^(nJ(ЭRRVzVP{&PQPPSSSSP^PP PPЬPРR PЬPРRЬP`% РQ2a~bPW^ЬPԠ`Ԡ$ԠԠ|Ԡ,^A'Z'Y'U;VW[g5X'S͇﯇-';&;&&&&&v&&D}<#~<~遼 PkA%<~<*~ P#%QRbR&QThYŏYTRBcBQP` BUP`PBc@gB(QaRcPRPhPďYP@cPRPaTTht|~PT ĤefR2ePRPBBR2ePRPk f`PTF:@YP^%Piԩ ik PjPRbjRԢjRԢjRԢ jRjRԢj9jc%9UP*"X'XPRPR XPR$^# st| ^pRPQլ QQмPP%VVVVVVVVVVVVVVVVVVZwwwwwwwZwwwwZwwwZwZ?PPЬRբ ݢݢ ^ RᄐsPP<~<(~ PbԢTˏPbTˏPSxSP@ Qa@P`S||$|,4^- R@ ^ Rݢ~} ЬP^ RլݢPP`~{ <^ R$Ѣ$(}Ǐ$UUďUUSݢS~<} S`PTТ Q<ЬSQc~QTwSâ cPTPcТ S!ݢSPP`~h{  PЬPT`U(T P<^1 R0Ѣ04}Ǐ0UUďUUSݢS~| S`PTТ,Q<ЬSQc~QTRâ,cPTPcТ,S!ݢSPP`~z  PЬPT`U4T,P^ЬP `}f^eSZΡ[s WмVЏYfRR R  R RVfRR  VfRR fRR  PVfRR fRR  PVfRR fRfRR R R RVnЬSfRBPcVcPP!OOOOSOSSSOSOSOOOOOSOOSOOOgSS[ ?P1Լ1PPPA7}9111111111191111111111111111}911111111119111111111PN?PRRXX  X X;ЏYЬR}k1VTfRXUUSRSRR PVfRRS RR fSXRSRЏYЬR}k1TVRRЏY}kRTVRdBRTTVRЬR}V1GPЬScfRˏBPRЏY}k1PfRˏBPRVfRˏBPRЬSîVRR~~ P1ЏY}k11ЬScfRˏBPRЏY}k1PfRˏBPRVfRˏBPRЬSîVRR~~P1SЏY}k1EЬScfRˏBPRЏY}k1PfRˏBPRVfRˏBPRЬSîVRR~~P1ЏY}k1ЬScfRˏBPRЏY}k1PfRˏBPRVfRˏBPRЬSîVRR~~P1[ЏY}k1MVЬRb}kЏY15fRR:1)V1 fRR RVfRR RV 1fRR=1V 1fRˏBPRVfRˏBPRRR.nVRR$1VRbSS S  S S@b  PRb b Rb b Rb bbSS ΑS ɑS ĕSb:#ЬRnnVѢ1.ЏY1$ԧ$VTTMP7Ч SSRSXdbfRˏBPRfRˏBPRfRR$1RPP$ C P?PPE11Pe1wyVVRbSS S  S S>b Rb b Rb b Rb bbSS БS ˑS ƕS‘b:%ЬRnnV1ЬSç X~ݧ P1ЏY}k1fRˏBPRfRˏBPRfRRe RE_fRR+R-fRʏRBj0ЏYЬR(.1`fRˏBPRfRˏBPRЬSç X~ݧ [P1 ЏY(.1 fRR+R-fRʏRBj0ЏYЬR(Q.1fRˏBPRfRˏBPRЬSç X~ݧ P1ЏY(-1}ԧ$VpJPϏ TfRˏBPRfRˏBPRfRR\1VfRR"11RX1RPPXm :?PPxcVScRʏRBj0VRbRʏRBjSV߭Vp V*PЏYP\VTRT"bVЏYfRˏBPR1 fRR" ЏYVЬUç TSSݧS~r S`PЬUç TRRç T~ݧ ХR Iç TSХRCЬSîV~ì~ݬ DY SVYP ^ЬPՠ мPP5~~~~~~~~~~~~=~~~5~9TP?PSSЬRѢSݢݢݢ)PPݢPbЬR ^!Td դЬPxRB ScS BRb\SݤSRRb~o xSCURRRVPVVeC WeSݤS~Fq S`PgxRB RbS֤zP{PQPPެUeVVݬShGd RV8PBc~%GPBcRReRVPBc~ GPBcRReSPP^SRB| PWRެTB+ФVBf~FPP@PP@PWRBRBx TB| XTUUX'PxUP@ðQaW@ôP` PUUXP0^ѼЬRݢ bЭP  bЭP|^9VмRbPP P  P PWbPP  PRbPP bPP  PRbPP bPP  PRbPP bPbPP P P PbPP;ݬݬ ݬݬ RREPS(CbPP  P PSCbPP P PSЬUeSìR~ݬ Uԥ STݦT~n T`PЬTSSRФPEФPCRSЏP|^VզL' DЦDRæ8<~ݦ@:UЦDRԢ .ݦDݦ@ݦ<ݦ81PHѶD֦L PѶDצLݦD($D <^ٓS~RЬ8Ь <Ь@ЬDݢDݢ@ݢ<ݢ8PHѢH}cݢDmL߭߭߭ݢDOPЏ5H}cP Џ5H}c}^VЏWмRbSS S  S SXbPP  PRbPP bPP  PRbPP bPP  PRbPP bPbPP P P PRbSS"S=S  SS;ݬݬ ݬݬЦ,Ԧ$bPP P  P PWbPP  PRbPP bPP  PRbPP bPP  PRbPP bPbPP P P PbPP"1P=1P 1P1P;1bPP<E߭7ЬSRcЭT֭ݬݬ SݬdcRѦH1"ЦHWtPPURTbPUSSQPQP PRbPPQ P PTRSS߭ϹSTݭASbQUPQP Џ6W1PR1PWwЬUeæ,~ì~ݬ Qԥ æ,TTݦT~$k T`PЬTæ,SSæ,~ݦ,ФSTAæ,PФS@ЬTdì~ݬ QԤ RWP|^VмRbPP P  P PWbPP  PRbPP bPP  PRbPP bPP  PRbPP bPbPP P P PbPP"ݬݬ ݬݬjD5$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1X"RUbPP;(P #P PPRbPP;P  P PRЬTdURSSìU~ݬ PԤ SݦS~i S`PЬSURQQQUУP?URQУPAЏP^WмRbPP P  P PWbPP  PRbPP bPP  PRbPP bPP  PRbPP bPbPP P P PRbPP"P=P P P P;ݬݬ ݬݬPPTRVbPTSSQPQ(P #PP PRbPPQP  PP bQTPQP,ЬScЬTìd~ݬ Oԣ RdЏ6PЬTdVRUUì~ݬ NԤ USݧS~h S`PЬSVRQQQVУPV>VRQУPARRЏP<^TRլ1ެScUBeQQ01QPP0aaaaaaaaaammmmmm ?PPaGPa//////1v?PBP0PQ BP7PQBPPQPxTTQTRR1OT 2P^}ﱌVլtެWЧXFhPP0 P?PFR0RPPR ^(n^(nA}VV} 2P^}VլXެWЧXFhRR0R1 FR0RPR^(n ^(n}VV} 2P^}屢VլpެWЧXFhPP0P?PFR0RPPR^(n_ ^(n9}VV} 2P^}Vլ1ެWYFiRR01RPP0aaaaaaaaaammmmmm &?PPaGPa//////1?PFR0RX FR7RXFRRXPX^(n_ ^(n9}VV1)} P^ެRbݬ:bP@;ݬ bPB?PPPPP|^VЬR}^(n PT ^(n, 0RRF ^(n}VP^(na PSVR bRVS߭(PP~?PPPPЬRb(P ^ЬRբ *ݢtPQ<~2a~=PS<~ݢݢ PSS ЬP `S4^}ҭԭҭح}P}֭֭}`}ԭ} ^ҬҬ } ^}֭֭} ^}ЭP׭P׭}4^RЬQPPPQ}bQ}}ԭ̭حЭѭԭЭRЭRѭRPPPRR}a} ^ЬSЬRSR SRSPRPѭPRPRRPP}<^ά~^(n1}}^R}ҭҭ}ԭܞP}ܭ֭֭}`}}bQ}}ѭ ЭRPЭRѭRPPPRR}a}}<^TЬSRRRS}d^(n^(n} ^լ լ լլ }/WެTդClU}dTTX}ԭܞdR}ܭ֭֭}b}d}e}ldWެTդLTU}d<<@}LR}֭֭}b}L}e}TdWWW}ެVɦfR1PfW1~<~~< ~TkVa}~ݬ Tݢ$1UТPP PTkVSTj}~ݬ TC$I1SSVЬ SSRTkݬ SN *%ݬ S%U8TjТUݮTjSTUХU v&i@~0ݮTjNIբ,TjSTݢ,F,Tjբ0?0TjSTݢ0DTj1VbТRݞHT`% ЬUT% LT@% WVR_% \ݮTjR`Tkݬ S #ݬ S#tT$ ТRI% xTj04% |Tj<[ ^ЬUW}SЬ V XˏVZYVY$ <PP!ݬݬPݣ.# ݬݬX.T# T PXT $ T PX~T.# UݬݬQT# YEc@SRТP!`',$ ݢTn}V^&Rǟ <PP T УSS1ЬPР R9-ݬ }~}~Rݬ~}~RТR^77lլ UЬ Ulլ [Ь[lլTЬPPddPPTlլԮ(Ь(lլԮЬnnTЬXX" ЬW:Xg" 0gV < YI ZVV5VW:X 1  VE,"Y3,V4j   R )<          | ns  /    II(8 Wf       :ݮ:ݮ(X! U}W~",UW9X3 6<5<~@U }W~ ~@UZ}W~ԮY:֮ 3x9XϝLj9Xόǘ9X{[ TU}W~k9X 1SX2! R[X! i9X% ZR'Z`9X Z~+ТhR՟@9XQ \RR1X 9X ZRGR>ТS2S)%Z8X Z~*Т R8X \R"RТP PТ RXRR1X t8X ZRR1ТSТVQVHyZG8X Z~@)-8X ~)6S2S)%Z7Xo Z~r)ТR1X7X XR9R0ТPТQP PQ QТR pX [ˏURRXݧ$$X =P7R7X# Xu 4[RXP$XV eXH [ˏU~Xݧ4$X& Y5-RPB`[UXB`τRX Y.P[UWP[U@U1ǜǜR[ˏU~}W~X{ R$ ,RMݮݮ,TUX~R:RbSRS ,Ϻݮ(Sˏ@U~ݮ 1 U0է +X [ˏU~Xݧ 4#X X nTX 515ݮ5ݮ(X U}W~&UW5X 0<0<~@U }W~~@UZ}W~[ TU}W~kK5X YEէd@X [ˏU~XݧdK"X DŽPIUh9Ч PRPR$,ݧ Hݮݮ,TU}W~ϫR ݮ$/ 1/,4X ɏU~}W~%,5~,%,~<0~~4X e(ݧ X$-UW]4X j/<X/<~@U} }W~`~@UZ}W~M"44X 41IRg@UT|~U}W~ϳX U0R,YˏURS XC$SS1W3X U}W~ύ313ݮ 3ݮ$XW $PI.Q<P@[QݣA2 ݣ>2X 7P@5XH գ82X4 ݬ Xݣ7">2 M2X Q2X YR1Q21Ч S3l[5$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1"ݮ 3ݮ$X UW3X +<+<~@UF }W~n3X YR.BݞBP@2P<`~RC3X YRΟH31NG3ݮ:3ݮ(X UW*3X6 +<*<~@UF }W~~@UZ}W~ bЧRݧ2X FScP@32"ݢ 2X 2cP@3XW 2s2ݮ 2ݮ$X4 UW2XW 0*<*<~@UF. }W~%~@UZ}W~W21V2ݮ I2ݮ$X W: ݧ02X ݬ Xݧ2X UW 2X |)<j)<~@UFz }W~q~@UZ}W~^11E1ݮ1ݮ(X  UW1X- )<(<~@UF }W~yWP R $RxRRQRaP@1^1X :aSC1W1Xo CP[1@1J1XN ~@UZ}W~k01g,1ݮX! UW1XD (< (<~@UF }W~0X010ݮ0ݮ(X է 0ݧ X W0X '<~@UF }W~~@UZ}W~0X z]ddddddd6dddddddd _ddddddd!dddd@dddddddddd(ddddddGddfdddddddddddddddddddUtdddddddddddd10RYS1n}X~K S/X n}X~. /X7 XSVBݞqn}X~ /X XBݞEn}X~ o/X XBݞn}X~ S/X XBݞ(S(10RYSyn}X~d S/X n}X~G /XP XSVBݞϊn}X~ .X  XBݞ^(S1.Ч RYR ;ТRЧRYRһ ТRЧRYR ТRЧ RYR ТRЧRYR ϿТRЧ$R ϦТRЧ RYRs χТRnX  -X R'R-X B -X" Rԟ-1 ЧRYR1 ТRYЧ(RiТSY" ݮX -X Y-Xy S|-X ݣ X\ m-XM bRY1k W-1Y ЧRYR軏 oТRЧ$RYRɻ PТR鞧0RYS1n}X~ S,X n}X~ ,X XSVBݞn}X~} ,X XBݞn}X~Q ,XZ XBݞϘn}X~% ,X. XBݞl$S(1< Ч RYR IТRЧ4RYRһ *ТRЧRYRn  ТRЧRYRO ТRЧRYR0 ТRU}W~\+1 U}W~B1 g#+ݮ XA +ݮ +ݮ$X$ UW+XG !<!<ݮ(@UF }W~ ݮ(@UZ}W~ a+U}W~ωS+xݬݮ,TU}W~E TU}W~51,+X UW++X <n <ݮ(@UF} }W~t +1[ WR<SԮ40G S0~<4~ݢ*X< S=QS>HP8ݢ$ݢ ݢX*X P8ݢ(ݢݢXX Y VURSGn}X~u k*X/ VݮXU [ݮRXC`ϪX1 4S1s WRТ YY+*;*X RS[ݮUXCbXYS1*X U}W~UW*X  <<~@U }W~ (է#XZ ݮ~TUXЧ Pݠ\ݧ1WSR)Xc Uh_<~@U fX  У<S1 SPRPYS!թԮ(ݮݩF)X& SO)X P)X iԮV]VX9)X V*)V%) V)Xw V)X V)XL VԮZ\ZVX(X* Z(Z( Z(X Z(X! Z(X: nX (X ЩVЦPݠ((XL "Xl [ݮU@XS ЩYV1nXD VY(VT( VN(X. VC(XS VZIjݞ7(X IО7nݮX (XE [ UXݮ X IОZ6nݮX 'X [ UXZXb VSXX0 1'ݮ'ݮ(XN U}W~TUW'Xe ><,<~@U }W~4~@UZ}W~! 1Y'X 0)0~''X 1~@Ue ~@Ue1~@USf}W~<էP&ݮ8nkU9U< U@<nQU@nAUDn1U Hn!U8Ln^ UR_URTn~<~PЬVVkWS~VC$iXVjWS~VB i\Vj V1RBaUH~ݬݤ|UsФP(ݠ ݬ Zn~<~`ݬk~ݬݤ$i;hЬRRj~Rݤ$in~<~lRk~Rݤ(itRj ݬT 0 W VUTЬSSgSg~S( (fSgR5)TSf}~~ _}~~SТRT(!UL).[ ][TRUE][FALSE](->)F!UL():A!XLA!XLLoop_!ULA!XL "!AD"(!XL)A!XL "!AD"(!XL)A!XL?BAD TI TYPE? A!XLA!XL "!AD"(!XL)A!XL "!AD"(!XL)A!XL "!AD"(!XL)A!XL?INVALID OWNER? A!XL?Invalid-node?:!XLA!XLField size not in rangeAssertion failure: -INFINF-0(Exp!SL - !SL + !SL!SL)0!XL!XL!SL!SL!SL!UL!UL!UL"!AF" !XW!XL* + Dump of hashtable contentsHashtable[!SL] is empty1Hashtable[!SL] ptr = !XL, value = !SL, next = !XL3 Chain entry ptr = !XL, value = !SL, next = !XL'Hashtable[!SL] had !UL chained entries ,Hashtable[!SL] had the most chained entries L!6ZL[Z/ YSX[WXg W4 g\Sg~ݏ jkD4 . 4 gk4 բ9dPP1լ*ݬ~<~$ݬiբ9eB T8' e Њ ( X6 Y~}W~vҊ V W P@[[W3@2 @ } \j W Po  Po  P~Wk sz ~ PFXB a +' XY ɏeY~}W~ v iWX8 & X }W~nP-PPWT[VPPa iiQPPa1'   W6  PFXB T& X ɏeY~}W~4u h10 : ψ  dWW  PAX= { % X XǜkT  k  iPW`WkiPW`K  PFXB 6 <% Xj ɏeY~}W~t g1  Y WW   PFXBy~ $ X ɏeY~}W~sD| WMWoWjhPW`W|OhPW` s PFXB  $ XN ɏeY~}W~s  } H Wcs  PFXBsx ^ # Xތ ɏeY~}W~r>v  A  WRPǜPԠ\+  PFXB  0# X^ ɏeY~}W~r  X We  PFXB " X ɏeY~}W~qN ZeJX " Xוֹ V}W~PZ( ]LZLWP 11   WtWPP~ > PFXBﳄ e ! X ɏeY~}W~pyﱄ d7X@ ! X؊ V}W~.PZ ( $]L1(x -  ~W  PFXB  0! X^ ɏeY~}W~p  X WWWw  PAX=ot  Xډ XǜV?w  qdPW`WVdPW` z PFXB  q ' XU ɏeY~}W~o  bb W > 5W .  PFXB^ c   XɈ ɏeY~}W~{n) a  Wo | PFXB  ) XW ɏeY~}W~ n  a8X  X Fk}W~kPZ ( mZL1ea xa1 W  PFXB( - e X ɏeY~}W~Em + a _ WU A PFXB ﶀ @  X ɏeY~}W~l| ﴀ ~a~`1  |Q W~  PFXB %  ] X ɏeY~}W~=l #  pW$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1K0"W\ > PFXB   X ɏeY~}W~ky   Wᅬ  PFXB/ 4 l X ɏeY~}W~Lk 2 _]PL`1 8 sWh\ WP*  P*  P~W& Zfd & D# DH H PԠXРhPWc_ +W]RP Pџ ТR|Vk U TQ PSbRTePR ePReP RV{ $ S ɏeR~SݬgV{ <[UTЬR1,#´"eSeRdSeRRdТ RݬRТR [^Z[Y,^ЬPP jRjPRЬPPQQPi@Pi@QQbPi@`QQbPiNPXV. nFWbGեBХVЦTݬ TݤUYФTЦ T(ѤUݬ TݤUYФ TW+dXХT1ФPPРPPS6XP(b| `X+UTݬ RTUYФTWcKХQСPPРPPS4XP(b| `X+QUݬ UYGKSCT:D$VXP(b| `X+VUݬ R}U~YST‘uХT9k Z4j k rcYXZZY bXQYYX<QQ<QQ(|Z|XQ1x x QXY QZ(QY=gԾ ԾfԾ$k|$У(ТYУQТSЮ($Y(xRȮRRN7gԾ ԾfԾ$k XRQRgX<RXRЮYQЩYRQY fkԾ$- ZRSRfZk<RZRnYQЩYRQY$gԾԾ 9XZwXqXY Y((QRRgY<XYXЮUWХUXWU U$(q$ MACRO64011.AOU@~&[ASM.KITBUILD_20202F79_A]MACRO64.EXE;1֩"-SUUfYkbeѢ8eSbSբ ե:;< XRQRgX<UXUЮQRСQURQ ZRSRfZk<TZTnQRСQTRQ$ЬTPЬSQA`R SQCQa` U[/RZD YTX"W^VЬRPPT1ТS1@׋Pag W gNEg~ݏ jk hdg Yhk 8hnk gy1n1PPSy }  cZ ~ݏ jk% hf thjk ɬhj  k SX(0ch>RM}VRVSWRգKݢݢkPMâPP`RXf(0bhfRMWYVRVYWRթբբ$1ݢ,ݢPâ(QũPPQVâ ZVPYX~(0ihtЧPР(Pՠ^ݠyPZVQéQSZQRRVSQP SnQnOԨSԨQSP SQ(0ghPI \˔IOa IϾ ^<\~ݏ FP||URЬTR 5U20RPPSѤSTPVPPPPURVPPPPUUPXI[ZQPСSРRݢݣPݢݣPԼcWWUͬcPYP1YcUPj Z) jvmj#~ݏ EH˽ k[ t k `  k_ jHz o<#D~ݏ BE鷺 kkX  k\ ﺩ kn\ <^ER VԼ^ЬSMx Qмnм[nUTЬX RRUZRTYjPiVVPPQ1nP`!|~Ь PPݠݮGKPnnP`|~Ь PPݠ["KP[nUTRUZRTYЪWЩVУ R RPPWUPVTM_+@@@@ե*դ%գ edePPf1ե դգգ1ePPgdPPfedxRPPjAԮգ<֮գ4գ$/ݣ,ݣUPեդã(PdPƣ PPfd1Vգ$@Vգ 9ݣ,ݣP%ե դã(PePƣPPgexRPPjRRVOΣ PѣPEݣ,ݣP5ե0դ+edã(PePƣPPgexRPPjdxRPPin[^| 1ЬPЬQЬPѡ88ЬQЬPѡzI a PK PS<DTSU 4 SY ЬRݢ8dSvU 6) SY ݬ6}ZЪYЩdPЫXШdSЪ$QСQ<QQRR RRPPPPVxVWW(W}ZV(UURTZ[ bd ѩ Ѫ bddb}~ }Z~φPBЮSXSX Ϲ ݬݮ V}Z~ωX ZS~ϏܚVBSQ$AePbdS`SVQSb dIЪZЫY%%%ݬ<*~$PV(WfЪ V ЩV^լЬ TФ(Pՠ^ݠwPЬRPЬQQQQnRsPլeSЬQAcQPЬPPPPnP ЬPP PPaPSPSSPa~aRMTЬ ЬԢ^լЬRoЬPР(Pՠ^ݠvPլPЬQA`P +ݬP~(P*nPѬP PЬQA`P ݬPЬ P8N} ЬԠ|(| |Ь(Ԡ,}Ԡ Ԡ$8XЬVѦЬTTTT1RݢhPPPPPTլ%TSЬPPPzS~{PQQQPSQPPTS; SPBݞhPPPPPWTUWQzU~{QPPPQUPQQTSTP[Q Z^ЬPUЬTѤ 1eRSS7#6I\oݬ~ݬRH nݬ~ݬR[ݬ~ݬRHݬ~ݬR5ݬ~ݬR"Rݬݢ}~kP=PPSS1_|VЬЬ nR=BeP74""3WԠWPWSVԠVPVA~= Z$p=T _=S <<~ݏ 9FݬU~R 4ݬU~Rj"ݬU~RrݬU~R  U PXV1VPЦVPTYR!0RP@P^ݬˊYRO~Tݬݤݮݮk7####55oݬ|~T#WԤWTWXԤXTX1WXV1oR0RP@P ݬPSRǬPŬPQQ P PͬQ P P ^ЬPР РР$ Р(РVР(QaPՠ<ݠrPnnP`P` P` P`RbSc3PԮ$оTξSþ R(08STǮ0RQQPĮ0PPR1Ǯ0TRǮ0SUQPŮ,PTŮ(PS|Z|W4VP2PŊPУPPRRPPW QĄČQVХTPСXPQУPPQQPRĐĐRPRRPPTУPPXXPPW i Yg i1i#~ݏ *02 jE [jKJ 8jI ~jUTjE ljJ  E ;+B b (+B Т$P2Т(Pՠݠ-`PݬR&PRHU/UU0 U$PP'@'ݬRNPR<U PPP|Ԣ |Ъ|||`|xT|ԢݬR ^PRU=U U֮AUݢ )U U׮ݢ$U׮ݢ(ݢ`]U&QQU9 UTPТ8SJDУ,PРdPx(P1У,PРdP#QRP֣|@ գ|@\ bU8Yբ8T[Pݬ~ݢ8`P>861Р$SТ$Qѣܡ"ѠQPAi(@c(ݬA1ݬݮ TPU}$ТPРSPݬS`У4SU0U@'UF