alias outpipe d0 alias inpipe d1 alias pump d2 alias chamber d3 define CHAMBERVOLUME 16000 define MAXPRESSURE 5000 alias liquidfrac r15 alias pressure r14 start: yield s db Setting -1 l pressure chamber Pressure bgt pressure MAXPRESSURE overpressure l r0 outpipe Volume l r1 outpipe VolumeOfLiquid div liquidfrac r1 r0 bgt liquidfrac 0.001 overliquid # low pressure alias moles r0 jal calcChamberMoles #s db Setting moles l r1 outpipe TotalMoles #sub r0 moles r1 #s db Setting r0 # V=nRT/P mul r0 r0 8.3145 l r1 inpipe Temperature mul r0 r0 r1 l r1 inpipe Pressure div r0 r0 r1 s db Setting r0 sge r1 r0 20 s pump On r1 beqz r1 start sub r0 r0 2 # kludge s pump Mode 0 s pump Setting r0 sgtz r0 r0 s pump On r0 j start overliquid: s pump Mode 1 s pump Setting 100 j start overpressure: div r0 pressure MAXPRESSURE sub r0 r0 1 mul r0 r0 CHAMBERVOLUME sub r0 r0 5 # kludge s pump Mode 1 s pump Setting r0 sgtz r0 r0 s pump On r0 j start calcChamberMoles: # dn = dP V / (R T) sub r0 MAXPRESSURE pressure #s db Setting pressure l r1 outpipe Volume add r1 r1 CHAMBERVOLUME mul r0 r0 r1 div r0 r0 8.3145 l r1 chamber Temperature div moles r0 r1 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.