\I\X107:Align the location pointer\X \U102. \I\X108:Allocate a global register\X \U102. \I\X130:Assemble XYZ as a future reference and \&{goto} \\{assemble\_inst}\X \U129. \I\X131:Assemble XYZ as a relative address and \&{goto} \\{assemble\_inst}\X \U129. \I\X125:Assemble YZ as a future reference and \&{goto} \\{assemble\_X}\X \U124. \I\X127:Assemble YZ as a memory address and \&{goto} \\{assemble\_X}\X \U124. \I\X126:Assemble YZ as a relative address and \&{goto} \\{assemble\_X}\X \U124. \I\X128:Assemble instructions to put supplementary data in \$255\X \U127. \I\X99, 101:Cases for binary operators\X \U98. \I\X100:Cases for unary operators\X \U98. \I\X80:Check and output the trie\X \U142. \I\X38:Check for a line directive\X \U34. \I\X106:Copy the operand field\X \U102. \I\X118:Deal with cases where \\{val\_stack}[\|j] is impure\X \U117. \I\X109:Define the label\X \U102. \I\X117:Do a many-operand operation\X \U116. \I\X129:Do a one-operand operation\X \U116. \I\X132:Do a pseudo-operation and \&{goto} \\{bypass}\X \U129. \I\X119:Do a three-operand operation\X \U116. \I\X124:Do a two-operand operation\X \U116. \I\X123:Do the X field\X \U119. \I\X122:Do the Y field\X \U119. \I\X121:Do the Z field\X \U119. \I\X116:Do the operation\X \U102. \I\X76:Encode the length of $\|t\MG\\{sym}\MG\\{equiv}$\X \U74. \I\X111:Find the symbol table node, \\{pp}\X \U109. \I\X142:Finish the assembly\X \U136. \I\X114:Fix a future reference from a relative address\X \U112. \I\X113:Fix a future reference from an octabyte\X \U112. \I\X112:Fix prior references to this label\X \U109. \I\X110:Fix references that might be in the \\{val\_stack}\X \U109. \I\X35:Flush the excess part of an overlong line\X \U34. \I\X34:Get the next line of input text, or \&{break} if the input has ended\X \U136. \I\X27, 33, 36, 37, 43, 46, 51, 56, 60, 63, 67, 69, 77, 83, 90, 105, 120, 133, 139, 143:Global variables\X \U136. \I\X29, 32, 61, 71, 84, 91, 140:Initialize everything\X \U136. \I\X40, 65:Local variables\X \U136. \I\X134:Make listing for \.{GREG}\X \U132. \I\X115:Make special listing to show the label equivalent\X \U109. \I\X53:Make sure \\{cur\_loc} and \\{mmo\_cur\_loc} refer to the same tetrabyte% \X \U52. \I\X138:Open the files\X \U140. \I\X144:Output the postamble\X \U142. \I\X141:Output the preamble\X \U140. \I\X98:Perform the top operation on \\{op\_stack}\X \U85. \I\X31, 39:Preprocessor definitions\X \U136. \I\X78:Print symbol \\{sym\_buf} and its equivalent\X \U75. \I\X137:Process the command line\X \U136. \I\X102:Process the next \MMIXAL\ instruction or comment\X \U136. \I\X70:Put other predefined symbols into the trie\X \U61. \I\X64:Put the \MMIX\ opcodes and \MMIXAL\ pseudo-ops into the trie\X \U61. \I\X66:Put the special register names into the trie\X \U61. \I\X79:Report an undefined symbol\X \U74. \I\X145:Report any undefined local symbols\X \U142. \I\X89:Scan a backward local\X \U86. \I\X97:Scan a binary operator or closing token, \\{rt\_op}\X \U85. \I\X92:Scan a character constant\X \U86. \I\X94:Scan a decimal constant\X \U86. \I\X88:Scan a forward local\X \U86. \I\X95:Scan a hexadecimal constant\X \U86. \I\X93:Scan a string constant\X \U86. \I\X87:Scan a symbol\X \U86. \I\X86:Scan opening tokens until putting something on \\{val\_stack}\X \U85. \I\X96:Scan the current location\X \U86. \I\X103:Scan the label field; \&{goto} \\{bypass} if there is none\X \U102. \I\X104:Scan the opcode field; \&{goto} \\{bypass} if there is none\X \U102. \I\X85:Scan the operand field\X \U102. \I\X28, 41, 42, 44, 45, 47, 48, 49, 50, 52, 55, 57, 59, 73, 74:Subroutines\X \U136. \I\X26, 30, 54, 58, 62, 68, 82:Type definitions\X \U136. \I\X75:Visit \|t and traverse $\|t\MG\\{mid}$\X \U74.