You are on page 1of 6

INSTRUKSI PADA MIKROKONTROLER

1. MOV perintah ini digunakan untuk operasi pertambahan contoh : Mov a, p3 Mov p3, r5 MOV CX, 0Ah MOV DL,30h : menyalin isi data pada port 3 ke dalam akumulator :menyalin isi data yang nilainya yang terdapat pada register 5 ke dalam port 3 :mengisikan jumlah loop yang ingin dilakukan dengan perincian 0-9 terdiri dari 10 angka :bilangan ASCII yang sama dengan 30 hexa adalah 0 yang akan dicetak dahulu dan dimasukkan ke dalam DL sesuai dengan Int 21 hexa service 02 hexa :AH diisi dengan service number dari interrupt

2. INC

MOV AH,02 h

Perintah yang digunakan untuk melakukan penambahan 1 Contoh : INC A INC Rn INC DL INC @R1 INC @Ri : Meningkatkan Akumulator sebesar 1 bit : Meningkatkan Register : Menambahkan DL dengan 1 : Data pada alamat R1 ditambah 1 : Meningkatkan RAM tidak langsung

3. JMP (JUMP) Perintah yang digunakan untuk melompat ke suatu label yang dituju Contoh : Sjmp anda Sjmp proses Ljmp 500h JMP 0203 CMP BX,0230 : lompat atau jalankan langsung program pada label anda : lompat atau jalankan langsung program pada label proses : lompat atau jalankan langsung program pada alamat memori 100h : lompat ke arah lokasi memori offset:0203 : membandingjan BX dengan 0230

4. ADD Perintah yang digunakan untuk operasi penambahan Contoh : 5. SUB Perintah yang digunakan untuk pengurangan Contoh : SUBB A, Rn SUBB A, @Ri SUBB A, #DATA SUBB A, langsung SUB A, 00H : mengurangi register dari akumulator dengan borrow : mengurangi RAM tidak langsung dari akumulator dengan borrow : mengurangi data segera dari akumulator dengan borrow : mengurangi byte langsung dari akumulator dengan borrow : mengurangi data pada alamat memori 00H dengan borrow ADD A,Rn ADD A,@Ri ADD A, #DATA ADDC A, Rn ADDC A, @Ri : menambahkan register ke akumulator : menambahkan RAM tidak langsung ke akumulator : menambahkan data segera ke akumulator : menambahkan register ke akumulator dengan carry : menambahkan RAM tidak langsung ke akumulator dengan carry

6. DEC Perintah yang digunakan untuk melakukan pengurangan 1 Contoh : DEC A DEC Rn DEC LANGSUNG DEC @Ri DEC 06H : Menurunkan akumulator : Menurunkan Register : Menurunkan RAM langsung : Menurunkan RAM tidak langsung : 06H 1 = 05H

7. MUL Perintah yang digunakan untuk melakukan operasi perkalian Contoh : MUL AB : Mengalikan A & B

MUL BL MUL BX MUL BC MUL BZ MUL BD

: mengalikan nilai register BL dengan nilai register AL dan disimpan di register AX : Mengalikan nilai register BX dengan nilai register AX dan disimpan di register DX : Mengalikan nilai register BC dengan nilai register AC dan disimpan di register DC : Mengalikan nilai register BZ dengan nilai register AZ dan disimpan di register DZ : Mengalikan nilai register BD dengan nilai register AD dan disimpan di register DD

8. DIV Perintah yang digunakan untuk melakukan operasi pembagian Contoh : DIV A,B DIV B,C DIV C,D DIV D,E DIV E,F : membagi nilai A dengan B : membagi nilai B dengan C : membagi nilai C dengan D : membagi nilai D dengan E : membagi nilai E dengan F

