/* Example code for if/elseif/else/endif Zeus supports conditional execution using if/else/endif, and elseif. Sometimes we want to have optional parts of a source... Maybe we want to have different graphics depending on the release. Forbidden Planet was released with Krell-style power meters, but only an assembly option away were trumpeting elephants. So, here is an example: */ WantElephants equ true ; Could also be a variable WantBIGOnes equ true ; Could also be a variable zeusprint "First case" if WantElephants call DrawElephants : zeusprint "Elephants" else call DrawKrell : zeusprint "Krell" endif zeusprint "" ; You can nest if statements, if you really want to confuse yourself. zeusprint "Second case" if WantElephants if WantBIGOnes call DrawBigElephants : zeusprint "Big Elephants" else call DrawSmallElephants : zeusprint "Small Elephants" endif else if WantBIGOnes call DrawBigKrell : zeusprint "Big Krell" else call DrawKrell : zeusprint "Krell" endif endif zeusprint "" ; Zeus also supports if/elseif/else/endif WantDogs equ true WantCats equ false WantFrogs equ false zeusprint "Third case" if WantDogs call DrawDogs : zeusprint "Dogs" elseif WantCats call DrawCats : zeusprint "Cats" elseif WantFrogs call DrawFrogs : zeusprint "Frogs" else zeusprint "No pets..." endif zeusprint "" ; Support bits. Note that these are also conditional, so you only have the code ; you actually need. if def WantElephants DrawElephants ret ; DrawSmallElephants ret ; DrawBigElephants ret ; else DrawKrell ret ; DrawBigKrell ret ; endif ; These could be but I'm tired ;) DrawRhinos ret ; DrawDogs ret ; DrawFrogs ret ; DrawCats ret ; ; Should demonstrate "DEF" here.