Dasar-Dasar Pemrograman Assembler

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Pemograman DEBUG.
PERTEMUAN KE 5 OPERASI LOMPAT/JUMP.
OPERASI ARITMATIKA OPERASI PENAMBAHAN 1. ADD
ASSEMBLER PERTEMUAN KE-1
Manipulasi Bit dan Logika
Frekuensi Quartz Crystal atau Ceramic Resonator (kedua istilah ini disebut Osilator) yang dapat digunakan berkisar antara 0 Hz hingga 24 MHz, bahkan.
Turbo Assembly Operasi Aritmatika.
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.
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure, suatu program yang besar dapat disusun secara terstruktur.
Turbo Assembly Stack.
Organisasi Komputer STMIK – AUB SURAKARTA
Instruksi Percabangan
Dasar pemrograman Mikroprosesor 8086
PENGAMBILAN KEPUTUSAN
SET INTRUKSI & PEMOGRAMAMN ASSEMBLEY MCS 51
Operasi TIMER/COUNTER
Procedure. Procedure???? Procedure merupakan suatu alat bantu yang sangat berguna. Dengan procedure suatu program yang besar bisa diselesaikan dengan.
JWASM Mencetak angka.
BAHASA RAKITAN BAGIAN 3.
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
POINTER & MANIPULASI BIT DAN LOGIKA
1 IKI10230 Pengantar Organisasi Komputer Kuliah no. A3: Bahasa Rakitan AVR Arithmetic & Logic Instructions 14 Maret 2003 Bobby Nazief
Pertemuan 12 Pemrograman Mikrokontroler 8051 Matakuliah: H0194/Aplikasi Mikroprosesor dan Interfacing Tahun: 2005 Versi: 1.0.
OPERASI ARITMATIKA.
Program Bahasa Rakitan dengan DEBUG.COM
Arsitektur Perangkat Lunak 8086
Dasar-Dasar Pemrograman Assembler
lnstruksi Aritmetika dan Logika
Mikrokontroler Materi 2
INSTRUKSI LOGIKA DASAR
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
Program Bahasa Rakitan dengan DEBUG.COM
BAB IV Teknik Pemrograman
Pertemuan III SET Instruksi.
Mode Pengalamatan.
SAP-2.
SAP-3.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
SISTEM MIKROPROSESOR PERTEMUAN 4.
REGISTER.
Mode Pengalamatan &Jenis-Jenis Instruksi
ORGANISASI & ARSITEKTUR KOMPUTER 2 SET INSTRUKSI IBP WIDJA, MT
Mata Kuliah : Bahasa Rakitan
Pengenalan Assembler.
OPERASI PEMINDAHAN DATA
FLOW CONTROL INSTRUTIONS
PENGANTAR MIKROKONTROLER
OPERASI ARITMATIKA.
Pertemuan 6 Instruksi Bahasa Rakitan 8088
Model Hipotesis SAP-2 Abdillah, S.Si, MIT.
MEMBUAT PROGRAM COM.
Pertemuan 17 Pemrograman Mikrokontroler 8051 (Lanjutan)
Interrupt By Kustanto, S.T., M.Eng.
OPERASI PEMINDAHAN DATA
Pemrograman Terstruktur
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
Ilustrasi kinerja CPU.
Pemrograman Terstruktur
Memori & Pemrograman MCS-51
Seven Segmen By Kustanto.
INSTRUKSI PENGAMBIL KEPUTUSAN DAN STACK
CHAP 6 SET INSTRUKSI MEMORI
PERCOBAAN DISPLAY LED BAHAN YANG DIBUTUHKAN
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Dasar-Dasar Pemrograman Assembler By Kustanto

1. Instruksi (MOV, MOVC, dan MOVX) MOV :digunakan untuk menyalin data antara 2 operand. MOVC :Untuk menyalin data yang terdapat pada memory program internal. MOVX :Untuk menyalin data yang terdapat pada memory program eksternal

Contoh Contoh Syntax Keterangan MOV A,R1 Salin nilai R1 ke akumulator Salin isi lokasi yang ditunjuk R1 ke A MOV A,P1 Salin data pada port 1 ke Akumulator MOV P1,A Salin data pada Akumulator ke Port 1 MOVC A,@X+DPTR Salin data int. Yang di tunjuk DPTR ke A MOVX A,@DPTR Salin data eks. Yang ditunjuk DPTR ke A MOVX @DPTR,A Salin data Akumulator ke lokasi yang ditunjuk DPTR

2. Instruksi (ADD dan SUBB) ADD : Digunakan untuk melakukan operasi penjumlahan Akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator. SUB :Untuk melakukan operasi pengurangan akumulator dengan suatu operand dan hasilnya disimpan dalam akumulator.

