• Tidak ada hasil yang ditemukan

BAB06A - Instruksi MCS51

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB06A - Instruksi MCS51"

Copied!
18
0
0

Teks penuh

(1)

6. Instruksi-instruksi MCS-51

6. Instruksi-instruksi MCS-51

6.1 Pendahuluan 6.1 Pendahuluan

Sebuah m

Sebuah mikrokontroler tidak ikrokontroler tidak akan bekerja akan bekerja bila tidak bila tidak diberikan diberikan programprogram kepadanya. Program tersebut memberitahu mikrokontroler tentang apa kepadanya. Program tersebut memberitahu mikrokontroler tentang apa yang harus dia lakukan.

yang harus dia lakukan.

Mikrokontroler MCS-51 memiliki 256 perangkat instruksi. Seluruh Mikrokontroler MCS-51 memiliki 256 perangkat instruksi. Seluruh instruksi dapat dikelompokkan dalam 4 bagian yang meliputi instruksi 1 instruksi dapat dikelompokkan dalam 4 bagian yang meliputi instruksi 1  byte

 byte sampai sampai 4 4 byte. byte. Apabila Apabila frekuensi frekuensi clock clock mikrokontroler mikrokontroler yangyang digunakan adalah 12 Mhz, kecepatan pelaksanaan instruksi akan bervariasi digunakan adalah 12 Mhz, kecepatan pelaksanaan instruksi akan bervariasi dari 1 sampai 4 mikrodetik.

dari 1 sampai 4 mikrodetik.

Instruksi yang dimiliki oleh mikrokontroler MCS-51 pada dasarnya Instruksi yang dimiliki oleh mikrokontroler MCS-51 pada dasarnya digolongkan menjadi :

digolongkan menjadi :

instruksi

instruksi operasi operasi aritmatikaaritmatika operasi logika

operasi logika transfer data transfer data

operasi manipulasi boolean operasi manipulasi boolean  perintah

 perintah percabangan.percabangan.

Aturan penulisan bahasa assembly-nya tidak jauh berbeda dengan bahasa Aturan penulisan bahasa assembly-nya tidak jauh berbeda dengan bahasa assembly u

assembly untuk IBM PC. ntuk IBM PC. Masing-masinMasing-masing instruksi g instruksi dapat dijelaskan dalamdapat dijelaskan dalam tabel-tabel di bawah ini.

(2)

6.1.1. Instruksi MCS-51 6.1.1. Instruksi MCS-51 ADD (Add Immediate Data) ADD (Add Immediate Data)

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data - - 256 256 <= <= data data <= <= + + 255255 Format

Format : : ADD ADD A, A, #data#data Operasi

Operasi : : (A) (A) <- <- (A) (A) + + datadata Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah 8 8 bit bit data data langsung langsung ke ke dalam dalam isiisi akumulator dan menyimpan hasilny

akumulator dan menyimpan hasilnya pada a pada akumulatorakumulator

ADD (Add Indirect Address) ADD (Add Indirect Address)

Operand

Operand : : A A AkkumAkkumulatorulator :

: Rr Rr Register Register 0 0 <= <= r r <= <= 11 Format

Format : : ADD ADD A, A, @Rr@Rr Operasi

Operasi : : (A) (A) <- <- (A) (A) + + ((Rr))((Rr)) Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi data data memori memori yang yang lokasinyalokasinya ditunjukkan oleh

ditunjukkan oleh nilai register nilai register r ke r ke isi akuisi akumulator danmulator dan menyim

menyimpan hasilnya dpan hasilnya dalam akumulatoralam akumulator Contoh

Contoh : : ADD ADD A, A, @R1@R1

ADD (Add Register) ADD (Add Register)

Operand

Operand : : A A AkkumAkkumulatorulator :

: Rr Rr Register Register 0 0 - - 77 Format

Format : : ADD ADD A, A, RrRr Operasi

(3)

Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi register register r r dengan dengan isiisi akumulator dan menyimpan hasilnya dalam akumulator akumulator dan menyimpan hasilnya dalam akumulator Contoh

Contoh : : ADD ADD A, A, R6R6

ADD (Add Memori) ADD (Add Memori)

Operand

