| Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check | 
|---|
| 1 | 0 |  | ; tape2/stack.t2 |  | 
| 2 | 0 |  | ;-------------------------------------------------------------------- |  | 
| 3 | 0 |  | ; enter block |  | 
| 4 | 0 |  | ; |  | 
| 5 | 0 |  | =6776+ |  |  | 
| 6 | 6776+ |  | EnterBlock: | ; |  |  | 
| 7 | 6776+ | 0600027 |  | lod | stkpt |  |  |  | ;stack pointer |  | 
| 8 | 6777 | 1000142400000 |  | exa | frmpt | / | sto | 0 | ;save at frame address | @6777 | 
| 9 | 6778 | 0040000 |  | o02 | 0 |  |  |  | ;=1 | @6778 | 
| 10 | 6778+ | 0760027 |  | o37 | stkpt |  |  |  | ;decrement stack ptr |  | 
| 11 | 6779 |  |  | call |  |  |  |  | ;set up entry points, if needed | @6779 | 
| 11+1 | 6779 | 7300041000011 |  | lnk | CheckStack.lnk | : | jmp | CheckStack.ent |  |  | 
| 12 | 6780 | 1015212 |  | jmp | CkoRet |  |  |  | ;check for oflo, then return | @6780 | 
| 13 | 6780+ |  | ; |  | 
| 14 | 6780+ | 0000017 |  | o00 | +15 |  |  |  | ;in-line constant??? not referenced |  | 
| 15 | 6781 |  | ; |  | 
| 16 | 6781 | 1000000 | L6781: | jmp | Return |  |  |  | ;no refs, apart from ssymtab??? | @6781 | 
| 17 | 6781+ |  | ;-------------------------------------------------------------------- |  | 
| 18 | 6781+ |  | ; leave block |  | 
| 19 | 6781+ |  | ; |  | 
| 20 | 6781+ |  | LeaveBlock: | ; |  |  | 
| 21 | 6781+ | 0600030 |  | lod | frmpt |  |  |  | ; |  | 
| 22 | 6782 | 2000136600000 |  | sto | stkpt | / | lod | 0 | ; | @6782 | 
| 23 | 6783 | 0400030 |  | sto | frmpt |  |  |  | ; | @6783 | 
| 24 | 6783+ | 1015212 |  | jmp | CkoRet |  |  |  | ; |  | 
| 25 | 6784 |  | ;-------------------------------------------------------------------- |  | 
| 26 | 6784 |  | ;  copy array parameter called by value |  | 
| 27 | 6784 |  | ; |  | 
| 28 | 6784 |  | CopyVArray: | ; |  |  | 
| 29 | 6784 | 2000066577777 |  | sto | Link1 | / | lod | -1 | ; | @6784 | 
| 30 | 6785 | 2000072600000 |  | sto | arg1 | / | lod | 0 | ; | @6785 | 
| 31 | 6786 | 1220024 |  | srl | 20 |  |  |  | ;number of words involved | @6786 | 
| 32 | 6786+ | 0435121 |  | stn | W6737 |  |  |  | ;store (negated) |  | 
| 33 | 6787 | 0455121 |  | inc | W6737 |  |  |  | ;add one for loop | @6787 | 
| 34 | 6787+ | 0160027 |  | bus | stkpt |  |  |  | ;make space on stack |  | 
| 35 | 6788 | 0400027 |  | sto | stkpt |  |  |  | ;store updated stack pointer | @6788 | 
| 36 | 6788+ | 0415122 |  | sto | W6738 |  |  |  | ;and work pointer for copy |  | 
| 37 | 6789 |  |  | call |  |  |  |  | ;make sure there's room | @6789 | 
| 37+1 | 6789 | 7300041000011 |  | lnk | CheckStack.lnk | : | jmp | CheckStack.ent |  |  | 
| 38 | 6790 |  | cva1: | ; |  |  | 
| 39 | 6790 | 2200066577776 |  | inc | Link1 | / | lod | -2 | ;fetch word | @6790 | 
| 40 | 6791 | 2264512400000 |  | inc | W6738 | / | sto | 0 | ;and store it | @6791 | 
| 41 | 6792 | 0655121 |  | lis | W6737 |  |  |  | ;bump counter | @6792 | 
| 42 | 6792+ | 1035206 |  | jn | cva1 |  |  |  | ;loop back until done |  | 
| 43 | 6793 | 0600027 |  | lod | stkpt |  |  |  | ;base address | @6793 | 
| 44 | 6793+ | 0115141 |  | add | W6753 |  |  |  | ;=2 for array pointer |  | 
| 45 | 6794 |  | CkoRet: | ; |  |  | 
| 46 | 6794 | 1060013 |  | jo | IntOflo |  |  |  | ;check for overflows | @6794 | 
| 47 | 6794+ | 1000024 |  | jmp | return |  |  |  | ;and return |  | 
| 48 | 6795 |  | ;-------------------------------------------------------------------- |  | 
| 49 | 6795 |  | ; allocate array, parameters in-line |  | 
| 50 | 6795 |  | ; |  | 
| 51 | 6795 |  | AllocArray:: | ; |  |  | 
| 52 | 6795 |  | AllocArray: | ; |  |  | 
| 53 | 6795 | 2200006600000 |  | inc | T2Link | / | lod | 0 | ; | @6795 | 
| 54 | 6796 | 0400015 |  | sto | Link1 |  |  |  | ; | @6796 | 
| 55 | 6796+ | 0075137 |  | and | W6751 |  |  |  | ;=8191 |  | 
| 56 | 6797 | 0200015 |  | exa | Link1 |  |  |  | ;array address | @6797 | 
| 57 | 6797+ | 1220015 |  | srl | 13 |  |  |  | ;shift right to get number of subs |  | 
| 58 | 6798 | 0400016 |  | sto | arg1 |  |  |  | ;save, temp | @6798 | 
| 59 | 6798+ | 0075140 |  | and | W6752 |  |  |  | ;=077, mask off number |  | 
| 60 | 6799 | 0435120 |  | stn | W6736 |  |  |  | ;save it, (negated) | @6799 | 
| 61 | 6799+ | 0560027 |  | o27 | stkpt |  |  |  | ;make space on stack for BL |  | 
| 62 | 6800 | 2700136400000 |  | o27 | stkpt | / | sto | 0 | ;and store number | @6800 | 
| 63 | 6801 | 0455120 |  | inc | W6736 |  |  |  | ;bump count | @6801 | 
| 64 | 6801+ | 0600016 |  | lod | arg1 |  |  |  | ;get saved bit |  | 
| 65 | 6802 | 1220007 |  | srl | 7 |  |  |  | ;get N1 part of word | @6802 | 
| 66 | 6802+ | 0420016 |  | stn | arg1 |  |  |  | ;save, (negated) |  | 
| 67 | 6803 | 0600027 |  | lod | stkpt |  |  |  | ;get stack pointer | @6803 | 
| 68 | 6803+ | 0415121 |  | sto | W6737 |  |  |  | ;save it |  | 
| 69 | 6804 | 0040000 |  | o02 | 0 |  |  |  | ;=1 | @6804 | 
| 70 | 6804+ | 0415122 |  | sto | W6738 |  |  |  | ; |  | 
| 71 | 6805 |  | ;L6805: |  | 
| 72 | 6805 |  | .aa1: | ; |  |  | 
| 73 | 6805 | 2200006600000 |  | inc | T2Link | / | lod | 0 | ;get bound item | @6805 | 
| 74 | 6806 | 0415123 |  | sto | W6739 |  |  |  | ; | @6806 | 
| 75 | 6806+ | 0415126 |  | sto | W6742 |  |  |  | ; |  | 
| 76 | 6807 | 1200024 |  | sra | 20 |  |  |  | ;get lower bound | @6807 | 
| 77 | 6807+ | 0415124 |  | sto | W6740 |  |  |  | ;save it |  | 
| 78 | 6808 | 1115265 |  | jmp | .aa2 |  |  |  | ;jump out to patch | @6808 | 
| 79 | 6808+ |  | ; displaced code: |  | 
| 80 | 6808+ |  | =6837+ |  |  | 
| 81 | 6837+ |  | .aa2: | ; |  |  | 
| 82 | 6837+ | 1360000 |  | ara | 0 |  |  |  | ;get upper bound back |  | 
| 83 | 6838 | 1320002 |  | sll | 2 |  |  |  | ; adjust scale? |  | 
| 84 | 6838+ | 1115230 |  | jmp | .aa3 |  |  |  |  |  | 
| 85 | 6839 |  | ;L6808P: |  | 
| 86 | 6839 |  | =6808+ |  |  | 
| 87 | 6808+ |  | .aa3: | ; |  |  | 
| 88 | 6808+ | 0415125 |  | sto | W6741 |  |  |  | ; |  | 
| 89 | 6809 | 0615137 |  | lod | W6751 |  |  |  | ;=+8191 | @6809 | 
| 90 | 6809+ | 0475123 |  | ans | W6739 |  |  |  | ;clean up upper bound |  | 
| 91 | 6810 | 0475124 |  | ans | W6740 |  |  |  | ;clean up lower bound | @6810 | 
| 92 | 6810+ | 0615126 |  | lod | W6742 |  |  |  | ;original bound item |  | 
| 93 | 6811 | 1035260 |  | jn | .aa10 |  |  |  | ; | @6811 | 
| 94 | 6811+ | 1320001 |  | sll | 1 |  |  |  | ; |  | 
| 95 | 6812 | 1035262 |  | jn | .aa11 |  |  |  | ; | @6812 | 
| 96 | 6812+ |  | .aa4: | ; |  |  | 
| 97 | 6812+ |  | ;L6812P: |  | 
| 98 | 6812+ | 0615124 |  | lod | W6740 |  |  |  | ;lower bound |  | 
| 99 | 6813 |  | .aa5: | ; |  |  | 
| 100 | 6813 |  | ;L6813: |  | 
| 101 | 6813 | 2264506400000 |  | inc | W6737 | / | sto | 0 | ;store in bound list | @6813 | 
| 102 | 6814 | 0615125 |  | lod | W6741 |  |  |  | ; | @6814 | 
| 103 | 6814+ | 1035263 |  | jn | .aa12 |  |  |  | ; |  | 
| 104 | 6815 | 1320001 |  | sll | 1 |  |  |  | ; | @6815 | 
| 105 | 6815+ | 1135264 |  | jn | .aa13 |  |  |  | ; |  | 
| 106 | 6816 |  | .aa6: | ; |  |  | 
| 107 | 6816 |  | ;L6816: |  | 
| 108 | 6816 | 0055123 |  | o02 | W6739 |  |  |  | ;upper bound + 1 | @6816 | 
| 109 | 6816+ |  | .aa7: | ; |  |  | 
| 110 | 6816+ |  | ;L6816P: |  | 
| 111 | 6816+ | 0135124 |  | sub | W6740 |  |  |  | ;less lower bound == stride |  | 
| 112 | 6817 | 2264506400000 |  | inc | W6737 | / | sto | 0 | ;store in bound list | @6817 | 
| 113 | 6818 | 1120011 |  | jn | SubOflo |  |  |  | ;mustn't be < 0 | @6818 | 
| 114 | 6818+ | 1255122 |  | mul | W6738 |  |  |  | ;calculate space requirement |  | 
| 115 | 6819 | 1360000 |  | ara | 0 |  |  |  | ; | @6819 | 
| 116 | 6819+ | 0415122 |  | sto | W6738 |  |  |  | ;and store |  | 
| 117 | 6820 | 0655120 |  | lis | W6736 |  |  |  | ;more subscripts? | @6820 | 
| 118 | 6820+ | 1035225 |  | jn | .aa1 |  |  |  | ;yes, loop back |  | 
| 119 | 6821 |  | ; |  | 
| 120 | 6821 | 0055122 |  | o02 | W6738 |  |  |  | ;total size requirement+1 | @6821 | 
| 121 | 6821+ | 1320024 |  | sll | 20 |  |  |  | ;move to N1 position |  | 
| 122 | 6822 | 0000136500000 |  | o00 | stkpt | / | ads | 0 | ;store in stack | @6822 | 
| 123 | 6823 | 0640027 |  | lis | stkpt |  |  |  | ;bump stack | @6823 | 
| 124 | 6823+ | 0415121 |  | sto | W6737 |  |  |  | ;save pointer |  | 
| 125 | 6824 |  | .aa8: | ; |  |  | 
| 126 | 6824 |  | ;L6824: |  | 
| 127 | 6824 | 0055122 |  | o02 | W6738 |  |  |  | ;size required+1 | @6824 | 
| 128 | 6824+ | 0160027 |  | bus | stkpt |  |  |  | ;subtract from stack ptr |  | 
| 129 | 6825 | 2200066377777 |  | inc | Link1 | / | sto | -1 | ;store info variable | @6825 | 
| 130 | 6826 | 0400027 |  | sto | stkpt |  |  |  | ;store updated stack pointer | @6826 | 
| 131 | 6826+ | 0120031 |  | sub | lomem |  |  |  | ;lower limit of used memory |  | 
| 132 | 6827 | 1034671 |  | jn | L6585 |  |  |  | ;out of space, try deleting compiler | @6827 | 
| 133 | 6827+ |  | .aa9: | ; |  |  | 
| 134 | 6827+ |  | ;L6827P: |  | 
| 135 | 6827+ | 0615121 |  | lod | W6737 |  |  |  | ; |  | 
| 136 | 6828 | 0000136377777 |  | o00 | stkpt | / | sto | -1 | ; | @6828 | 
| 137 | 6829 | 0040016 |  | o02 | arg1 |  |  |  | ; | @6829 | 
| 138 | 6829+ | 0400016 |  | sto | arg1 |  |  |  | ; |  | 
| 139 | 6830 | 1035250 |  | jn | .aa8 |  |  |  | ; | @6830 | 
| 140 | 6830+ | 0615141 |  | lod | W6753 |  |  |  | ; |  | 
| 141 | 6831 | 0560027 |  | o27 | stkpt |  |  |  | ; | @6831 | 
| 142 | 6831+ | 1000000 |  | jmp | Return |  |  |  | ; |  | 
| 143 | 6832 |  | ; |  | 
| 144 | 6832 |  | .aa10: | ; |  |  | 
| 145 | 6832 |  | ;L6832: |  | 
| 146 | 6832 | 0064522600000 |  | o00 | W6740 | / | lod | 0 | ; | @6832 | 
| 147 | 6833 | 0415124 |  | sto | W6740 |  |  |  | ; | @6833 | 
| 148 | 6833+ | 1015235 |  | jmp | .aa5 |  |  |  | ; |  | 
| 149 | 6834 |  | ; |  | 
| 150 | 6834 |  | .aa11: | ; |  |  | 
| 151 | 6834 |  | ;L6834: |  | 
| 152 | 6834 | 0635124 |  | lcs | W6740 |  |  |  | ; | @6834 | 
| 153 | 6834+ | 1115234 |  | jmp | .aa4 |  |  |  | ; |  | 
| 154 | 6835 |  | ; |  | 
| 155 | 6835 |  | .aa12: | ; |  |  | 
| 156 | 6835 |  | ;L6835: |  | 
| 157 | 6835 | 0064516040000 |  | o00 | W6739 | / | o02 | 0 | ; | @6835 | 
| 158 | 6836 | 1115240 |  | jmp | .aa7 |  |  |  | ; | @6836 | 
| 159 | 6836+ |  | ; |  | 
| 160 | 6836+ |  | .aa13: | ; |  |  | 
| 161 | 6836+ |  | ;L6836P: |  | 
| 162 | 6836+ | 0635123 |  | lcs | W6739 |  |  |  | ; |  | 
| 163 | 6837 | 1015240 |  | jmp | .aa6 |  |  |  | ; | @6837 | 
| 164 | 6837+ |  | ; |  | 
| 165 | 6837+ |  | =6839 |  |  | 
| 166 | 6839 |  | .aa14: | ; |  |  | 
| 167 | 6839 |  | ;L6839: |  | 
| 168 | 6839 |  |  | call |  |  |  |  | ; | @6839 | 
| 168+1 | 6839 | 7300041000013 |  | lnk | CheckStacka.lnk | : | jmp | CheckStacka.ent |  |  | 
| 169 | 6840 | 1115253 |  | jmp | .aa9 |  |  |  | ; | @6840 | 
| 170 | 6840+ |  | ; |  | 
| 171 | 6840+ | 0000000 |  | o00 | 0 |  |  |  | ; |  | 
| 172 | 6841 |  | ;-------------------------------------------------------------------- |  | 
| 173 | 6841 |  | AllocArray.aa15: | ; |  |  | 
| 174 | 6841 |  | ;L6841: |  | 
| 175 | 6841 | 1015240 |  | jmp | .aa6 |  |  |  | ; | @6841 | 
| 176 | 6841+ |  | ;-------------------------------------------------------------------- |  | 
| 177 | 6841+ |  | ; unwind stack after call-by-name proc has finished |  | 
| 178 | 6841+ |  | ; |  | 
| 179 | 6841+ |  | Unwind:: | ; |  |  | 
| 180 | 6841+ |  | Unwind: | ; |  |  | 
| 181 | 6841+ | 0400015 |  | sto | Link1 |  |  |  | ;save return value (if any) |  | 
| 182 | 6842 | 0064536600000 |  | o00 | DLink | / | lod | 0 | ; | @6842 | 
| 183 | 6843 | 2000072600000 |  | sto | arg1 | / | lod | 0 | ;get return address from stk | @6843 | 
| 184 | 6844 | 0400001 |  | sto | T2Link |  |  |  | ;store for return | @6844 | 
| 185 | 6844+ | 0615127 |  | lod | DLink |  |  |  | ;is sign bit set? |  | 
| 186 | 6845 | 1135301 |  | jn | .2 |  |  |  | ;yes, -> | @6845 | 
| 187 | 6845+ | 0615143 |  | lod | MaskN1N2 |  |  |  | ;=<00 8191:00 8191> |  | 
| 188 | 6846 | 0064536460000 |  | o00 | DLink | / | ans | 0 | ;clean up | @6846 | 
| 189 | 6847 |  | .1: | ; |  |  | 
| 190 | 6847 | 2200136600000 |  | inc | stkpt | / | lod | 0 | ;unstack old link | @6847 | 
| 191 | 6848 | 0415127 |  | sto | DLink |  |  |  | ;store dynamic link | @6848 | 
| 192 | 6848+ | 0600015 |  | lod | Link1 |  |  |  | ;reload possible result |  | 
| 193 | 6849 | 1015212 |  | jmp | CkoRet |  |  |  | ;and return | @6849 | 
| 194 | 6849+ |  | ; |  | 
| 195 | 6849+ |  | .2: | ; |  |  | 
| 196 | 6849+ | 0600016 |  | lod | arg1 |  |  |  | ; |  | 
| 197 | 6850 |  |  | calln | , |  |  |  | ;UnstkData.2 | @6850 | 
| 197+1 | 6850 | 7364531115337 |  | lnk | W6742 | : | jmp | StackData.2 |  |  | 
| 198 | 6851 | 1015277 |  | jmp | .1 |  |  |  | ; | @6851 | 
| 199 | 6851+ |  | ; |  | 
| 200 | 6851+ | 0000000 |  | o00 | 0 |  |  |  | ; |  | 
| 201 | 6852 |  | ; |  | 
| 202 | 6852 |  | .3: | ; |  |  | 
| 203 | 6852 | 1015277 |  | jmp | .1 |  |  |  | ; | @6852 | 
| 204 | 6852+ |  | ;-------------------------------------------------------------------- |  | 
| 205 | 6852+ |  | ; prepare for call to proc with call-by-name args |  | 
| 206 | 6852+ |  | ; on entry: acc contains calling procs return address |  | 
| 207 | 6852+ |  | ; |  | 
| 208 | 6852+ |  | Setup:: | ; |  |  | 
| 209 | 6852+ |  | Setup: | ; |  |  | 
| 210 | 6852+ | 0215127 |  | exa | DLink |  |  |  | ; | @6852+ | 
| 211 | 6853 | 0000136400000 |  | o00 | stkpt | / | sto | 0 | ; | @6853 | 
| 212 | 6854 | 0040000 |  | o02 | 0 |  |  |  | ; | @6854 | 
| 213 | 6854+ | 0760027 |  | o37 | stkpt |  |  |  | ; |  | 
| 214 | 6855 |  |  | call |  |  |  |  | ; | @6855 | 
| 214+1 | 6855 | 7300041000011 |  | lnk | CheckStack.lnk | : | jmp | CheckStack.ent |  |  | 
| 215 | 6856 | 0064536600000 |  | o00 | DLink | / | lod | 0 | ; | @6856 | 
| 216 | 6857 | 1035314 |  | jn | .1 |  |  |  | ;is bit already set? yes-> | @6857 | 
| 217 | 6857+ | 0115142 |  | add | TopBit |  |  |  | ;sign bit |  | 
| 218 | 6858 | 0064536400000 |  | o00 | DLink | / | sto | 0 | ;turn bit on in stack | @6858 | 
| 219 | 6859 | 1015212 |  | jmp | CkoRet |  |  |  | ; | @6859 | 
| 220 | 6859+ |  | ; |  | 
| 221 | 6859+ | 0000000 |  | o00 | 0 |  |  |  | ; |  | 
| 222 | 6860 |  | ; |  | 
| 223 | 6860 |  | .1: | ; |  |  | 
| 224 | 6860 |  |  | calln | , |  |  |  | ; | @6860 | 
| 224+1 | 6860 | 7364531015325 |  | lnk | W6742 | : | jmp | StackData.0 |  |  | 
| 225 | 6861 | 0615142 |  | lod | TopBit |  |  |  | ;sign bit | @6861 | 
| 226 | 6861+ | 0515127 |  | ads | DLink |  |  |  | ; |  | 
| 227 | 6862 | 1015212 |  | jmp | CkoRet |  |  |  | ; | @6862 | 
| 228 | 6862+ |  | ; |  | 
| 229 | 6862+ | 0000000 |  | o00 | 0 |  |  |  | ; |  | 
| 230 | 6863 |  | ;-------------------------------------------------------------------- |  | 
| 231 | 6863 |  | ; return number of words of free store left |  | 
| 232 | 6863 |  | ;  if less than minimum return 1, we'll catch attempts to |  | 
| 233 | 6863 |  | ;   allocate space anyway! |  | 
| 234 | 6863 |  | ; |  | 
| 235 | 6863 |  | StoreMax:: | ; |  |  | 
| 236 | 6863 |  | StoreMax: | ; |  |  | 
| 237 | 6863 | 0600027 |  | lod | stkpt |  |  |  | ; | @6863 | 
| 238 | 6863+ | 0116217 |  | add | N76 |  |  |  | ;=-76 reserved space at bottom |  | 
| 239 | 6864 | 1135321 |  | jn | .1 |  |  |  | ; | @6864 | 
| 240 | 6864+ | 1155321 |  | jz | .1 |  |  |  | ; |  | 
| 241 | 6865 | 1000052 |  | jmp | retlnk1 |  |  |  | ; return amount left | @6865 | 
| 242 | 6865+ |  | ; |  | 
| 243 | 6865+ |  | .1: | ; |  |  | 
| 244 | 6865+ | 0040000 |  | o02 | 0 |  |  |  | ;=1 not true, but it'll do |  | 
| 245 | 6866 | 1000052 |  | jmp | retlnk1 |  |  |  | ;return 1 | @6866 | 
| 246 | 6866+ |  | ; |  | 
| 247 | 6866+ | 0000000 |  | o00 | 0 |  |  |  | ; |  | 
| 248 | 6867 |  | ;-------------------------------------------------------------------- |  | 
| 249 | 6867 |  | L6867: | ; |  |  | 
| 250 | 6867 | 1000000 |  | jmp | Return |  |  |  | ;only referred to by symtab | @6867 | 
| 251 | 6867+ |  | ;-------------------------------------------------------------------- |  | 
| 252 | 6867+ |  | ; stack routine - copy data to stack |  | 
| 253 | 6867+ |  | ; used by print/read/recursive proc call |  | 
| 254 | 6867+ |  | ; acc contains 00 n : 00 p |  | 
| 255 | 6867+ |  | ; where n = number of words tp save, p = address of words |  | 
| 256 | 6867+ |  | ; |  | 
| 257 | 6867+ |  | StackData:: | ; |  |  | 
| 258 | 6867+ |  | .lnk= ëÿ¿P/@hëÿ¿hX@Ø ôÿ¿ÿW6742 | ; |  |  | 
| 259 | 6867+ |  | ; |  | 
| 260 | 6867+ |  | StackData: | ; |  |  | 
| 261 | 6867+ | 0200001 |  | exa | T2Link |  |  |  | ;hide argument |  | 
| 262 | 6868 | 0415126 |  | sto | .lnk |  |  |  | ;save return address | @6868 | 
| 263 | 6868+ | 0200001 |  | exa | T2Link |  |  |  | ;reload argument |  | 
| 264 | 6869 |  | .0: | ; |  |  | 
| 265 | 6869 |  | ;L6869: |  | 
| 266 | 6869 | 0075143 |  | and | MaskN1N2 |  |  |  | ;=<008191:008191> | @6869 | 
| 267 | 6869+ | 0415125 |  | sto | W6741 |  |  |  | ;address (p) |  | 
| 268 | 6870 | 1220024 |  | srl | 20 |  |  |  | ;get n | @6870 | 
| 269 | 6870+ | 0435124 |  | stn | W6740 |  |  |  | ;-length |  | 
| 270 | 6871 | 0455124 |  | inc | W6740 |  |  |  | ;+1 | @6871 | 
| 271 | 6871+ | 0160027 |  | bus | stkpt |  |  |  | ;stkpt-n |  | 
| 272 | 6872 | 0400027 |  | sto | stkpt |  |  |  | ;stkpt := stkpt - n | @6872 | 
| 273 | 6872+ | 0415123 |  | sto | W6739 |  |  |  | ;workptr |  | 
| 274 | 6873 |  |  | call |  |  |  |  | ;make sure there's room | @6873 | 
| 274+1 | 6873 | 7300041000011 |  | lnk | CheckStack.lnk | : | jmp | CheckStack.ent |  |  | 
| 275 | 6874 |  | .1: | ; |  |  | 
| 276 | 6874 | 2264526577777 |  | inc | W6741 | / | lod | -1 | ;get source word | @6874 | 
| 277 | 6875 | 2264516400000 |  | inc | W6739 | / | sto | 0 | ;store on stack | @6875 | 
| 278 | 6876 | 0655124 |  | lis | W6740 |  |  |  | ;count | @6876 | 
| 279 | 6876+ | 1035332 |  | jn | .1 |  |  |  | ;repeat if more |  | 
| 280 | 6877 |  | .ret: | ; |  |  | 
| 281 | 6877 |  |  | ret |  |  |  |  | ; | @6877 | 
| 281+1 | 6877 | 0064533000001 |  | o00 | StackData.lnk | / | jmp | 1 |  |  | 
| 282 | 6878 |  | ;-------------------------------------------------------------------- |  | 
| 283 | 6878 |  | ; unstack data, used at end of print/read, and after proc calls |  | 
| 284 | 6878 |  | ; restore items saved by above, param in acc in same format as above |  | 
| 285 | 6878 |  | ; |  | 
| 286 | 6878 |  | UnstkData: | ; |  |  | 
| 287 | 6878 | 0200001 |  | exa | T2Link |  |  |  | ;hide arg | @6878 | 
| 288 | 6878+ | 0415126 |  | sto | .lnk |  |  |  | ;save return address |  | 
| 289 | 6879 | 0200001 |  | exa | T2Link |  |  |  | ; | @6879 | 
| 290 | 6879+ |  | .2: | ; |  |  | 
| 291 | 6879+ |  | ;L6879P: |  | 
| 292 | 6879+ | 0075143 |  | and | MaskN1N2 |  |  |  | ;=<00 8191:00 8191> |  | 
| 293 | 6880 | 0415125 |  | sto | W6741 |  |  |  | ;address (p) | @6880 | 
| 294 | 6880+ | 1220024 |  | srl | 20 |  |  |  | ;get n |  | 
| 295 | 6881 | 0435124 |  | stn | W6740 |  |  |  | ;store as count | @6881 | 
| 296 | 6881+ | 0455124 |  | inc | W6740 |  |  |  | ;increment |  | 
| 297 | 6882 |  | .3: | ; |  |  | 
| 298 | 6882 | 2200136600000 |  | inc | stkpt | / | lod | 0 | ;unstack word | @6882 | 
| 299 | 6883 | 2264526377777 |  | inc | W6741 | / | sto | -1 | ;store back in place | @6883 | 
| 300 | 6884 | 0655124 |  | lis | W6740 |  |  |  | ;count | @6884 | 
| 301 | 6884+ | 1035342 |  | jn | .3 |  |  |  | ;repeat if more |  | 
| 302 | 6885 | 0600015 |  | lod | Link1 |  |  |  | ;return value (proc exits) | @6885 | 
| 303 | 6885+ | 1015335 |  | jmp | StackData.ret |  |  |  | ;and return |  | 
| 304 | 6886 |  | ;-------------------------------------------------------------------- |  |