Вы находитесь на странице: 1из 5

3.

Kelompok-kelompok Instruksi Dalam memudahkan mempelajari bahasa Assembler untuk mikrokontroler, maka dibuat kelompok instruksi sesuai dengan fungsinya sebagai berikut: Kelompok instruksi transfer data Instruksi MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOVC MOVC MOVX MOVX MOVX MOVX Operand A,Rn A,direct A,@Ri A,#data Rn,A Rn,direct Rn,#data direct,A direct,Rn direct,direct direct,@Ri direct,#data @Ri,A @Ri,direct @Ri,#data DPTR,#data16 A,@A+DPTR A,@A+PC A,@Ri A,@DPTR @Ri,A @DPTR,A Arti Salin data pada Rn ke dalam register A Salin data pada alamat RAM direct ke dalam register A Salin data pada alamat yang ditunjuk oleh Ri ke dalam Register A Masukan data ke dalam register A Salin data pada register A ke dalam register Rn Salin data pada alamat RAM direct ke dalam register Rn Masukan data ke dalam register Rn Salin data pada register A ke dalam alamat RAM direct Salin data pada register Rn ke dalam alamat RAM direct Salin data pada alamat RAM direct ke dalam alamat RAM direct Salin data pada alamat yang ditunjuk oleh Ri ke dalam alamat RAM direct Masukan data ke dalam alamat RAM direct Salin data yang terdapat pada register kedalam alamat yang ditunjuk oleh Ri Salin data yang terdapat pada alamat RAM direct kedalam alamat yang ditunjuk oleh Ri Masukan data kedalam alamat yang ditunjuk oleh Ri Masukan data 16 bit kedalam data pointer Salin data pada alamat 16 bit yang ditunjuk oleh A+DPTR ke dalam register A Salin data pada alamat 8 bit yang ditunjuk oleh A+PC ke dalam register A Salin data pada alamat 8 bit memori eksternal yang ditunjuk oleh Ri ke dalam register A Salin data pada alamat 16 bit memori eksternal yang ditunjuk oleh DPTR ke dalam register A Salin data pada register A ke dalam alamat 8 bit memori eksternal yang ditunjuk oleh register Ri Salin data pada register A de dalam alamat 16 bit memori eksternal yang ditunjuk oleh DPTR

PUSH POP XCH XCH XCH XCHD

direct direct A,Rn A,direct A,@Ri A,@Ri

Push direct byte ke stack Pop stack ke direct byte Tukar isi register Rn dengan isi register A Tukar isi alamat RAM direct dengan isi register A Tukar isi alamat RAM yang ditunjuk oleh Ri dengan isi register A Tukar nible rendah data pada alamat yang ditunjuk oleh Ri dengan nible rendah isi register A Table 3.1 Kelompok Instruksi Transfer data

Kelompok instruksi aritmatika Instruksi ADD ADD ADD ADD ADDC ADDC ADDC ADDC SUBB SUBB SUBB SUBB INC INC INC INC DEC DEC DEC DEC INC Operand A,Rn A,direct A,@Ri A,#data A,Rn A,direct A,@Ri A,#data A,Rn A,direct A,@Ri A,#data A Rn direct @Ri A Rn direct @Ri DPTR Arti Tambahkan isi register A dengan isi Register n Tambahkan isi register A dengan data pada alamat RAM Tambahkan isi register A dengan data pada alamat yang ditunjuk oleh register Ri Tambahkan isi register A dengan data langsung Tambahkan isi register A dengan isi Register n dengan carry Tambahkan isi register A dengan data pada alamat RAM dengan carry Tambahkan isi register A dengan data pada alamat yang ditunjuk oleh register Ri dengan carry Tambahkan isi register A dengan data langsung dengan carry Kurangkan isi register A dengan isi Register n Kurangkan isi register A dengan data pada alamat RAM Kurangkan isi register A dengan data pada alamat yang ditunjuk oleh register Ri Kurangkan isi register A dengan data langsung Tambahkan dengan satu isi register A Tambahkan dengan satu isi register Rn Tambahkan dengan satu isi dari alamat RAM direct Tambahkan dengan satu isi dari alamat RAM yang ditunjuk oleh Ri Kurangkan dengan satu isi register A Kurangkan dengan satu isi register Rn Kurangkan dengan satu isi dari alamat RAM direct Kurangkan dengan satu isi dari alamat RAM yang ditunjuk oleh Ri Tambahkan dengan satu nilai data pointer

MUL