Operand : : A A AkkumAkkumulatorulator :

: Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 256256 Format

Format : : ADD ADD A, A, Alamat Alamat datadata Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi alamat alamat data data ke ke isi isi kumulatorkumulator dan menyimpan hasilnya dalam akumulator

dan menyimpan hasilnya dalam akumulator Contoh

Contoh : : ADD ADD A, A, 30H30H

ADDC (Add Carry Plus Immediate Data To Accumulator) ADDC (Add Carry Plus Immediate Data To Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data -256 -256 <= <= data data <= <= +255+255 Format

Format : : ADDC ADDC A, A, # # datadata Operasi

Operasi : : (A) (A) <- <- (A) (A) + + (C) (C) + + datadata Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi carry carry flag flag (0 (0 atau atau 1) 1) ke ke dalamdalam isi akumulator.Data langsung 8 bit ditambahkan ke isi akumulator.Data langsung 8 bit ditambahkan ke akumulator.

akumulator. Contoh

Contoh : : ADDC ADDC A,#0AFHA,#0AFH

ADDC (Add Carry Plus Indirect Address To Accumulator) ADDC (Add Carry Plus Indirect Address To Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

(4)

Operasi

Operasi : : (A) (A) <- <- (A) (A) + + (C) (C) + + ((Rr))((Rr)) Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi carry carry flag flag (0 (0 atau atau 1) 1) dengandengan isi akumulator. Isi data memori pada lokasi yang isi akumulator. Isi data memori pada lokasi yang ditunjukkan oleh register Rr ditambahkan dan hasilnya ditunjukkan oleh register Rr ditambahkan dan hasilnya disimpan dalam akumulator

disimpan dalam akumulator Contoh

Contoh : : ADDC ADDC A,@R1A,@R1

ADDC (Add Carry Plus Register To Accumulator) ADDC (Add Carry Plus Register To Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data Register Register 0 0 <= <= r r <= <= 77 Format

Format : : ADDC ADDC A, A, RrRr Operasi

Operasi : : (A) (A) <- <- (A) (A) + + (C) (C) + + (Rr)(Rr) Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi carry carry flag flag dengan dengan isiisi akumulator. Isi register r ditambahkan dan hasilnya akumulator. Isi register r ditambahkan dan hasilnya disimpan dalam akumulator

disimpan dalam akumulator Contoh

Contoh : : ADDC ADDC A,R7A,R7

ADDC (Add Carry Plus Memory To Accumulator) ADDC (Add Carry Plus Memory To Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 Format

Format : : ADDC ADDC A, A, Alamat Alamat datadata Operasi

Operasi : : (A) (A) <- <- (A) (A) + + (C) (C) + + (Alamat (Alamat data)data) Keterangan

Keterangan : : instruksi instruksi ini ini menambah menambah isi isi carry carry flag flag dengan dengan isiisi akumulator.

akumulator. Isi Isi dari alamdari alamat data at data tertentu tertentu ditambahkanditambahkan  pula dan hasilnya disim

 pula dan hasilnya disimpan dalam akumupan dalam akumulatorlator Contoh

(5)

AJMP (Absolute Jump Within 2K byte Page) AJMP (Absolute Jump Within 2K byte Page)

Operand

Operand : : Alamat Alamat kodekode Format

Format : : AJMP AJMP alamat alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 22

: (PC) 0-10 <- page address : (PC) 0-10 <- page address Keterangan

Keterangan : : instruksi instruksi ini ini meletakkan meletakkan bagian bagian bawah bawah 11 11 bit bit daridari  pencacah program dengan 11 bit alamat y

 pencacah program dengan 11 bit alamat yang dikodekan.ang dikodekan.

ANL (Logical AND Immediate Data to Accumulator) ANL (Logical AND Immediate Data to Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data -256 -256 <= <= data data <= <= +255+255 Format

Format : : ANL ANL A, A, #data#data Operasi

Operasi : : (A) (A) <- <- (A) (A) AND AND datadata Keterangan

Keterangan : : instruksi instruksi ini ini meng-ANmeng-AND D kan kan data data 8 8 bit bit secara secara langsunglangsung dengan isi akumulator

dengan isi akumulator Contoh

Contoh : : ANL ANL A,#00001000BA,#00001000B

ANL (Logical AND Indirect Address to Accumulator ANL (Logical AND Indirect Address to Accumulator))

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data Register Register 0 0 <= <= r r <= <= 11 Format

Format : : ANL ANL A, A, @Rr@Rr Operasi

Operasi : : (A) (A) <- <- (A) (A) AND AND ((Rr))((Rr)) Keterangan

Keterangan : : instruksi instruksi ini ini meng-Ameng-AND ND kan kan isi isi memori memori yang yang lokasinyalokasinya ditunjukkan oleh isi register r dengan isi

(6)

Contoh

Contoh : : ANL ANL A,@R0A,@R0

ANL (Logical AND Register to Accumulator) ANL (Logical AND Register to Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: data data 0 0 <= <= Rr Rr <= <= 77 Format

Format : : ANL ANL A, A, RrRr Operasi

Operasi : : (A) (A) <- <- (A) (A) AND AND (Rr)(Rr) Keterangan

Keterangan : : instruksi instruksi ini ini meng-Ameng-AND ND kan kan isi isi register register r r dengan dengan isiisi akumulator

akumulator

ANL (Logical AND Memory to Accumulator) ANL (Logical AND Memory to Accumulator)

Operand

Operand : : A A AkkumAkkumulatorulator :

: Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 Format

Format : : ANL ANL A, A, Alamat Alamat datadata Operasi

Operasi : : (A) (A) <- <- (A) (A) AND AND (Alamat (Alamat data)data) Keterangan

Keterangan : : instruksi instruksi ini ini meng-Ameng-AND ND kan kan isi isi alamat alamat data data dengan dengan isiisi akumulator

akumulator Contoh

Contoh : : ANL ANL A,35HA,35H

ANL (Logical AND Bit to Carry Flag) ANL (Logical AND Bit to Carry Flag)

Operand :

Operand : C C Carry Carry flagflag :

: Alamat Alamat bit bit 0 0 <= <= alamat alamat bit bit <= <= 255255 Format

Format : : ANL ANL C, C, Alamat Alamat bitbit Operasi

(7)

Keterangan

Keterangan : : instruksi instruksi ini ini meng-ANmeng-AND D kan kan isi isi alamat alamat bit bit tertentutertentu dengan isi carry flag. Jika keduanya 1 maka hasilnya 1, dengan isi carry flag. Jika keduanya 1 maka hasilnya 1, selainitu hasilnya 0. Hasilnya ditempatkan pada carry selainitu hasilnya 0. Hasilnya ditempatkan pada carry flag.

flag. Contoh

Contoh : : ANL ANL C, C, 37.337.3

ANL (Logical AND Complement of Bit to Carry Flag) ANL (Logical AND Complement of Bit to Carry Flag)

Operand :

Operand : C C Carry Carry flagflag :

: Alamat Alamat bit bit 0 0 <= <= alamat alamat bit bit <= <= 255255 Format

Format : : ANL ANL C, C, /alamat /alamat bitbit Operasi

Operasi : : (C) (C) <- <- (C) (C) AND AND NOT NOT (alamat (alamat bit)bit) Keterangan

Keterangan : : instruksi instruksi ini ini meng-Ameng-AND ND kan kan hasil hasil komplemen komplemen isi isi alamatalamat  bit

 bit tertentu tertentu dengan dengan isi isi carry carry flag. flag. Hasilnya Hasilnya ditempatkanditempatkan  pada carry flag. Isi alamt bit s

 pada carry flag. Isi alamt bit semula tidak berubah.emula tidak berubah. Contoh

Contoh : : ANL ANL A,/40.5A,/40.5

ANL (Logical AND Immediate Data to Memory) ANL (Logical AND Immediate Data to Memory)

Operand

Operand : : Alamat Alamat data data 0 0 <= <= alamat alamat data data <= <= 255255 :

: data data -256 -256 <= <= data data <= <= +255+255 Format

Format : : ANL ANL Alamat Alamat data, data, #data#data Operasi

Operasi : : (Alamat (Alamat data) data) <- <- (Alamat (Alamat data) data) AND AND datadata Keterangan

Keterangan : : instruksi instruksi ini ini meng-ANmeng-AND D kan kan data data 8 8 bit bit secara secara langsunglangsung dengan isi alamat data tertentu. Hasilnya akan disimpan dengan isi alamat data tertentu. Hasilnya akan disimpan dalam memori data pada alamat tersebut.

dalam memori data pada alamat tersebut. Contoh

(8)

ANL (Logical AND Accumulator to Memory) ANL (Logical AND Accumulator to Memory)

Operand

Operand : : Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 :

: A A AkumuAkumulatorlator Format

Format : : ANL ANL Alamat Alamat data, data, AA Operasi

Operasi : : (Alamat (Alamat data) data) <- <- (Alamat (Alamat data) data) AND AND AA Keterangan

Keterangan : : instruksi instruksi ini ini meng- meng- AND AND kan kan isi isi akumulator akumulator dengan dengan isiisi alamat data tertentu. Hasilnya disimpan dalam memori alamat data tertentu. Hasilnya disimpan dalam memori data pada

data pada alamat yang bersangkutanalamat yang bersangkutan Contoh

Contoh : : ANL ANL 10H,A10H,A

CALL (Generic Call) CALL (Generic Call)

Operand

Operand : : Alamat Alamat kodekode Format

Format : : Call Call alamat alamat kodekode Keterangan

Keterangan : : instruksi instruksi ini ini akan akan ditranslasikan ditranslasikan ke ke ACALL ACALL atau atau LCALLLCALL

CJNE (Compare Indirect Address to Immediate Data) CJNE (Compare Indirect Address to Immediate Data) Jump if Not Equal

Jump if Not Equal

Operand

Operand : : Rr Rr Register Register 0<= 0<= r r <= <= 11 :

: data data -256 -256 <= <= data data <= <= +255+255 : Alamat kode

: Alamat kode Format

Format : : CJNE CJNE @Rr, @Rr, #data, #data, alamat alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 33

: Jika ((Rr)) <> data, maka (PC) <- (PC) + offset relatif : Jika ((Rr)) <> data, maka (PC) <- (PC) + offset relatif : Jika ((Rr))

: Jika ((Rr)) < < data, maka data, maka (C) <- 1,(C) <- 1, : lainnya (C) <- 0

(9)

Keterangan

Keterangan : : instruksi instruksi ini ini akan akan membandingkmembandingkan an data data langsunglangsung dengan lokasi memori yang dialamati oleh register r. dengan lokasi memori yang dialamati oleh register r. Apabila tidak sama, eksekusi akan menuju ke alamat Apabila tidak sama, eksekusi akan menuju ke alamat kode.

kode. Bila Bila sama, sama, instruksi instruksi selanjutnya selanjutnya yang yang akanakan dijalankan.

dijalankan. Jika data langsuJika data langsung lebih besar ng lebih besar dari isi alamdari isi alamatat data tertentu, carry flag akan di - set menjadi 1.

data tertentu, carry flag akan di - set menjadi 1. Contoh

Contoh : : CJNE CJNE @R1, @R1, #01H, #01H, 0009H0009H

CJNE (Compare Immediate Data to Accumulator) CJNE (Compare Immediate Data to Accumulator) Jump if Not Equal

Jump if Not Equal

Operand

Operand : : A A AkumuAkumulatorlator :

: data data -256 -256 <= <= data data <= <= +255+255 : Alamat kode

: Alamat kode Format

Format : : CJNE CJNE A, A, #data, #data, Alamat Alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 33

: Jika (A) <> data, maka (PC) <- (PC) + offset relatif : Jika (A) <> data, maka (PC) <- (PC) + offset relatif : Jika (A

: Jika (A) < ) < data, maka data, maka (C) <- 1,(C) <- 1, : lainnya (C) <- 0

: lainnya (C) <- 0 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan membandingkmembandingkan an data data langsung langsung dengandengan isi akumulator. Apabila tidak sama, eksekusi akan isi akumulator. Apabila tidak sama, eksekusi akan menuju ke

menuju ke alamat kode. alamat kode. Bila sama, Bila sama, instruksi sinstruksi selanjutnyaelanjutnya yang

yang akan dijalankan. akan dijalankan. Jika data langsJika data langsung lebih ung lebih besar daribesar dari isi alamat data tertentu, carry flag akan di - set menjadi 1. isi alamat data tertentu, carry flag akan di - set menjadi 1.

CJNE (Compare Memory to Accumulator) CJNE (Compare Memory to Accumulator)

(10)

Operand

Operand : : A A AkumuAkumulatorlator :

: Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 : Alamat kode

: Alamat kode Format

Format : : CJNE CJNE A, A, Alamat Alamat data, data, alamat alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 33

: Jika (A) <> Alamat data, maka (PC)

: Jika (A) <> Alamat data, maka (PC) <- (PC) + offset<- (PC) + offset : Jika (A)

: Jika (A) < < Alamat data, mAlamat data, maka (C) <- 1,aka (C) <- 1, : lainnya (C) <- 0

: lainnya (C) <- 0 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan membandingkan membandingkan isi isi lokasi lokasi memorimemori tertentu dengan isi akumulator. Apabila tidak sama, tertentu dengan isi akumulator. Apabila tidak sama, eksekusi

eksekusi akan akan menuju menuju ke ke alamat alamat kode. kode. Bila Bila sama,sama, instruksi

instruksi selanjutnya selanjutnya yang yang akan akan dijalankan. dijalankan. Jika Jika datadata langsung lebih besar dari isi akumulator, carry flag akan langsung lebih besar dari isi akumulator, carry flag akan di - set menjadi 1.

di - set menjadi 1.

CJNE (Compare Immediate Data to Register) CJNE (Compare Immediate Data to Register) Jump if Not Equal

Jump if Not Equal

Operand

Operand : : Rr Rr Register Register 0<= 0<= r r <= <= 77 :

: data data -256 -256 <= <= data data <= <= +255+255 : Alamat kode

: Alamat kode Format

Format : : CJNE CJNE Rr, Rr, #data, #data, Alamat Alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 33

: Jika (Rr) <> data, maka (PC) <- (PC) + offset relatif : Jika (Rr) <> data, maka (PC) <- (PC) + offset relatif : Jika (R

(11)

: lainnya (C) <- 0 : lainnya (C) <- 0 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan membandingkmembandingkan an data data langsung langsung deng-andeng-an isi register r. Apabila tidak sama, eksekusi akan menuju isi register r. Apabila tidak sama, eksekusi akan menuju ke alamat

ke alamat kode. kode. Bila sama, Bila sama, instruksi instruksi selanjutnya selanjutnya yangyang akan dijalankan.

akan dijalankan. Jika data Jika data langsung langsung lebih besar lebih besar dari isidari isi register, carry flag akan di - set menjadi 1.

register, carry flag akan di - set menjadi 1.

CLR (Clear Accumulator) CLR (Clear Accumulator)

Operand

Operand : : A A AkumuAkumulatorlator Format

Format : : CLR CLR AA Operasi

Operasi : : (A) (A) <- <- 00 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan me-reset me-reset akumulator akumulator menjadi menjadi 00H00H Contoh

Contoh : : CLR CLR AA

CLR (Clear Carry Flag) CLR (Clear Carry Flag)

Operand

Operand : : CC Format

Format : : CLR CLR CC Operasi

Operasi : : (A) (A) <- <- 00 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan me-reset me-reset carry carry flag flag menjadi menjadi 00H00H Contoh

Contoh : : CLR CLR CC

CLR (Clear Bit) CLR (Clear Bit)

Operand

(12)

Operasi

Operasi : : (Alamat (Alamat bit) bit) <- <- 00 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan me-reset me-reset alamat alamat bit bit menjadi menjadi 00H00H Contoh

Contoh : : CLR CLR 40.540.5

CPL

CPL (Complemen(Complement t Accumulator)Accumulator)

Operand

Operand : : A A AkumuAkumulatorlator Format

Format : : CPL CPL AA Operasi

Operasi : : (A) (A) <-NOT <-NOT (A)(A) Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengkomplemmengkomplemen en isi isi akumulatorakumulator Contoh

Contoh : : CPL CPL AA

CPL

CPL (Complemen(Complement t Carry Carry Flag)Flag)

Operand

Operand : : CPL CPL CC Format

Format : : CPL CPL CC Operasi

Operasi : : (C) (C) <-NOT <-NOT (C)(C) Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengkomplemmengkomplemen en isi isi carry carry flagflag Contoh

Contoh : : CPL CPL CC

CPL

CPL (Complemen(Complement t Bit)Bit)

Operand

Operand : : Alamat Alamat bit bit 0 0 <= <= Alamat Alamat bit bit <= <= 255255 Format

Format : : CPL CPL Alamat Alamat bitbit Operasi

Operasi : : (Alamat (Alamat bit) bit) <-NOT <-NOT (Alamat (Alamat bit)bit) Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengkomplemmengkomplemen en isi isi suatu suatu alamat alamat bitbit Contoh

Contoh : : CPL CPL 33.733.7

DA

(13)

Operand

Operand : : A A AkumuAkumulatorlator Format

Format : : DA DA AA Keterangan

Keterangan : : instruksi instruksi ini ini mengatur mengatur isi isi akumulator akumulator ke ke padanan padanan BCDBCD nya, setelah penambahan dua angka BCD. Jika auxiliary nya, setelah penambahan dua angka BCD. Jika auxiliary carry flag 1 atau isi nibble bawah (bit 0 - 3) dari carry flag 1 atau isi nibble bawah (bit 0 - 3) dari akumulator lebih tinggi dari 9, isi akumulator akan akumulator lebih tinggi dari 9, isi akumulator akan ditambah 6. Jika carry flag di set sebelum atau sesudah ditambah 6. Jika carry flag di set sebelum atau sesudah  penambahan

 penambahan atau atau isi isi nibble nibble atas atas (bit (bit 4 4 - - 7) 7) lebih lebih tinggitinggi dari 9, isi akumulator akan ditambah 60H.

dari 9, isi akumulator akan ditambah 60H.

DEC (Decrement Indirect Address) DEC (Decrement Indirect Address)

Operand

Operand : : Rr Rr Register Register 0 0 <= <= r r <= <= 11 Format

Format : : DEC DEC @Rr@Rr Operasi

Operasi : : ((Rr)) ((Rr)) <-((Rr)) <-((Rr)) -1-1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengurangi mengurangi isi isi lokasi lokasi memori memori yangyang ditunjukkan oleh register r dengan 1. Hasilnya disimpan ditunjukkan oleh register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.

dalam lokasi tersebut.

DEC (Decrement Accumulator) DEC (Decrement Accumulator)

Operand

Operand : : A A AkumuAkumulatorlator Format

Format : : DEC DEC AA Operasi

Operasi : : (A) (A) <-(A) <-(A) -1-1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengurangi mengurangi isi isi akumulator akumulator dengan dengan 1.1. Hasilnya disimpan dalam akumulator

Hasilnya disimpan dalam akumulator Contoh

(14)

DEC (Decrement Register) DEC (Decrement Register)

Operand

Operand : : Rr Rr Register Register 0 0 <= <= r r <= <= 77 Format

Format : : DEC DEC RrRr Operasi

Operasi : : (Rr) (Rr) <-(Rr) <-(Rr) -1-1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengurangi mengurangi isi isi register register r r dengan dengan 1.1. Hasilnya disimpan dalam register r

Hasilnya disimpan dalam register r Contoh

Contoh : : DEC DEC R7R7

DEC (Decrement Memory) DEC (Decrement Memory)

Operand

Operand : : Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 Format

Format : : DEC DEC Alamat Alamat datadata Operasi

Operasi : : (Alamat (Alamat data) data) <-(Alamat <-(Alamat data) data) -1-1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan mengurangi mengurangi isi isi alamat alamat data data dengan dengan 1.1. Hasilnya disimpan dalam alamat tersebut.

Hasilnya disimpan dalam alamat tersebut.

DIV (Divide Accumulator by B) DIV (Divide Accumulator by B)

Operand

Operand : : AB AB Pasangan Pasangan registerregister Format

Format : : DIV DIV ABAB Operasi

Operasi : : (AB) (AB) <-(A)/(B)<-(A)/(B) Keterangan

Keterangan : : instruksi instruksi ini ini membagi membagi isi isi akumulator akumulator dengan dengan isi isi registerregister B. Kedua operand adalah bilangan integer tak bertanda. B. Kedua operand adalah bilangan integer tak bertanda. Akumulator berisi hasil bagi, register B berisi sisa Akumulator berisi hasil bagi, register B berisi sisa  pembagian

 pembagian Contoh

Contoh : : MOV MOV B, B, #5H#5H : DIV AB

(15)

DJNZ ( Decrement Register And Jump If Not

DJNZ ( Decrement Register And Jump If Not Zero)Zero)

Operand

Operand : : Rr Rr Register Register 0 0 <= <= r r <= <= 77 : Alamat kode

: Alamat kode Format

Format : : DJNZ DJNZ Rr, Rr, Alamat Alamat kodekode Operasi

Operasi : : (PC) (PC) <-(PC) <-(PC) + + 22 : (Rr) <- (Rr) -1 : (Rr) <- (Rr) -1

: Jika (Rr) <> 0, maka (PC) <- (PC) + offset relatif : Jika (Rr) <> 0, maka (PC) <- (PC) + offset relatif Keterangan

Keterangan : : instruksi instruksi ini ini mengurangi mengurangi register register r r dengan dengan 1 1 dan dan me- me-nempatkan

nempatkan hasilnya hasilnya pada register tertentupada register tertentu. . Jika hasJika hasilnyailnya sudah 0, instruksi selanjutnya yang akan dieksekusi. Jika sudah 0, instruksi selanjutnya yang akan dieksekusi. Jika  belum 0, eksekus

 belum 0, eksekusi akan menuju ki akan menuju ke alamat kode.e alamat kode.

DJNZ ( Decrement Memory And Jump If Not

DJNZ ( Decrement Memory And Jump If Not Zero)Zero)

Operand

Operand : : Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 : Alamat kode

: Alamat kode Format

Format : : DJNZ DJNZ Alamat Alamat data, data, Alamat Alamat kodekode Operasi

Operasi : : (PC) (PC) <-(PC) <-(PC) + + 33

: (Alamat data) <- (Alamat data) -1 : (Alamat data) <- (Alamat data) -1

: Jika (Alamat data) <> 0, maka (PC) <- (PC) + offset : Jika (Alamat data) <> 0, maka (PC) <- (PC) + offset Keterangan

Keterangan : : instruksi instruksi ini ini mengurangi mengurangi alamat alamat data data dengan dengan 1 1 dan dan me- me-nempatkan

nempatkan hasilnya hasilnya pada alamat pada alamat tersebut. tersebut. Jika hasilnJika hasilnyaya sudah 0, instruksi selanjutnya yang akan dieksekusi. Jika sudah 0, instruksi selanjutnya yang akan dieksekusi. Jika  belum 0, eksekus

 belum 0, eksekusi akan menuju ki akan menuju ke alamat kode.e alamat kode.

INC (Increment Indirect Address) INC (Increment Indirect Address)

(16)

Format

Format : : INC INC @Rr@Rr Operasi

Operasi : : ((Rr)) ((Rr)) <-((Rr)) <-((Rr)) +1+1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan menambah menambah isi isi lokasi lokasi memori memori yangyang ditunjukkan oleh register r dengan 1. Hasilnya disimpan ditunjukkan oleh register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.

dalam lokasi tersebut.

INC (Increment Accumulator) INC (Increment Accumulator)

Operand

Operand : : A A AkumuAkumulatorlator Format

Format : : INC INC AA Operasi

Operasi : : (A) (A) <-(A) <-(A) +1+1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan menambah menambah isi isi akumulator akumulator dengan dengan 1.1. Hasilnya disimpan dalam akumulator

Hasilnya disimpan dalam akumulator Contoh

Contoh : : INC INC AA

INC (Increment Data Pointer) INC (Increment Data Pointer)

Operand

Operand : : DPTR DPTR Data Data PointerPointer Format

Format : : INC INC DPTRDPTR Operasi

Operasi : : (DPTR) (DPTR) <-(DPTR) <-(DPTR) +1+1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan menambah menambah isi isi data data pointer pointer dengan dengan 1.1. Hasilnya disimpan pada data poniter

Hasilnya disimpan pada data poniter Contoh

Contoh : : INC INC DPTRDPTR

INC (Increment Register) INC (Increment Register)

Operand

Operand : : Rr Rr Register Register 0 0 <= <= r r <= <= 77 Format

Format : : INC INC RrRr Operasi

(17)

Keterangan : instruksi ini akan menambah isi register r dengan 1. Keterangan : instruksi ini akan menambah isi register r dengan 1.

Hasilnya disimpan dalam register tersebut Hasilnya disimpan dalam register tersebut Contoh

Contoh : : INC INC R7R7

INC (Increment Memory) INC (Increment Memory)

Operand

Operand : : Alamat Alamat data data 0 0 <= <= Alamat Alamat data data <= <= 255255 Format

Format : : INC INC Alamat Alamat datadata Operasi

Operasi : : (Alamat (Alamat data) data) <-(Alamat <-(Alamat data) data) +1+1 Keterangan

Keterangan : : instruksi instruksi ini ini akan akan menambah menambah isi isi alamat alamat data data dengan dengan 1.1. Hasilnya disimpan dalam alamat tersebut.

Hasilnya disimpan dalam alamat tersebut. Contoh

Contoh : : INC INC 37H37H

JB (Jump if Bit is Set) JB (Jump if Bit is Set)

Operand

Operand : : Alamat Alamat bit bit 0 0 <= <= Alamat Alamat bit bit <= <= 255255 : Alamat kode

: Alamat kode Format

Format : : JB JB Alamat Alamat bit, bit, alamat alamat kodekode Operasi

Operasi : : (PC) (PC) <- <- (PC) (PC) + + 33

: Jika (Alamat bit) = 1, maka (PC) <- (PC) + offset relatif : Jika (Alamat bit) = 1, maka (PC) <- (PC) + offset relatif Keterangan

Keterangan : : instruksi instruksi ini ini akan akan menguji menguji suatu suatu alamat alamat bit. bit. Jika Jika berisi berisi 1,1, ekesekusi akan menuju alamat kode. Jika tidak, instruksi ekesekusi akan menuju alamat kode. Jika tidak, instruksi selanjutnya akan dieksekusi. Pencacah program akan selanjutnya akan dieksekusi. Pencacah program akan dinaikkan pada instruksi selanjutnya. Jika pengujian dinaikkan pada instruksi selanjutnya. Jika pengujian  berhasil,

 berhasil, offset offset relatif relatif akan akan ditambahkan ditambahkan ke ke pencacahpencacah  program

 program yang yang telah telah dinaikkan dinaikkan dan dan instruksi instruksi pada pada alamatalamat ini akan dieksekusi.

(18)

Referensi

Dokumen terkait

Hal ini dikarenakan metode yang diterapkan guru masih monoton yaitu guru hanya menggunakan metode ceramah, tanya jawab, dan pemberian tugas pada setiap

Berdasarkan hasil wawancara yang telah dilakukan dengan pengunjung diketahui bahwa kejernihan air laut, keindahan pantai dan kondisi pasir masih dalam keadaan

Penelitian ini merupakan penelitian deskriptif dengan pendekatan kuantitatif, tujuan dari penelitian ini adalah untuk mengetahui pengobatan penyakit gastritis

Beberapa gejala yang dapat timbul berkaitan dengan hormon melatonin, antara lain, sukar tidur (insomnia), gangguan pada irama sirkadian, jet lag, serta berbagai gejala lain.

Jika ianya bukan demikian bentuk rupa yang khusus ini diketahui oleh Allah dan dikehendaki oleh-Nya, Dia tidak akan membawa kita kepada kewujudan atasnya, dan rupa bentuk ini

Nizarul et al (2007:4) melakukan penelitian tentang empat hal yang dianggap mempunyai hubungan dengan kualitas audit yaitu (1) lama waktu auditor telah melakukan pemeriksaan

(1) Para pelaku mempunyai hak eksklusif untuk memberikan ijin *51751 atau melarang orang lain untuk menyewakan secara komersial rekaman asli atau salinan karya pertunjukannya

TERENGGANU PPD DUNGUN TBA1022 SK PASIR RAJA KG... SEKOLAH TERENGGANU