alias recycler d0 alias arcfurnace d1 alias battery d2 alias silo d3 alias stacker d4 alias generator d5 alias recyclerState r15 alias recyclerImportQuantity r14 alias recyclerExportQuantity r13 alias generatorfeedstate r12 define GFEMPTY 1 define GFFED 2 define GFON 3 move generatorfeedstate GFEMPTY move recyclerState 0 start: ls recyclerImportQuantity recycler 0 Quantity sgtz r0 recyclerImportQuantity blez r0 nothingtorecycle move recyclerState 1 s recycler On r0 nothingtorecycle: ls recyclerExportQuantity recycler 1 Quantity sgtz r0 recyclerExportQuantity blez r0 nothingtoexportrecycle move recyclerState 1 nothingtoexportrecycle: add recyclerState recyclerState 1 ble recyclerState 20 recyclerOperating s recycler On 0 move recyclerState 0 recyclerOperating: l r0 arcfurnace ImportCount l r1 arcfurnace ExportCount sgt r0 r0 r1 s arcfurnace Activate r0 # l r0 generator PowerGeneration bgtz r0 generating # generator is active beq generatorfeedstate GFFED generatorfed l r0 battery Charge bgt r0 1000000 notlow s stacker Mode 1 ls r0 stacker 1 Quantity bgtz r0 afterstacker # if already exporting something, skip ls r1 stacker 2 Quantity blez r1 afterstacker # empty ? s stacker Output 1 move generatorfeedstate GFFED j afterstacker generatorfed: l r0 generator PowerGeneration blez r0 afterstacker generating: move generatorfeedstate GFEMPTY afterstacker: notlow: # stacker.0.quantity <=0 && silo.1.quantity <=0 ls r0 stacker 0 Quantity slez r0 r0 #stacker has something ls r1 silo 1 Quantity slez r1 r1 #silo has stuff in export slot and r0 r0 r1 s silo Open r0 aftersilo: yield j start |
MIPS is the programming language used by IC (integrated circuits) in the game Stationeers. Stationeering web site has a MIPS emulator with syntax highlighting and error detection.