• Tidak ada hasil yang ditemukan

Instruksi Pada Mikrokontroler 1. MOV

Dalam dokumen BAB 1 PENDAHULUAN Makalah Microcontroller (Halaman 34-39)

ADDRESSING MODE DAN INSTRUKSI PADA MIKROKONTROLER

7.2 Instruksi Pada Mikrokontroler 1. MOV

Perintah ini digunakan untuk operasi pertambahan contoh :

 Mov a, p3 : menyalin isi data pada port 3 ke dalam akumulator

 Mov p3, r5 :menyalin isi data yang nilainya yang terdapat pada register5 ke dalam port 3

 MOV CX, 0Ah :mengisikan jumlah loop yang ingin dilakukan denganperincian 0-9 terdiri dari 10 angka

 MOV DL,30h : bilangan ASCII yang sama dengan 30 hexa adalah ‘0’ yang akan dicetak dahulu dan dimasukkan ke dalam DLsesuai dengan Int 21 hexa service 02 hexa

 MOV AH,02 h :AH diisi dengan service number dari interrupt 2. INC

Perintah yang digunakan untuk melakukan penambahan 1 Contoh :

 INC A : Meningkatkan Akumulator sebesar 1 bit

 INC Rn : Meningkatkan Register

 INC DL : Menambahkan DL dengan 1

 INC @R1 : Data pada alamat R1 ditambah 1

 INC @Ri : Meningkatkan RAM tidak langsung 3. JMP (JUMP)

Perintah yang digunakan untuk melompat ke suatu label yang dituju Contoh :

 Sjmp anda : lompat atau jalankan langsung program pada label anda

 Sjmp proses : lompat atau jalankan langsung program pada label proses

 Ljmp 500h : lompat atau jalankan langsung program pada alamat memori 100h

 JMP 0203 : lompat ke arah lokasi memori offset:0203

 CMP BX,0230 : membandingjan BX dengan 0230 4. ADD

Perintah yang digunakan untuk operasi penambahan Contoh :

 ADD A,Rn : menambahkan register ke akumulator

 ADD A,@Ri : menambahkan RAM tidak langsung ke akumulator

 ADD A, #DATA : menambahkan data segera ke akumulator

 ADDC A, Rn : menambahkan register ke akumulator dengan carry

 ADDC A, @Ri : menambahkan RAM tidak langsung ke akumulator dengan carry 5. SUB

Perintah yang digunakan untuk pengurangan Contoh :

 SUBB A, Rn : mengurangi register dari akumulator dengan borrow

 SUBB A, @Ri : mengurangi RAM tidak langsung dari akumulator dengan borrow

 SUBB A, #DATA : mengurangi data segera dari akumulator dengan borrow

 SUBB A, langsung : mengurangi byte langsung dari akumulator dengan borrow

 SUB A, 00H : mengurangi data pada alamat memori 00H dengan borrow 6. DEC

Perintah yang digunakan untuk melakukan pengurangan 1

Contoh :

 DEC A : Menurunkan akumulator

 DEC Rn : Menurunkan Register

 DEC LANGSUNG : Menurunkan RAM langsung

 DEC @Ri : Menurunkan RAM tidak langsung

 DEC 06H : 06H – 1 = 05H 7. MUL

Perintah yang digunakan untuk melakukan operasi perkalian Contoh :

 MUL AB : Mengalikan A & B

 MUL BL : mengalikan nilai register BL dengan nilai register AL dandisimpan di register AX

 MUL BX : Mengalikan nilai register BX dengan nilai register AX dandisimpan di register DX

 MUL BC : Mengalikan nilai register BC dengan nilai register AC dandisimpan di register DC

 MUL BZ : Mengalikan nilai register BZ dengan nilai register AZ dandisimpan di register DZ

 MUL BD : Mengalikan nilai register BD dengan nilai register AD dandisimpan di register DD

8. DIV

Perintah yang digunakan untuk melakukan operasi pembagian Contoh :

 DIV A,B : membagi nilai A dengan B

 DIV B,C : membagi nilai B dengan C

 DIV C,D : membagi nilai C dengan D

 DIV D,E : membagi nilai D dengan E

 DIV E,F : membagi nilai E dengan F 9. ANL

