Sie sind auf Seite 1von 4

INSTRUKSI DALAM BAHASA ASSAMBLY Dalam keluarga mcs 51 terdapat beberapa instruksi yang sering digunakan seperti instruksi

pemindahan, instruksi a. Instruksi pemindahan Bentuk umum nya adalah : Ins parameter A parameter B Dimana Ins adalah perintah pemindahan yang biasa nya dipakai Mov, kemudian operator A adalah variable tujuan, sedangkan operator B adalah sumber yang bisa berupa variable, nilai, maupun alamat. Contoh nya : Mov A,R0 Artinya adalah pindahkan nilai yang ada pada Register 0 kedalam Akumulator Berikut ini adalah beberapa intruksi pemindahan yang sering dilakukan : Mov A, Rn pindahkan nilai pada Register ke n kedalam akumulator Mov A,#10 pindahkan nilai 10 kedalam akumulator Mov A,10 pindahkan nilai yang berada pada alamat 10 kedalam akumulator Mov A,@R0 pindahkan nilai yang berada pada alamat yang ditunjukkan dalam register R0 kedalam akumulator

b. Instruksi Aritmatika Digunakan untuk operasi penjumlahan, pengurangan, perkalian, pembagian, increment, dan decrement. Bentuk umumnya adalah sebagai berikut: Ins parameter A parameter B Dimana Ins dapat berupa ADD untuk penjumlahan ,SUBB untuk pengurangan,MUL untuk perkalian, DIV untuk pembagian ,INC untuk increment, DEC untuk decrement. Contoh : 1. penjumlahan ADD A,Rn tambah kan nilai pada Register ke n kedalam akumulator ADD A,#10 tambah kan nilai 10 kedalam akumulator ADD A,10 tambah kan niai yang berada pada alamat ke 10 kedalam akumulator

ADD A,@Rn tambah kan nilai yang berada pada alamat yang ditunjukkan dalam register Rn kedalam akumulator ADDC A,Rn Menambahkan immediate data ke akumulator dengan carry 2. pengurangan SUBB A,Rn kurangkan nilai pada Register ke n terhadap akumulator 3. perkalian MUL AB Kalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B 4. pembagian DIV AB Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya. Perlu diingat untuk operasi perkalian dan pebagian antara parameter tidak dipisahkan oleh koma 5. increment dan decrement INC A tambahkan nilai dalam akumulator dengan 1 DEC A kurangkan nilai dalam akumulator dengan 1 Karena decrement dan increment digunakan untuk operasi tunggal maka bentuk umum nya sebagai berikut : Ins parameter A

c.

instruksi logika

instruksi logika biasa nya digunakan untuk AND,OR,XOR,COMPLEMENT bentuk umum nya adalah : Ins parameter A parameter B Contohnya adalah ANL A,Rn lakukan perintah AND untuk nilai yang berada pada akumulator dan Register n

ANL A,#10 lakukan perintah AND untuk nilai 10 dengan nilai yang berada pada akumulator ORL A,Rn lakukan perintah OR untuk nilai yang berada pada akumulator dengan nilai yang berada pada Register n XRL A,Rn lakukan perintah XOR untuk nilai yang berada pada akumulator dan register n CPL A inverskan nilai yang berada pada akumulator d. instruksi percabangan terdapat berberapa instruksi yang dapat digunakan dalam bahasa assembly diantaranya sebagai berikut: 1. conditional jump akan melakukan lompatan jika syarat yang diminta terpenuhi, seperti while yang terdapat pada bahasa C, namun hanya akan melakukan lompatan ke alamat sejauh 128 byte sebelum dan 127 byte sesudah nya. Berikut adalah contoh dari conditional jump : Wait : JNB P0.2, wait Maksud dari instruksi diatas adalah program akan label operand akan dieksekusi jika bit yang diperiksa bernilai tidak sama dengan satu, dan akan mengeksekusi program dibawah nya jika sama dengan satu. 2. Direct jump Digunakan untuk melompat ke alamat memori tertentu tanpa memperhatikan persyaratan tertentu. Biasa nya digunakan untuk mengakhiri suatu program, atau pengulangan terus menerus sampai menunggu interupsi dari input. Berikut ini adalah contoh diret jump : LOOPHERE : AJMP LOOP HERE 3. Direct Calls Merupakan perintah untuk memanggil nilai yang berada pada fungsi subroutine, seperti halnya dalam bahasa C terdapat fungsi selain fungsi utama yang akan dipanggil baik secar nilai maupun secara alamat.

Berikut adalah bentuk umum dari Direct calls yang memanggil subroutine fungsi nya : MAIN: CALL DELAY

DELAY: RET Saat pemanggilan subroutine fungsi delay akan berhenti setelah mencapai RET, dimana RET menandakan nilai delay telah diperoleh.

Das könnte Ihnen auch gefallen