Tipe-Tipe Instruksi MCS-51 (Arithmatika)

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

erna kumalasari nurnawati
ASSEMBLER PERTEMUAN KE-1
Frekuensi Quartz Crystal atau Ceramic Resonator (kedua istilah ini disebut Osilator) yang dapat digunakan berkisar antara 0 Hz hingga 24 MHz, bahkan.
MikrokontrolerSlamet Winardi Mikrokontroler SISTEM KOMPUTER.
PENGANTAR TEKNOLOGI INFORMASI (A)
BAB IV MODE PENGALAMATAN
Simple as Possible Computer 2
Set-Set Instruksi MCS-51 (Pendahuluan)
Teknik Pemrograman Mikrokontroller (Simbol Bhs Asembler) 1.Label Label menunjukkan alamat lokasi memori fisik yg berkaitan dg pernyataan yg diberi label.
Arsitektur Komputer “Mode Pengalamatan”
Arsitektur Komputer “Instruksi Set Arsitektur”
Mode Pengalamatan.
Organisasi Komputer STMIK – AUB SURAKARTA
Instruksi Percabangan
Dasar pemrograman Mikroprosesor 8086
ARSITEKTUR SET INSTRUKSI
BAB III RAM Internal pada MCS-51
SET INTRUKSI & PEMOGRAMAMN ASSEMBLEY MCS 51
BAB IV Teknik Pemrograman
UNIVERSITAS PANCA MARGAEMBEDDED SYSTEM Addressing Mode.
Erna Kumalasari Nurnawati
ORGANISASI KOMPUTER Mode Pengalamatan 10-Apr-17.
Operasi TIMER/COUNTER
ARSITEKTUR SET INSTRUKSI
SET INSTRUKSI.
LOKASI DAN OPERASI MEMORI
REGISTER.
Pertemuan 12 Pemrograman Mikrokontroler 8051 Matakuliah: H0194/Aplikasi Mikroprosesor dan Interfacing Tahun: 2005 Versi: 1.0.
SISTEM BILANGAN DAN REGISTER
Program Bahasa Rakitan dengan DEBUG.COM
Arsitektur Perangkat Lunak 8086
Dasar-Dasar Pemrograman Assembler
Mikrokontroler Materi 2
Pertemuan 5 (SET INSTRUKSI ARM, MOTOROLA, DAN INTEL)
1 Pertemuan 3 Komponen Sistem Komputer dan Register pada prosesor 8088 Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0.
Pengenalan Assembler.
ARSITEKTUR SET INSTRUKSI
Set Instruksi:.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
BAB IV Teknik Pemrograman
Dasar-Dasar Pemrograman Assembler
Pertemuan III SET Instruksi.
MODE PENGALAMATAN DAN SET INSTRUKSI
Model Hipotesis SAP-3 Abdillah, S.Si, MIT.
Mode Pengalamatan.
SAP-2.
SAP-3.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
SISTEM MIKROPROSESOR PERTEMUAN 4.
ARSITEKTUR SET INSTRUKSI
REGISTER.
Mode Pengalamatan &Jenis-Jenis Instruksi
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Pengenalan Assembler.
OPERASI PEMINDAHAN DATA
PENGANTAR MIKROKONTROLER
Set Instruksi:.
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
OPERASI PEMINDAHAN DATA
ARSITEKTUR SET INSTRUKSI
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
ARSITEKTUR SET INSTRUKSI
Memori & Pemrograman MCS-51
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Tipe-Tipe Instruksi MCS-51 (Arithmatika) Instruksi Arithmatika

Tipe-Tipe Instruksi MCS-51 (Arithmatika) Penjumlahan ADD A, 7Fh ; a diisi dg a+isi dari memori lokasi 7Fh ; (pengalamatan langsung) ADD A, @R1 ; a diisi dg a+isidari memori yang alamatnya ; disimpan di R1 (pengalamatan tak langsung) ADD A, R7 ; a diisi dg a+isi dari R7 ADD A, #127 ; a diisi dg a+127 (pengalamatan segera) 2. Incremental dan Decremental Data di dalam memori internal dapat dinaikkan atau diturunkan tanpa melalui akumulator.

Tipe-Tipe Instruksi MCS-51 (Arithmatika) 3. Perkalian Instruksi MUL AB, mengalikan akumulator dg data yang ada pada register B dan meletakkan hasil 16 bit ke dalam register A dan B 4. Pembagian Instruksi DIV AB membagi isi akumulator dg data dalam reg. B dan meletakkan hasil bagi 8 bit dalam akumulator dan sisanya 8 bit dalam reg. B 5. Decimal Ajust Instruksi DA A, untuk operasi aritmatik BCD

Tipe-Tipe Instruksi MCS-51 (Instruksi Logika)

Tipe-Tipe Instruksi MCS-51 (Instruksi Logika) 1. Operasi AND, OR dan XOR 2. SWAP Mov a, #0Fah ; isi a dengan Fah Swap a ; isi a menjadi Afh

