Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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. SUB :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] SUB A,B A=A-B SUB 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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.