Perintah yang digunakan untuk operasi logika AND COntoh :

 ANL A,05H : Proses AND terhadap A ke 05H

 ANL A,@R0 : Proses AND terhadap A ke RAM

 ANL A,#50H : Proses AND terhadap A ke data pada alamat memori 50H

 ANL 07H, A : Proses AND terhadap 07H ke Akumulator

 ANL 07H, #02H : Proses AND terhadap 07H ke 02H

10. ORL

Perintah yang digunakan untuk operasi logika OR Contoh:

 ORL A, 07H : proses OR terhadap Akumulator ke 07H

 ORL A, @R0 : Proses OR terhadap A ke RAM

 ORL A,#60H : Proses OR terhadap A ke data pada alamat memori 60H

 ORL 08H, A : Proses OR terhadap 08H ke Akumulator

 ORL 09H, #03H : Proses OR terhadap 09H ke 03H 11. XRL

Perintah yang digunakan untuk operasi logika XOR Contoh:

 XRL A, 07H : proses XOR terhadap Akumulator ke 07H

 XRL A, @R0 : Proses XOR terhadap A ke RAM

 XRL A,#60H : Proses XOR terhadap A ke data pada alamat memori 60H

 XRL 08H, A : Proses XOR terhadap 08H ke Akumulator

 XRL 09H, #03H : Proses XOR terhadap 09H ke 03H 12. CLR

Perintah yang digunakan untuk mereset data Contoh:

 CLR A : Proses untuk menghapus data A

 CLR B : Proses untuk menghapus data B

 CLR C : Proses untuk menghapus data C

 CLR D : Proses untuk menghapus data D

 CLR E : Proses untuk menghapus data E 13. CPL

Perintah yang digunakan untuk mengkomplemenkan data Contoh:

 CPL A : Menentukan komplemen A

 CPL B : Menentukan komplemen B

 CPL C : Menentukan komplemen C

 CPL D : Menentukan komplemen D

 CPL E : Menentukan komplemen E

14. RR/RL

Perintah yang digunakan untuk menggeser posisi sebanyak 1 bit Contoh:

 RR A : geser ke kanan 1 bit pada akumulator

 RL A : geser ke kiri 1 bit pada akumulator

 RR rx : geser ke kanan 1 bit pada isi register x

 RL rx : geser ke kanan 1 bit pada isi register x 15. SETB

Perintah yang digunakan untuk memberikan logika 1 pada suatu port Contoh:

 SETB P1.0 : memberikan logika 1 pada port 1.0

 SETB P1.3 : memberikan logika 1 pada port 1.3

 SETB P2.3 : memberikan logika 1 pada port 2.3

 SETB P1.8 : memberikan logika 1 pada port 1.8

 SETB P1.1 : memberikan logika 1 pada port 1.1 16. JB/ JNB

Perintah yang digunakan untuk lompat ke label subprogram bila nilai port x.y berlogika LOWatau mempunyai nilai nol

Contoh :

 Jnb p1.0, go : ke label subprogram bila nilai port 1.0 berlogika LOW

 Jnb p2.0, go : ke label subprogram bila nilai port 2.0 berlogika LOW

 Jnb p3.0, go : ke label subprogram bila nilai port 3.0 berlogika LOW

 Jnb p4.0, go : ke label subprogram bila nilai port 4.0 berlogika LOW

 Jnb p5.0, go : ke label subprogram bila nilai port 5.0 berlogika LOW 17. JZ/JNZ

Perintah yang digunakan untuk mengurangi nilai isi data pada register x dan bila nilainya belumtercapai maka akan dilakukan lompatan ke label subprogram

Contoh:

 Mov B,#00H : Jika Nilai akumulator A adalah 00H Jump Ke alamat untuk eksekusi Mov B,#00H

 JNZ R7, gaul : kurangi nilai isi data pada register R7 dan bila nilainya belum tercapai 0 maka dilakukan lompatan subprogram dengan label GAUL

 JNZ R10, coba : kurangi nilai isi data pada register R10 dan bila nilainyabelum tercapai 0 maka dilakukan lompatan subprogram dengan label COBA

 JNZ R12, klik : kurangi nilai isi data pada register R12 dan bila nilainya belum tercapai 0 maka dilakukan lompatan subprogram dengan label KLIK

 JNZ R3, pilih : kurangi nilai isi data pada register R3 dan bila nilainya belum tercapai 0 maka dilakukan lompatan subprogram dengan label PILIH

Dalam dokumen BAB 1 PENDAHULUAN Makalah Microcontroller (Halaman 34-39)

Dokumen terkait