Tipe-Tipe Instruksi MCS-51 (Transfer Data) Mov adalah proses move (pindah) data dari sumber ke tujuan adalah Proses mengcopy

Tipe-Tipe Instruksi MCS-51 (Transfer Data) Memori internal ; keadaan awal isi RAM dg alamat 30h adalah 40h, lokasi 40h ; berisi 10h, P1 berisi 11001010b mov R0,#30h ; R0 berisi 30h mov A,@R0 ; A berisi 40h mov R1, A ; R1 berisi 40h mov B,@R1 ; B berisi 10h mov @R1,P1 ; RAM lokasi 40h berisi 11001010b mov P2,P1 ; P2=P1= 11001010b 2. Program Memori MOVC adalah perintah move code bit,mengcopy isi dari program memori dilokasi yang ditunjukkan oleh DPTR atau PC. Contoh :

Tipe-Tipe Instruksi MCS-51 (Transfer Data) mov A,@A+DPTR ; copy isi program memori lokasi <A+DPTR> ke A, ; Jika mula-mula A berisi 23h dan DPTR berisi 123Eh, ; maka perintah ini mengcopy isi programmemori lokasi ; 1261h ke A mov A,@A+PC ; copy isi program memori lokasi <A+PC> ke A 3. Data Memori MOVX adalah perintah move eksternal, digunakan untuk mengcopy isi dari dan ke data memori. movx A,@R1 ; copy isi data memori lokasi <R1> ke A movx @R0,A ; copy A ke data memory lokasi <R0> movx A,@DPTR ; copy isi data memori lokasi <DPTR> ke A movx @DPTR,A ; copy A ke data memory lokasi <DPTR>

Tipe-Tipe Instruksi MCS-51 (Transfer Data) 4. Proses Stack PUSH (pushing berarti mendorong) dan POP (poping berartimenyembulkan kembali) adalah perintah yg digunakan utk menyelamatkan data karena register yang bersangkutan akan digunakan utk proses lain, atau utk mengingat alamat yang ditinggalkannya akibat adanya pemanggilan subrutin atau adanya interupsi. mov SP,#2Fh ; isi SP dg 2Fh, menunjukkan bahwa stack pointer pada posisi ; memori internal alamat 2F mov a,#0Aah ; isi a dg AAh mov b,#0BBh ; isi b dg BBh PUSH Acc ; memori lokasi 30h berisi Aah, SP=31h PUSH b ; memori lokasi 31h berisi BBh, SP=31h push b ; memori lokasi 32h berisi BBh, SP=32h Pop Acc ; a=memori lokasi 32h=BBh, SP=31h Pop b ; b=memori lokasi 31h=aah, SP=30h

Tipe-Tipe Instruksi MCS-51 (Transfer Data) Proses PUSH akan menaikkan isi SP menjadi SP+1, kemudian mendorong data direct ke lokasi memori yg ditunjukkan oleh SP. Proses POP akan menarik kembali data dari lokasi memori yg ditunjukkan oleh SP, kemudian isi SP dikurangi 1. Proses ini seperti proses menumpuk data di memori dg cara ‘yg masuk terakhir keluar dulu’ atau dalam istilah LIFO (Last In First Out).

