1 / 25

Dasar-Dasar Pemrograman Assembler

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.

chaka
Télécharger la présentation

Dasar-Dasar Pemrograman Assembler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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

  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:

  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

  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

  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 sjmp start end

  19. Contoh: instruksi JNB org 00h start: mov p0,#0ffh jnb p0.0,nyala sjmp start nyala: setb p2.0 sjmp start 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 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

  25. Thanks • TERIMA KASIH

More Related