Contoh Contoh Syntax Keterangan ADD A,#20 A=A + 20 ADD A,@R0 A=A + [R0] SUB A,B A=A-B SUB A,#10 A=A-10

3. Instruksi (MUL AB dan DIV AB) MUL AB : Digunakan untuk melakukan operasi perkalian antara Akumulator dengan register B. Hasilnya berupa data 16 bit dengan low byte pada A dan high byte pada B. Contoh: A=50h B=A0h MUL A,B hasilnya=3200h maka: A=00h B=32h

DIV AB :digunakan untuk melakukan operasi pembagian antara Akumulator dengan regiser B. Hasilnya pembagian disimpan pada Akumulator dan sisa pembagian disimpan pada register B. Contoh: A=FBh B=12h DIV A,B Hasilnya= 0Dh maka: A=0Dh B=11h

3. Instruksi (DEC dan INC) DEC :digunakan untuk melakukan pengurangan sebesar satu pada suatu operand. INC :digunakan untuk melakukan penambahan sebesar satu pada suatu operand.

Contoh: Syntax Keterangan DEC A A=A-1 DEC @R0 [R0]=[R0] – 1 INC A INC DPTR DPTR= DPTR + 1

4. Intruksi (ORL, ANL dan CPL) ORL :Untuk melakukan operasi OR antara dua operand. ANL :Untuk melakukan operasi AND antara dua operand. CPL :Untuk melakukan operasi komplemen suatu operand.

Contoh Syntax Akumulator Register B Hasil ORL A,B 0011 1010 1111 0000 1111 1010 ANL A,B 0011 0000 CPL A 1100 0101

5. Instruksi (RR, RL dan SWAP) RR :Untuk melakukan operasi pergeseran ke kanan sebanyak 1 bit. RL :Untuk melakukan operasi pergeseran ke kiri sebanyak 1 bit. SWAP :Untuk melakukan operasi pertukaran data low nible dan high nible

Contoh Syntax Akumulator Hasil RR A 0011 1010 0001 1101 RL A 0111 0100 SWAP A 1010 0011

6. Instruksi (SETB dan CLR) SETB : digunakan untuk memberikan logik 1 pada bit operand. CLR :Untuk memberikan logik 0 pada bit operand. Contoh: SETB P2.0 SETB P0.0 CLR P2.1

7. Instruksi PUSh dan POP, DJNZ PUSH :Untuk menyimpan operand ke dalam stack. POP :Untuk mengembalikan nilai operand dari stack. DJNZ : Melakukan lompatan jika nilainya di kurangi 1 dan hasilnya tidak nol.

Contoh push 7 push 6 push 5 mov R7,#04h loopa: mov R6,#0ffh loopb: mov R5,#0ffh djnz R5,$ djnz R6,loopb djnz R7,loopa pop 5 pop 6 pop 7

Instruksi JMP JMP (jump) :Melakukan lompatan ke suatu blok program. Contoh: org 00h start: jmp loop org 300h loop: setb p0.0 clr p0.1 sjmp loop end

Instruksi JB dan JNB JB (Jump if bit) dan JNB (Jump if not bit) :digunakan untuk melakukan lompatan ke suatu blok program jika nilai operand 1 (bit) atau 0 (not bit). Contoh: org 00h start: mov p0,#00h jb p0.0, nyala sjmp start nyala: setb p2.0 end

Contoh: instruksi JNB org 00h start: mov p0,#0ffh jnb p0.0,nyala sjmp start nyala: setb p2.0 end

Instruksi JZ dan JNZ JZ (Jump if zero) :Untuk melakukan lompatan ke suatu blok program jika nilai operand 0 (zero). JNZ (Jump if not zero) : Untuk melakukan lompatan ke suatu blok program jika nilai operand 1 (not zero).

Contoh org 00h utama: mov R1,#10 start: dec R1 jz R1,nyala sjmp start nyala: setb p2.0 jmp utama end

Instruksi CJNE CJNE (Compare and Jump if Not Equal) :Digunakan untuk melakukan pembandingan dua operand dan lompat ke blok program lain jika tidak sama. Contoh: org 00h utama: mov a,#10 tambah: inc a cjne a,#20,tambah setb p2.0 sjmp utama end

Instruksi CALL dan RET CALL :dignakan untuk memanggil prosedur tertentu dalam program (subprogram). RET :digunakan untuk mengembalikan ke baris program yang melakukan CALL.

Contoh org 00h kedip: setb p2.0 call tunda clr p2.0 sjmp kedip tunda: mov r7,#20 la: mov r6,#0ffh lb: mov r5,#0ffh djnz r5,$ djnz r6,lb djnz r7,la ret end

Thanks TERIMA KASIH