alias tank d0 alias sensorhot d1 alias sensorfuel d2 alias pump d3 alias a r15 alias b r14 alias c r13 alias k r12 alias missingmoles r11 alias molesn2o r10 alias molesvol r9 alias minmoles r8 alias totalmoles r7 alias temperature r6 alias volume r5 define R 8.3144 define TARGETPRESSURE 10000 start: yield move molesn2o 0 move molesvol 0 move totalmoles 0 move volume 0 alias sensor d0 jal addgas alias sensor d1 jal addgas mul a 1144 R mul r0 totalmoles R mul b 572 r0 mul r0 totalmoles temperature mul r1 r0 R # r1 = nRT mul r2 TARGETPRESSURE volume # r2 = PV sub r3 r1 r2 #(nRT-PV) mul r0 r3 0.048 add b b r0 mul r0 r3 0.024 mul c r0 totalmoles # k= (sqrt(bb-4ac)-b)/(2a) mul r0 b b mul r1 4 a mul r1 r1 c sub r0 r0 r1 sqrt r0 r0 #s db Setting r0 sub r0 r0 b mul r1 2 a div k r0 r1 #s db Setting k sub r1 k molesvol l r0 sensorfuel RatioVolatiles div r1 r1 r0 sub r2 k molesn2o l r0 sensorfuel RatioNitrousOxide div r2 r2 r0 max missingmoles r1 r2 #s db Setting missingmoles #s db Setting r0 mul r0 missingmoles R l r1 sensorfuel Temperature mul r0 r0 r1 l r1 sensorfuel Pressure div r0 r0 r1 s db Setting r0 sgtz r1 r0 # r0 = volume of fuel to add #max r0 1 r0 s pump Setting r0 #s pump On r1 j start ######## addgas: bdns sensor ra # updates totalmoles, volume, molesn2o, molesvol, temperature l temperature sensor Temperature l r0 sensor TotalMoles add totalmoles totalmoles r0 mul r2 r0 R mul r2 r2 temperature l r1 sensor Pressure div r2 r2 r1 select r2 r1 r2 100 add volume volume r2 blez r1 ra l r1 sensor RatioNitrousOxide mul r2 r0 r1 add molesn2o molesn2o r2 l r1 sensor RatioVolatiles mul r2 r0 r1 add molesvol molesvol r2 j ra |
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.