Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Dasar-Dasar Pemrograman Assembler

Presentasi serupa


Presentasi berjudul: "Dasar-Dasar Pemrograman Assembler"— Transcript presentasi:

1 Dasar-Dasar Pemrograman Assembler
By Kustanto

2 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

3 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 Salin data int. Yang di tunjuk DPTR ke A MOVX Salin data eks. Yang ditunjuk DPTR ke A Salin data Akumulator ke lokasi yang ditunjuk DPTR

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

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

6 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

7 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

8 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.

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

10 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.

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

12 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

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

14 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

15 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.

16 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

17 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

18 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

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

20 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).

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

22 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

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

24 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

25 Thanks TERIMA KASIH


Download ppt "Dasar-Dasar Pemrograman Assembler"

Presentasi serupa


Iklan oleh Google