Kalikan isi pada regiater A dengan isi pada register B Lakukan pembagian data pada register A dengan data pada DIV AB register B DA A Desimal adjust Akumulator Tabel 3.2 Kelompok Instruksi Aritmatika Kelompok instruksi logika Instruksi ANL ANL ANL ANL ANL ANL ORL ORL ORL ORL ORL ORL XRL XRL XRL XRL XRL XRL CLR CPL RL RLC RR RRC SWAP Operand A,Rn A,direct A,@Ri A,#data Direct,A Direct,#data A,Rn A,direct A,@Ri A,#data Direct,A Direct,#data A,Rn A,direct A,@Ri A,#data Direct,A Direct,#data A A A A A A A Arti AND kan data yang terdapat di A dengan data pada Register Rn AND kan data yang terdapat di A dengan data pada alamat direct AND kan data yang terdapat di A dengan data pada alamat yang ditunjuk oleh register Ri AND kan data yang terdapat di A dengan data langsung AND kan data pada alamat direct dengan data pada register A AND kan data pada alamat direct dengan data langsung OR kan data yang terdapat di A dengan data pada Register Rn OR kan data yang terdapat di A dengan data pada alamat direct OR kan data yang terdapat di A dengan data pada alamat yang ditunjuk oleh register Ri OR kan data yang terdapat di A dengan data langsung OR kan data pada alamat direct dengan data pada register A OR kan data pada alamat direct dengan data langsung Eksklusif OR kan data yang terdapat di A dengan data pada Register Rn Eksklusif OR kan data yang terdapat di A dengan data pada alamat direct Eksklusif OR kan data yang terdapat di A dengan data pada alamat yang ditunjuk oleh register Ri Eksklusif OR kan data yang terdapat di A dengan data langsung Eksklusif OR kan data pada alamat direct dengan data pada register A Eksklusif OR kan data pada alamat direct dengan data langsung Kosongkan nilai akumulator Komplemenkan nilai yang terdapat pada akumulator Putar ke kiri satu kali data yang terdapat pada akumulator Putar ke kiri satu kali beserta carry data yang terdapat pada akumulator Putar ke kanan satu kali data yang terdapat pada akumulator Putar ke kanan satu kali beserta carry data yang terdapat pada akumulator Tukar nible rendah dan nible tinggi data yang terdapat pada akumulator

AB

Kelompok instruksi manipulasi Boolean Instruksi CLR CLR SETB SETB CPL CPL ANL ANL ORL ORL MOV MOV JC JNC JB JNB JBC Operand C Bit C Bit C Bit C,bit C,~bit C,bit C,~bit C,bit C,~bit Rel Rel Bit,rel Bit,rel Bit,rel Arti Clear carry Clear direct bit Set carry Set direct bit Komplemen carry Komplemen direct bit AND kan carry dengan direct bit AND kan carry dengan NOT dari direct bit OR kan carry dengan direct bit OR kan carry dengan NOT dari direct bit Pindahkan data dari direct bit ke carry Pindahkan data dari NOT direct bit ke carry Loncat ke alamat rel/label rel jika carry=1 Loncat ke alamat rel/label rel jika carry=0 Loncat ke alamat rel/label rel jika direct bit=1 Loncat ke alamat rel/label rel jika direct bit=0 Loncat ke alamat rel/label rel jika carry=1 dan clear carry

Kelompok instruksi percabangan Instruksi ACALL LCALL RET RETI AJMP SJMP LJMP JMP JZ JNZ CJNE CJNE Addr11 Rel Addr16 @A+DPTR Rel Rel A,direct,rel A,#data,rel Operand Addr11 Addr16 Arti Panggil subrutin dengan alamat tujuan pada jangkauan lebar data maksimal 11-bit Panggil subrutin dengan alamat tujuan pada jangkauan lebar data maksimal 16-bit Kembali dari sub rutin Kembali dari sub rutin layanan interupsi Loncat ke alamat tujuan pada jangakauan lebar data maksimal 11 bit Loncat ke relatif address Loncat ke alamat tujuan pada jangakauan lebar data maksimal 16 bit Loncat ke alamat relatif terhadap DPTR Loncat ke alamat rel/label rel jika register A bernilai 0 Loncat ke alamat rel/label rel jika register A tidak bernilai 0 Bandingkan isi register A, dengan isi alamat direct, loncat ke alamat/label rel jika tidak sama Bandingkan isi register A, dengan data langsung, loncat ke

CJNE CJNE DJNZ DJNZ NOP

@Ri,#data,rel Rn,#data,rel Rn,rel Direct,rel

alamat/label rel jika tidak sama Bandingkan isi alamat yang ditunjuk oleh register Ri dengan data langsung, loncat ke alamat/label rel jika tidak sama Bandingkan isi register Rn dengan data langsung, loncat ke alamat/label rel jika tidak sama Kurangi isi register Rn, loncat ke alamat/label rel jika isi Rn tidak nol Kurangi isi alamat direct, loncat ke alamat/label rel jika isi Rn tidak nol Not operation

Вам также может понравиться