280 likes | 528 Views
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.
E N D
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
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.
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.
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.
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
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 sjmp start end
Contoh: instruksi JNB org 00h start: mov p0,#0ffh jnb p0.0,nyala sjmp start nyala: setb p2.0 sjmp start 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 call tunda sjmpkedip 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