Tipe-Tipe Instruksi MCS-51 (Transfer Data) 5. Pertukaran Data XCH adalah pertukaran data antara akumulator dg <byte> yang ragam pengalamatnnya bisa secara direct, register atau indirect. mov a,#0Aah ; isi a dg AAh mov b,#0BBh ; isi b dg BBh XCH a,b ; isi a=BBh, isi b=Aah XCHD adalah pertukaran nibble rendah antara akumulator dg memori dg pengalamatan indirect dg Rn, sementara nibble tinggi tdk berubah. mov a,#0Aah ; isi a dg AAh mov 20h,#0CCh ; memori lokasi 20h berisi CCh mov R1,#20h ; R1 berisi 20h XCHD a,@R1 ; tukar nibble rendah antara A dg memori lokasi ;020h, A=Cah dan memori lokasi 20h berisi 0ACh

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program)

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) Subrutin adalah penggal program yang dapat dipakai berulang-ulang tanpa harus menulis ulang perintahnya. Ada 2 cara memanggil subrutin yang terdapat pada program memori yaitu ACALL yang maksimum hanya bisa mengakses hingga 2K (11 address line) saja dan LCALL yang dapat mengakses hingga 64K. Acall Hitung ; memanggil subrutin hitung Hitung : mov a,#0Aah mov b,#0BBh add a,b ret

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) 2. Pencabangan tak bersyarat Pencabangan dalam asembler biasanya ada huruf J, berarti jump, atau lompat, subrutin adalah lompat dan kembali lagi, kalau hanya lompat tak bersyarat, biasanya tdk kembali ke tempat semula (seperti GOTO). AJMP bisamelompat dalam program memori maks 2K saja. dan LJMP dapat melompat 64K. Pencabangan relatif menggunakan perintah SJMP. Instruksi JMP @A+DPTR adalah lompat absolut ke lokasi memori yg alamatnya ditunjukkan pada DPTR+isi A, lompatan ini biasanya utk pencabangan ke lokasi tertentu yang ditentukan oleh isi A.

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) MOV DPTR,#JMP_TABLE JMP @A+DPTR JMP_TABLE : AJMP LABEL0 AJMP LABEL1 AJMP LABEL2 AJMP LABEL3 Jika isi a mula-mula = 0, maka akan mencabang ke LABEL0, jika a=1 akan mencabang ke LABEL1 dst

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) 3. Pencabangan bersyarat yaitu lompat ke alamat tertentu bila persyaratan terpenuhi. instruksinya CJNE <dest-byte>,<src-byte>, rel ; artinya compare destination byte dan source byte, Jump if not equal along rel(ative). Source byte adalah A, yang dibandingkan dg destination byte berupa direct memori atau immediate constant. Source dapat juga berupadirect Rn atau indirect @Rn yang dibandingkan dg immediate constant. START : CJNE A,#040h,LABEL1 ; bandingkan a dg 40h, jika tak sama lompat ke LABEL1 CJNE A, P1, LABEL1 ; bandingkan a dg P1, jika tak sama lompat ke LABEL1 CJNE R1,#040h,LABEL1 ; bandingkan R1 dg 40h, jika tak sama lompat ke ; LABEL1 CJNE @R1,#0CCh,LABEL1 ; bandingkan indirect R1 dg CCh, jika tak sama ; lompat LABEL1 LABEL! : _______ ________

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) Instruksi DJNZ direct, rel, adalah decrement jump if not zero, artinya kurangi satu dahulu data di direct, kemudian bila isinya nol, maka lompatlah ke rel. Biasanya instruksi ini dipakai untuk pencacah Start : Mov R0,#5 ; isi R0 dg 5 Mov R1,#40h ; isi R1 dg 40h LOOP : Mov @R1,#0Aah ; isi memori di <R1> dg Aah Inc R1 ; R1=R1+1 DJNZ R0, LOOP ; R0=R0-1, jika belum 0 kembali ke loop Sjmp $ ; selesai di sini R0 digunakan utk pencacah sebanyak 5 kali,sedangkan R1 dipakai sebagai pointer memori dg alamat awal 40h.

Tipe-Tipe Instruksi MCS-51 (Pencabangan Program) 4. No operation (NOP) yaitu memrintahkan CPU tdk mengerjakan apa-apa, proses ini hanya menunda kerja dari CPU, karena satu instruksi NOP membutuhkan waktu 1 µS.

Tipe-Tipe Instruksi MCS-51 (Manipulasi dan Operasi Variabel Boolean) Manipulasi dan Operasi Boolean

Tipe-Tipe Instruksi MCS-51 (Manipulasi dan Operasi Variabel Boolean) 1. Operasi SET, CLEAR dan Komplemen SET berarti menjadikan '1', apapun mulanya, CLR berarti menjadikan '0', apapun mulanya sedangkan CPL berarti membalikkan status bit CLR C ; Carry =‘0’ SETB P1.3 ; P1.3 menjadi ‘1’ CLR P1.4 ; P1.4 menjadi ‘0’ Mov a,#10101010b ; isi a menjadi AAh CLR Acc,3 ; a menjadi 10100010b SETB Acc,6 ; a menjadi 11100010b CPL 0E0h ; lokasi bit 0E0h dikomplemenkan.

Tipe-Tipe Instruksi MCS-51 (Manipulasi dan Operasi Variabel Boolean) 2. Operasi Logika Perintah tanda /(slash) adalah operasi NOT, jadi bitnya dikomplemenkan dahulu baru di operasikan logikanya. Set P1.1 ; P1.1 = ‘1’ Set C ; C = ‘1’ ANL C,/P1.1 ; C= ‘1’ AND ‘0’, jadi C = ‘0’ 3. Pencabangan Pencabangan program pada operasi boolean hanya pencabangan bersyarat, yaitu persyaratan jika carry bernilai ‘1’ atau ‘0’, seperti pada JC (Jump if Carry set) dan JNC (Jump if No Carry), No carry berarti carry =‘0’. Instruksi JB adalah Jump if Bit artinya bila bit = ‘1’, maka lompat, kebalikannya adalah JNB (Jump if No Bit), atau bit=‘0’.

Tipe-Tipe Instruksi MCS-51 (Manipulasi dan Operasi Variabel Boolean) Bit adalah semua memori yg dapat dialamati secara bit. Perintah ini dapat digunakan utk mendeteksi port bit berstatus ‘1’ atau ‘0’ Loop : JB P1.3, kebakaran Sjmp aman kebakaran : Setb P1.1 Setb P1.2 ___ ajmp loop aman : clr P1.1 clr P1.2