Alle STM8 Assembler Befehle



Funktion Mnemonic Beispiel OP-Code
Add with Carry ADC ADC A,($12,SP) 19 bb
Add without Carry ADD ADD A,($12,SP) 1B bb
Add without Carry to Stackpointer ADD ADD SP,#$12 5B ii
Add word without Carry ADW ADDW X,($12,SP) 72 FB bb
Logical AND AND AND A,($12,SP) 14 bb
Copy carry in memory bit BCCM BCCM $1234,#1 90 fn ww bb n=11 + 2*bit
Logical bit compare BCP BCP A,($12,SP) 15 bb
Complement bit in memory BCPL BCPL $1234,#1 90 fn ww bb n=10 + 2*bit
Bit reset BRES BRES $1234,#1 72 fn ww bb n=11 + 2*bit
Bit set BSET BSET $1234,#1 72 fn ww bb n=10 + 2*bit
Bit Test, relative Jump if false BTJF BTJF $1234,#1,label 72 0n ww bb n=01 + 2*bit
Bit Test, relative Jump if true BTJT BTJT $1234,#1,label 72 0n ww bb n=00 + 2*bit
Call Subroutine, short CALL CALL [$1234.w] 72 CD ww bb
Call Subroutine, far CALLF CALLF $123456 8D ee ww bb
Call Subroutine, relative CALLR CALLR label 92 AD bb
Complement carry flag CCF CCF 8F
Clear destination byte CLR CLR ([$1234.w],X) 72 fn ww bb n=11 + 2*bit
Clear destination index register CLRW CLRW X 5F
Compare CP CP A,($12,SP) 11 bb
Compare word CPW CPW X,($12,SP) 13 bb
Logical 1's complement CPL CPL ([$1234.w],X) 72 63 ww bb
Logical 1's complement X CPLW CPLW X 53
Decrement by one DEC DEC ([$1234.w],X) 72 6A ww bb
Decrement Word in X DECW DECW X 5A
Divide, unsigned X by A DIV DIV X,A 62
Divide, unsigned Y by A DIV DIV Y,A 90 62
Divide, unsigned X by Y DIVW DIVW X,Y 65
Exchange Databyte A to Mem EXG EXG A,$1234 31 ww bb
Exchange Databyte A to X_low EXG EXG A,XL 41
Exchange Databyte A to Y_low EXG EXG A,YL 61
Halt oscillator HALT HALT 8E
Increment by one INC INC ([$1234.w],X) 72 6C ww bb
Increment word by one INCW INCW X 5C
Interrupt Return IRET IRET 80
Jump to Section "0" JP JP ([$1234.w],X) 72 DC ww bb
Jump far JPF JPF $123456 AC ee ww bb
Jump relative JRA JRA label 20 bb
Jump relative if CARRY JRC JRC label 25 bb
Jump relative if EQUAL JREQ JREQ label 27 bb
Jump never JRF JRF label 21 bb
Jump relative if H=1 JRH JRH label 29 bb
Jump relative if PortINT pin = 1 JRIH JRIH label 90 2F bb
Jump relative if PortINT pin = 0 JRIL JRIL label 90 2E bb
Jump relative if Interrupts masked JRM JRM label 2D bb
Jump relative if MINUS JRMI JRMI label 2B bb
Jump relative if NOT CARRY JRNC JRNC label 24 bb
Jump relative if NOT EQUAL JRNE JRNE label 26 bb
Jump relative if H = 0 JRNH JRNH label 90 28 bb
Jump relative if Interrupts NOT masked JRNM JRNM label 90 2C bb
Jump relative if NO OVERFLOW (V = 0) JRNV JRNV label 28 bb
Jump relative if POSITIVE (n=0) JRPL JRPL label 2A bb
Jump relative if N Xor V = 0 JRSGE JRSGE label 2E bb
Jump relative if Z Or (N Xor V) = 0 JRSGT JRSGT label 2C bb
Jump relative if Z Or (N Xor V) = 1 JRSLE JRSLE label 2D bb
Jump relative if N Xor V = 1 JRSLT JRSLT label 2F bb
Jump relative JRT JRT label 20 bb
Jump relative if NOT CARRY JRUGE JRUGE label 24 bb
Jump relative if C + Z = 0 JRUGT JRUGT label 22 bb
Jump relative if C + Z = 1 JRULE JRULE label 23 bb
Jump relative if CARRY JRULT JRULT label 25 bb
Jump relative if V = 1 JRV JRV label 29 bb
Load Register "A" LD LD A,($12,SP) 7B bb
Load Memory LD LD ($12,SP), A 68 bb
Load Register "A" with XH LD LD A,XH 95
Load far, Register "A" indexed by X+Offset LDF LDF A,($123456,X) AF ee ww bb
Load far, Register "A" indexed by Y+Offset LDF LDF A,($123456,Y) 90 AF ee ww bb
Load far, Register "A" from X+[longptr] LDF LDF A,([$1234.e],X) 72 AF ww bb
Load far, Memory indexed by X+Offset LDF LDF ($123456,X),A A7 ee ww bb
Load far, Memory indexed by Y+Offset LDF LDF ($123456,Y),A 90 A7 ee ww bb
Load far, Memory indexed by Y+[longptr] LDF LDF ([$1234.e],X),A 72 A7 ww bb
Load word to X Register LDW LDW X,($12,SP) 72 EE bb
Load word to Memory from X Register LDW LDW ($12,SP),X 72 EF bb
Load Y Register with word LDW LDW Y,($12,SP) 72 E6 bb
Load word to Memory from Y Register LDW LDW ($12,SP),Y 72 E7 bb
Load word to Stackpointer from X Register LDW LDW SP,X 8B
Load word to X Register from Stackpointer LDW LDW X,SP 96
Load word to X Register from Y Register LDW LDW X,Y 93
Move immediate Data to Memory MOV MOV $1234,#$12 35 ii ww bb
Move Mem2 to Mem1 MOV MOV $12 $34 45 bb2 bb1
Move Word Mem2 to Mem1 MOV MOV $1234 $5678 45 ww2 bb2 ww1 bb1
Multiply A by X MUL MUL 42
Multiply A by Y MUL MUL 90 42
Negate - Logical 2's Complement NEG NEG ([$1234.w],X) 72 60 ww bb ????
Negate Word - Logical 2's Complement NEGW NEGW X 50
No Operation NOP NOP 9D
Logical OR OR OR A,($12,SP) 1A bb
POP Byte from Stack POP POP $1234 32 ww bb
POP Code Condition Register from Stack POP POP CC 86
POP Word (X) from Stack POPW POPW X 85
PUSH Byte onto Stack PUSH PUSH $1234 7B ww bb
PUSH immediate Byte onto Stack PUSH PUSH #$12 4B bb
PUSH Word (X) onto Stack PUSHW PUSHW X 89
Reset CARRY Flag RCF RCF 98
Return from Subroutine in Section 0 RET RET 81
Return Far from Subroutine RETF RETF 87
Reset Interrupt Mask / Enable Interrupt RIM RIM 9A
Rotate Byte in X, Left through CARRY RLC RLC ([$1234.w],X) 72 69 ww bb
Rotate Word in X, Left through CARRY RLCW RLCW X 59
Rotate Word in X, Left through ACCUMULATOR RLWA RLWA X 02
Rotate Byte in X, Right through CARRY RRC RRC ([$1234.w],X) 72 66 ww bb
Rotate Word in X, Right through CARRY RRCW RRCW X ???? 56
Rotate Word in X, Right through ACCUMULATOR RRWA RRWA X 01
Reset OVERFLOW Flag (V) RVF RVF 9C
Subtract with CARRY SBC SBC A,($12,SP) 12 bb
Set CARRY Flag (C) SCF SCF 99
Set Interrupt Mask / Disable Interrupts SIM SIM 9B
Shift Byte in X, Left Arithmetic SLA SLA ([$1234.w],X) 72 68 ww bb
Shift Word in X, Left Arithmetic SLAW SLAW X 58
Shift Byte in X, Left Logical SLL SLL ([$1234.w],X) 72 68 ww bb ????
Shift Word in X, Left Logical SLLW SLLW X 58 ????
Shift Byte in X, Right Arithmetic SRA SRA ([$1234.w],X) 72 67 ww bb
Shift Word in X, Right Arithmetic SRAW SRAW X 57
Shift Byte in X, Right Logical SRL SRL ([$1234.w],X) 72 64 ww bb
Shift Word in X, Right Logical SRLW SRLW X 57
Subtract A without CARRY SUB SUB A,($12,SP) 10 bb
Subtract SP without CARRY SUB SUB SP,#$12 52 ii
Subtract word without CARRY SUBW SUBW X,($12,SP) 72 F0 bb
Swap nibbles SWAP SWAP ([$1234.w],X) 72 6E ww bb
Swap bytes SWAPW SWAPW X 5E
Test NEGATIVE or ZERO TNZ TNZ ([$1234.w],X) 72 6D ww bb
Test word for NEGATIVE or ZERO TNZW TNZW X 5D
Trap Software Interrupt TRAP TRAP 83
Wait for Event WFE WFE 72 8F
Wait for Interrupt WFI WFI 8F
Logical XOr XOR XOR 18 bb