9. ANL Perintah yang digunakan untuk operasi logika AND COntoh : ANL A,05H ANL A,@R0 ANL A,#50H ANL 07H, A ANL 07H, #02H : Proses AND terhadap A ke 05H : Proses AND terhadap A ke RAM : Proses AND terhadap A ke data pada alamat memori 50H : Proses AND terhadap 07H ke Akumulator : Proses AND terhadap 07H ke 02H

10. ORL Perintah yang digunakan untuk operasi logika OR Contoh L ORL A, 07H ORL A, @R0 ORL A,#60H ORL 08H, A ORL 09H, #03H : proses OR terhadap Akumulator ke 07H : Proses OR terhadap A keRAM : Proses OR terhadap A ke data pada alamat memori 60H : Proses OR terhadap 08H ke Akumulator : Proses OR terhadap 09H ke 03H

11. XRL Perintah yang digunakan untuk operasi logika XOR Contoh XRL A, 07H XRL A, @R0 XRL A,#60H XRL 08H, A XRL 09H, #03H : proses XOR terhadap Akumulator ke 07H : Proses XOR terhadap A keRAM : Proses XOR terhadap A ke data pada alamat memori 60H : Proses XOR terhadap 08H ke Akumulator : Proses XOR terhadap 09H ke 03H

12. CLR Perintah yang digunakan untuk mereset data Contoh CLR A CLR B CLR C CLR D CLR E : Proses untuk menghapus data A : Proses untuk menghapus data B : Proses untuk menghapus data C : Proses untuk menghapus data D : Proses untuk menghapus data E

13. CPL Perintah yang digunakan untuk mengkomplemenkan data Contoh CPL A CPL B CPL C CPL D CPL E : Menentukan komplemen A : Menentukan komplemen B : Menentukan komplemen C : Menentukan komplemen D : Menentukan komplemen E

14. RR/RL Perintah yang digunakan untuk menggeser posisi sebanyak 1 bit Contoh RR A RL A RR rx RL rx : geser ke kanan 1 bit pada akumulator : geser ke kiri 1 bit pada akumulator : geser ke kanan 1 bit pada isi register x : 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 SETB P1.3 SETB P2.3 SETB P1.8 SETB P1.1 : memberikan logika 1 pada port 1.0 : memberikan logika 1 pada port 1.3 : memberikan logika 1 pada port 2.3 : memberikan logika 1 pada port 1.8 : memberikan logika 1 pada port 1.1

16. JB/ JNB Perintah yang digunakan untuk lompat ke label subprogram bila nilai port x.y berlogika LOW atau mempunyai nilai nol Contoh : Jnb p1.0, go Jnb p2.0, go Jnb p3.0, go Jnb p4.0, go Jnb p5.0, go : ke label subprogram bila nilai port 1.0 berlogika LOW : ke label subprogram bila nilai port 2.0 berlogika LOW : ke label subprogram bila nilai port 3.0 berlogika LOW : ke label subprogram bila nilai port 4.0 berlogika LOW : 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 belum tercapai 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 nilainya belum 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

18. CJNE perintah yang digunakan untuk membandingkan apakah nilai data sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram Contoh CJNE RV, XYZ, YUK : perintah yang digunakan untuk membandingkan apakah nilai register v sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram YUK CJNE RX, XYZ, MARI : perintah yang digunakan untuk membandingkan apakah nilai register v sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram MARI CJNE RZ, XYZ, COBA : perintah yang digunakan untuk membandingkan apakah nilai register v sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram COBA CJNE R2, XYZ, RUN : perintah yang digunakan untuk membandingkan apakah nilai register v sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram RUN CJNE R5, XYZ, OUT : perintah yang digunakan untuk membandingkan apakah nilai register v sama dengan nilai xyz , bila nilainya tidak sama maka lompat ke label subprogram OUT

19. NOP Perintah yang digunakan untuk Melakukan Penundaan pada program sebesar 1 cycle (1 micro detik). CONTOH Ajmp Lompatan1 Mov A,#05H Lompatan1 : NOP NOP Mov R0,#00H

You might also like