Technical reference

Back to main page To CPU registers



Instruction set

The instruction set table lists all the valid op codes and the details of the corresponding instruction. It is a principal aid to machine language and assembly language programmers. The instruction set table lists the instructions in alphabetic order by name. Unfortunately, this means that you must know the name of an instruction before you cab find it in the table. However, the names of most instructions strongly imply the operation performed, so a little creative guessing will help you find the desired instruction quickly.

register a =  8 bit
register b =  8 bit
register d = 16 bit (a = MSB, b = LSB)
register x = 16 bit
register y = 16 bit


cc notes: - not changed x updated according to data ? undefined 0 set to 0 1 set to 1 3 c|=(msn>9) 4 Most significant bit of b. 5 Set when interrupt occurs. If previously set, a Non-Maskable interrupt is required to exit the wait state.

addressing modes flags instruct. immed direct ind,x ind,y extend inherent explanation h i n z v c ---------------------------------------------------------------------------------------------- aba -- - - -- - - -- - - -- - - -- - - 1b 2 1 a+=b x - x x x x abx -- - - -- - - -- - - -- - - -- - - 3a 3 1 x+=(us)b - - - - - - aby -- - - -- - - -- - - -- - - -- - - 183a 4 2 y+=(us)b - - - - - - adca 89 2 2 99 3 2 a9 4 2 18a9 5 3 a9 4 3 -- - - a+=m+c x - x x x x adcb c9 2 2 d9 3 2 e9 4 2 18e9 5 3 f9 4 3 -- - - b+=m+c x - x x x x adda 8b 2 2 9b 3 2 ab 4 2 18ab 5 3 bb 4 3 -- - - a+=m x - x x x x addb cb 2 2 db 3 2 eb 4 2 18eb 5 3 fb 4 3 -- - - b+=m x - x x x x addd c3 4 3 d3 5 2 e3 6 2 18e3 7 3 f3 6 3 -- - - d+=m - - x x x x anda 84 2 2 94 3 2 a4 4 2 18a4 5 3 b4 4 3 -- - - a&=m - - x x 0 - andb c4 2 2 d4 3 2 e4 4 2 18e4 5 3 f4 4 3 -- - - b&=m - - x x 0 - asl -- - - -- - - 68 6 2 1868 7 3 78 6 3 -- - - m<<=1 - - x x x x asla -- - - -- - - -- - - -- - - -- - - 48 2 1 a<<=1 - - x x x x aslb -- - - -- - - -- - - -- - - -- - - 58 2 1 b<<=1 - - x x x x asld -- - - -- - - -- - - -- - - -- - - 05 3 1 d<<=1 - - x x x x asr -- - - -- - - 67 6 2 1867 7 3 77 6 3 -- - - (i)m>>=1 - - x x x x asra -- - - -- - - -- - - -- - - -- - - 47 2 1 (i)a>>=1 - - x x x x asrb -- - - -- - - -- - - -- - - -- - - 57 2 1 (i)b>>=1 - - x x x x bcc 24 3 2 -- - - -- - - -- - - -- - - -- - - bra(cc) - - - - - - bclr -- - - 15 6 3 1d 7 3 181d 8 4 -- - - -- - - m&=im - - x x 0 - bcs 25 3 2 -- - - -- - - -- - - -- - - -- - - bra(cs) - - - - - - beq 27 3 2 -- - - -- - - -- - - -- - - -- - - bra(eq) - - - - - - bge 2c 3 2 -- - - -- - - -- - - -- - - -- - - bra(ge) - - - - - - bgt 2e 3 2 -- - - -- - - -- - - -- - - -- - - bra(gt) - - - - - - bhi 22 3 2 -- - - -- - - -- - - -- - - -- - - bra(hi) - - - - - - bhs 24 3 2 -- - - -- - - -- - - -- - - -- - - bra(hs) - - - - - - bita 85 2 2 95 3 2 a5 4 2 18a5 5 3 b5 4 3 -- - - a&m - - x x 0 - bitb c5 2 2 d5 3 2 e5 4 2 18e5 5 3 f5 4 3 -- - - b&m - - x x 0 - ble 2f 3 2 -- - - -- - - -- - - -- - - -- - - bra(le) - - - - - - blo 25 3 2 -- - - -- - - -- - - -- - - -- - - bra(lo) - - - - - - bls 23 3 2 -- - - -- - - -- - - -- - - -- - - bra(ls) - - - - - - blt 2d 3 2 -- - - -- - - -- - - -- - - -- - - bra(lt) - - - - - - bmi 2b 3 2 -- - - -- - - -- - - -- - - -- - - bra(mi) - - - - - - bne 26 3 2 -- - - -- - - -- - - -- - - -- - - bra(ne) - - - - - - bpl 2a 3 2 -- - - -- - - -- - - -- - - -- - - bra(pl) - - - - - - bra 20 3 2 -- - - -- - - -- - - -- - - -- - - bra - - - - - - brclr -- - - 13 6 4 1f 7 4 181f 8 5 -- - - -- - - bra(!(m&im)) - - - - - - brn 21 3 2 -- - - -- - - -- - - -- - - -- - - bra( 0) - - - - - - brset -- - - 12 6 4 1e 7 4 181e 8 5 -- - - -- - - bra(!(/m&im)) - - - - - - bset -- - - 14 6 3 1c 7 3 181c 8 4 -- - - -- - - m|=im - - x x 0 - bsr 8d 6 2 -- - - -- - - -- - - -- - - -- - - bsr - - - - - - bvc 28 3 2 -- - - -- - - -- - - -- - - -- - - bra(vc) - - - - - - bvs 29 3 2 -- - - -- - - -- - - -- - - -- - - bra(vs) - - - - - - cba -- - - -- - - -- - - -- - - -- - - 11 2 1 a-b - - x x x x clc -- - - -- - - -- - - -- - - -- - - 0c 2 1 c=0 - - - - - 0 cli -- - - -- - - -- - - -- - - -- - - 0e 2 1 i=0 - 0 - - - - clr -- - - -- - - 6f 6 2 186f 7 3 7f 6 3 -- - - m=0 - - 0 1 0 0 clra -- - - -- - - -- - - -- - - -- - - 4f 2 1 a=0 - - 0 1 0 0 clrb -- - - -- - - -- - - -- - - -- - - 5f 2 1 b=0 - - 0 1 0 0 clv -- - - -- - - -- - - -- - - -- - - 0a 2 1 v=0 - - - - 0 - cmpa 81 2 2 91 3 2 a1 4 2 18a1 5 3 b1 4 3 -- - - a-m - - x x x x cmpb c1 2 2 d1 3 2 e1 4 2 18e1 5 3 f1 4 3 -- - - b-m - - x x x x com -- - - -- - - 63 6 2 1863 7 3 73 6 3 -- - - m=~m - - x x 0 1 coma -- - - -- - - -- - - -- - - -- - - 43 2 1 a=~a - - x x 0 1 comb -- - - -- - - -- - - -- - - -- - - 53 2 1 b=~b - - x x 0 1 cmpd 1a83 5 4 1a93 6 3 1aa3 7 3 cda3 7 3 1ab3 7 4 -- - - d-m - - x x x x cmpx 8c 4 3 9c 5 2 ac 6 2 cdac 7 3 bc 6 3 -- - - x-m - - x x x x cmpy 188c 5 4 189c 6 3 1aac 7 3 18ac 7 3 18bc 7 4 -- - - y-m - - x x x x daa -- - - -- - - -- - - -- - - -- - - 19 2 1 a=da(a) - - x x ? 3 dec -- - - -- - - 6a 6 2 186a 7 3 7a 6 3 -- - - m-=1 - - x x x - deca -- - - -- - - -- - - -- - - -- - - 4a 2 1 a-=1 - - x x x - decb -- - - -- - - -- - - -- - - -- - - 5a 2 1 b-=1 - - x x x - des -- - - -- - - -- - - -- - - -- - - 34 3 1 s-=1 - - - - - - dex -- - - -- - - -- - - -- - - -- - - 09 3 1 x-=1 - - - x - - dey -- - - -- - - -- - - -- - - -- - - 1809 4 2 y-=1 - - - x - - eora 88 2 2 98 3 2 a8 4 2 18a8 5 3 b8 4 3 -- - - a^=m - - x x 0 - eorb c8 2 2 d8 3 2 e8 4 2 18e8 5 3 f8 4 3 -- - - b^=m - - x x 0 - fdiv -- - - -- - - -- - - ---- - - -- - - 03 41 1 x=d/x,d=d%x - - - x x x fractional divide idiv -- - - -- - - -- - - ---- - - -- - - 02 41 1 x=d/x,d=d%x - - - x 0 x integer divide inc -- - - -- - - 6c 6 2 186c 7 3 7c 6 3 -- - - m+=1 - - x x x - inca -- - - -- - - -- - - -- - - -- - - 4c 2 1 a+=1 - - x x x - incb -- - - -- - - -- - - -- - - -- - - 5c 2 1 b+=1 - - x x x - ins -- - - -- - - -- - - -- - - -- - - 31 3 1 s+=1 - - - - - - inx -- - - -- - - -- - - -- - - -- - - 08 3 1 x+=1 - - - x - - iny -- - - -- - - -- - - -- - - -- - - 1808 4 2 y+=1 - - - x - - jmp -- - - -- - - 6e 3 2 186e 4 3 7e 3 3 -- - - jmp - - - - - - jsr -- - - 9d 5 2 ad 6 2 18ad 7 3 bd 6 3 -- - - jsr - - - - - - ldaa 86 2 2 96 3 2 a6 4 2 18a6 5 3 b6 4 3 -- - - a=m - - x x 0 - ldab c6 2 2 d6 3 2 e6 4 2 18e6 5 3 f6 4 3 -- - - b=m - - x x 0 - ldd cc 3 3 dc 4 2 ec 5 2 18ec 6 3 fc 5 3 -- - - d=m - - x x 0 - lds 8e 3 3 9e 4 2 ae 5 2 18ae 6 3 be 5 3 -- - - s=m - - x x 0 - ldx ce 3 3 de 4 2 ee 5 2 cdee 6 3 fe 5 3 -- - - x=m - - x x 0 - ldy 18ce 4 4 18de 5 4 1aee 6 3 18ee 6 3 18fe 6 4 -- - - y=m - - x x 0 - lsl -- - - -- - - 68 6 2 1868 7 3 78 6 3 -- - - (u)m<<=1 - - x x x x lsla -- - - -- - - -- - - -- - - -- - - 48 2 1 (u)a<<=1 - - x x x x lslb -- - - -- - - -- - - -- - - -- - - 58 2 1 (u)b<<=1 - - x x x x lsld -- - - -- - - -- - - -- - - -- - - 05 3 1 (u)d<<=1 - - x x x x lsr -- - - -- - - 64 6 2 1864 7 3 74 6 3 -- - - (u)m>>=1 - - 0 x x x lsra -- - - -- - - -- - - -- - - -- - - 44 2 1 (u)a>>=1 - - 0 x x x lsrb -- - - -- - - -- - - -- - - -- - - 54 2 1 (u)b>>=1 - - 0 x x x lsrd -- - - -- - - -- - - -- - - -- - - 04 3 1 (u)d>>=1 - - 0 x x x mul -- - - -- - - -- - - -- - - -- - - 3d 10 1 d=a*b - - - - - 4 neg -- - - -- - - 60 6 2 1860 7 3 70 6 3 -- - - m=-m - - x x x x nega -- - - -- - - -- - - -- - - -- - - 40 2 1 a=-a - - x x x x negb -- - - -- - - -- - - -- - - -- - - 50 2 1 b=-b - - x x x x nop -- - - -- - - -- - - -- - - -- - - 01 2 1 nop - - - - - - oraa 8a 2 2 9a 3 2 aa 4 2 18aa 5 3 ba 4 3 -- - - a|=m - - x x 0 - orab ca 2 2 da 3 2 ea 4 2 18ea 5 3 fa 4 3 -- - - b|=m - - x x 0 - psha -- - - -- - - -- - - -- - - -- - - 36 3 1 *s--=a - - - - - - pshb -- - - -- - - -- - - -- - - -- - - 37 3 1 *s--=b - - - - - - pshx -- - - -- - - -- - - -- - - -- - - 3c 4 1 *s--=x - - - - - - pshy -- - - -- - - -- - - -- - - -- - - 183c 5 2 *s--=x - - - - - - pula -- - - -- - - -- - - -- - - -- - - 32 4 1 a=*++s - - - - - - pulb -- - - -- - - -- - - -- - - -- - - 33 4 1 b=*++s - - - - - - pulx -- - - -- - - -- - - -- - - -- - - 38 5 1 x=*++s - - - - - - puly -- - - -- - - -- - - -- - - -- - - 1838 6 2 x=*++s - - - - - - rol -- - - -- - - 69 6 2 1869 7 3 79 6 3 -- - - m=rol(m) - - x x x x rola -- - - -- - - -- - - -- - - -- - - 49 2 1 a=rol(a) - - x x x x rolb -- - - -- - - -- - - -- - - -- - - 59 2 1 b=rol(b) - - x x x x ror -- - - -- - - 66 6 2 1866 7 3 76 6 3 -- - - m=ror(m) - - x x x x rora -- - - -- - - -- - - -- - - -- - - 46 2 1 a=ror(a) - - x x x x rorb -- - - -- - - -- - - -- - - -- - - 56 2 1 b=ror(b) - - x x x x rti -- - - -- - - -- - - -- - - -- - - 3b 12 1 rti x x x x x x rts -- - - -- - - -- - - -- - - -- - - 39 5 1 rts - - - - - - sba -- - - -- - - -- - - -- - - -- - - 10 2 1 a-=b - - x x x x sbca 82 2 2 92 3 2 a2 4 2 18a2 5 3 b2 4 3 -- - - a-=m+c - - x x x x sbcb c2 2 2 d2 3 2 e2 4 2 18e2 5 3 f2 4 3 -- - - b-=m+c - - x x x x sec -- - - -- - - -- - - -- - - -- - - 0d 2 1 c=1 - - - - - 1 sei -- - - -- - - -- - - -- - - -- - - 0f 2 1 i=1 - 1 - - - - sev -- - - -- - - -- - - -- - - -- - - 0b 2 1 v=1 - - - - 1 - staa -- - - 97 3 2 a7 4 2 18a7 5 3 b7 4 3 -- - - m=a - - x x 0 - stab -- - - d7 3 2 e7 4 2 18e7 5 3 f7 4 3 -- - - m=b - - x x 0 - std -- - - dd 4 2 ed 5 2 18ed 6 3 fd 5 3 -- - - m=d - - x x 0 - stop -- - - -- - - -- - - -- - - -- - - cf 2 1 stop - - - - - - sts -- - - 9f 4 2 af 5 2 18af 6 3 bf 5 3 -- - - m=s - - x x 0 - stx -- - - df 4 2 ef 5 2 cdef 6 3 ff 5 3 -- - - m=x - - x x 0 - sty -- - - 18df 5 3 1aef 6 3 18ef 6 3 18ff 6 4 -- - - m=x - - x x 0 - suba 80 2 2 90 3 2 a0 4 2 18a0 5 3 b0 4 3 -- - - a-=m - - x x x x subb c0 2 2 d0 3 2 e0 4 2 18e0 5 3 f0 4 3 -- - - b-=m - - x x x x subd 83 3 4 93 5 2 a3 6 2 18a3 7 3 b3 6 3 -- - - d-=m - - x x x x swi -- - - -- - - -- - - -- - - -- - - 3f 14 1 swi - 1 - - - - tab -- - - -- - - -- - - -- - - -- - - 16 2 1 b=a - - x x 0 - tap -- - - -- - - -- - - -- - - -- - - 06 2 1 ccr=a x x x x x x tba -- - - -- - - -- - - -- - - -- - - 17 2 1 a=b - - x x 0 - tpa -- - - -- - - -- - - -- - - -- - - 07 2 1 a=ccr - - - - - - tst -- - - -- - - 6d 6 2 186d 7 3 7d 6 3 -- - - m-0 - - x x 0 0 tsta -- - - -- - - -- - - -- - - -- - - 4d 2 1 a-0 - - x x 0 0 tstb -- - - -- - - -- - - -- - - -- - - 5d 2 1 b-0 - - x x 0 0 tsx -- - - -- - - -- - - -- - - -- - - 30 3 1 x=s+1 - - - - - - tsy -- - - -- - - -- - - -- - - -- - - 1830 4 2 y=s+1 - - - - - - txs -- - - -- - - -- - - -- - - -- - - 35 2 1 s=x-1 - - - - - - tys -- - - -- - - -- - - -- - - -- - - 1835 4 2 s=x-1 - - - - - - wai -- - - -- - - -- - - -- - - -- - - 3e 14+ 1 wait - 5 - - - - xgdx -- - - -- - - -- - - -- - - -- - - 8f 3 1 swap(d,x) - - - - - - xgdy -- - - -- - - -- - - -- - - -- - - 188f 4 2 swap(d,y) - - - - - -







This site was made by the Rijswijk Institute of Technology (Technische Hogeschool Rijswijk)