170 loadI 0 => r_nul // initialise zero register 171 loadI 176 => r_arp // malloc 172 push r_arp // malloc 173 loadI 20 => r_arp // malloc 174 push r_arp // malloc 175 jumpI -> memalloc // malloc 176 pop => r_arp // malloc 177 addI r_arp,16 => r_arp // construct main AR 178 loadI 183 => r_1 // malloc 179 push r_1 // malloc 180 loadI 8 => r_1 // malloc 181 push r_1 // malloc 182 jumpI -> memalloc // malloc 183 pop => r_1 // malloc 184 loadI 189 => r_2 // malloc 185 push r_2 // malloc 186 loadI 8 => r_2 // malloc 187 push r_2 // malloc 188 jumpI -> memalloc // malloc 189 pop => r_2 // malloc 190 loadI 1 => r_3 // 1 191 storeAI r_3 => r_2,0 // store array element 192 loadI 2 => r_3 // 2 193 storeAI r_3 => r_2,4 // store array element 194 storeAI r_2 => r_1,0 // store array element 195 loadI 200 => r_2 // malloc 196 push r_2 // malloc 197 loadI 8 => r_2 // malloc 198 push r_2 // malloc 199 jumpI -> memalloc // malloc 200 pop => r_2 // malloc 201 loadI 3 => r_3 // 3 202 storeAI r_3 => r_2,0 // store array element 203 loadI 4 => r_3 // 4 204 storeAI r_3 => r_2,4 // store array element 205 storeAI r_2 => r_1,4 // store array element 206 addI r_arp,0 => r_2 // add offset 207 load r_2 => r_3 // load reference 208 cmp_EQ r_3,r_nul => r_4 // remove old reference 209 cbr r_4 -> ynul0,nnul1 // remove old reference 210 nnul1: nop // remove old reference 211 loadI 215 => r_4 // free 212 push r_4 // free 213 push r_3 // free 214 jumpI -> memfree // free 215 ynul0: nop // remove old reference 216 store r_1 => r_2 // to matrix 217 load r_2 => r_3 // load reference 218 loadI 222 => r_5 // memaddref 219 push r_5 // memaddref 220 push r_3 // memaddref 221 jumpI -> memaddref // memaddref 222 cmp_EQ r_1,r_nul => r_3 // remove old reference 223 cbr r_3 -> ynul2,nnul3 // remove old reference 224 nnul3: nop // remove old reference 225 loadI 229 => r_3 // free 226 push r_3 // free 227 push r_1 // free 228 jumpI -> memfree // free 229 ynul2: nop // remove old reference 230 addI r_arp,0 => r_2 // add offset 231 load r_2 => r_2 // get array object 232 loadI 0 => r_3 // 0 233 loadAI r_2,-4 => r_1 // check array index 234 divI r_1,4 => r_1 // check array index 235 cmp_LT r_3,r_1 => r_1 // check array index 236 cmp_GE r_3,r_nul => r_4 // check array index 237 and r_1,r_4 => r_4 // check array index 238 cbr r_4 -> nob5,oob4 // check array index 239 oob4: haltI 1634692962 // array index out of bounds 240 nob5: multI r_3,4 => r_3 // multiply index by size 241 add r_2,r_3 => r_2 // get array index address 242 load r_2 => r_2 // get array object 243 loadI 1 => r_4 // 1 244 loadAI r_2,-4 => r_3 // check array index 245 divI r_3,4 => r_3 // check array index 246 cmp_LT r_4,r_3 => r_3 // check array index 247 cmp_GE r_4,r_nul => r_1 // check array index 248 and r_3,r_1 => r_1 // check array index 249 cbr r_1 -> nob7,oob6 // check array index 250 oob6: haltI 1634692962 // array index out of bounds 251 nob7: multI r_4,4 => r_4 // multiply index by size 252 add r_2,r_4 => r_2 // get array index address 253 load r_2 => r_2 // load address 254 out "",r_2 // 255 loadAI r_arp,0 => r_4 // remove reference get var 256 cmp_EQ r_4,r_nul => r_1 // remove reference 257 cbr r_1 -> ynul8,nnul9 // remove reference 258 nnul9: nop // remove reference 259 loadI 263 => r_1 // free 260 push r_1 // free 261 push r_4 // free 262 jumpI -> memfree // free 263 ynul8: nop // remove reference 264 subI r_arp,16 => r_arp // deconstruct main AR 265 loadI 269 => r_2 // free 266 push r_2 // free 267 push r_arp // free 268 jumpI -> memfree // free