include "hdr1.html"; ?>
| 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 | ;-------------------------------------------------------------------- | ||||||||