All SX chips
 SX48/52 only



 ASM ASM Instruction(s) ... ENDASM
 BRANCH BRANCH Offset, Label0 {, Label1, Label2, ...}
 CLEART1 Obsolete - replaced with TIMER1 CLEAR
 CLEART2 Obsolete - replaced with TIMER2 CLEAR
 CMOS CMOS Pin {, Enable}
 COMPARE COMPARE Mode, Result
 COUNT COUNT Pin, Duration, Variable
 DATA DATA Const0 {, Const1, Const2, ...}
 DEC DEC Variable
 DJNZ DJNZ Variable, Label
 DO ... LOOP DO {WHILE | UNTIL Condition } ... LOOP {UNTIL | WHILE Condition }
 END END
 EXIT {IF Condition THEN} EXIT
 FOR ... NEXT FOR ByteVar = StartVal TO EndVal {STEP {-}StepVal} ... NEXT
 FREQOUT FREQOUT Pin, Duration, Freq
 GET GET Location, ByteVar {, ByteVar, ...}
 GOSUB ... RETURN GOSUB Label ... RETURN { Value }
 GOTO GOTO Label
 HIGH HIGH Pin
 I2CRECV I2CRECV Pin, ByteVar, AckBit
 I2CSEND I2CSEND Pin, ByteVal {, AckVar}
 I2CSTART I2CSTART Pin
 I2CSTOP I2CSTOP Pin
 IF ... THEN IF Condition [THEN | GOTO] [Label | EXIT]
 IF ... THEN ... ELSE IF Condition THEN Statement(s) { ELSE Statement(s) } ENDIF
 INC INC Variable
 INPUT INPUT Pin
 INTERRUPT INTERRUPT Instruction(s) ... RETURNINT {Cycles}
 LET {LET} Expression
 LOOKDOWN LOOKDOWN Target, Value0, {Value1, Value2, ...} Variable
 LOOKUP LOOKUP Index, Value0, {Value1, Value2, ...} Variable
 LOW LOW Pin
 ON ON Expression [GOTO | GOSUB] Label0 {, Label1, Label2}
 OUTPUT OUTPUT Pin
 OWRDBIT OWRDBIT Pin, BitVar
 OWRDBYTE OWRDBYTE Pin, ByteVar
 OWRESET OWRESET Pin {, ByteVar}
 OWWRBIT OWWRBIT Pin, BitVal
 OWWRBYTE OWWRBYTE Pin, ByteVal
 PAUSE PAUSE Value1 {[, | *] Value2}
 PAUSEUS PAUSEUS Value1 {[, | *] Value2}
 PULLUP PULLUP Pin {, Enable}
 PULSIN PULSIN Pin, State, ByteVar {, Resolution}
 PULSOUT PULSOUT Pin, Duration {, Resolution}
 PUT PUT Location, Value {, Value, ...}
 PWM PWM Pin, Duty, Duration
 RANDOM RANDOM Seed {, Duplicate}
 RCTIME RCTIME Pin, StartState, ByteVar {, Resolution}
 READ READ Base {+ Offset}, ByteVar {, ByteVar, ...}
 RESETWDT RESETWDT
 REVERSE REVERSE Pin
 SCHMITT SCHMITT Pin {, Enable}
 SERIN SERIN Pin, BaudMode, ByteVar {, Timeout, Label}
 SEROUT SEROUT Pin, BaudMode, Value
 SHIFTIN SHIFTIN DPin, CPin, ShiftMode, ByteVar {\Count}
 SHIFTOUT SHIFTOUT DPin, CPin, ShiftMode, Value {\Count}
 SLEEP SLEEP
 SOUND SOUND Pin, Note, Duration
 SWAP SWAP Variable
 TIMER TIMER[1 | 2] Command {Value {, Value}}
 TOGGLE TOGGLE BitVar
 TTL TTL Pin {, Enable}
 WDATA WDATA Const0 {, Const1, Const2, ...}

† Note: While all SX/B commands will run at any FREQ setting, commands that are time-sensitive (particularly PAUSEUS) have been designed for FREQ settings between 4 MHz and 50 MHz. FREQ settings outside this range (e.g. low-power applications running at 32 kHz) are not recommended when using time-sensitive instructions.