Escolar Documentos
Profissional Documentos
Cultura Documentos
Disusun Oleh :
Set Instruksi
Terdapat banyak set instruksi pada ATMega 8535. Namun ada beberapa instruksi yang
sering digunakan dalam pemograman, diantaranya :
V. LANGKAH KERJA
a. Membuka software AVR Studio 4.0
b. Membuat project baru
c. Membuat program untuk menyelesaikan soal-soal berikut:
d. Selanjutnya memeriksa apakah terjadi error atau kesalahan dengan meng-assembler
program tersebut dengan menekan tombol [F7] atau menekan ikon assembler.
e. Apabila tidak terjadi error, maka tekan ikon assembler + run, untuk menjalankan
program.
f. Lalu mengisi data pada register atau data area sesuai perintah pada soal
g. Selanjutnya tekan [F11] untuk menjalankan program secara bertahap atau step by step.
h. Mengamati perubahan yang terjadi hingga hasil yang diinginkan keluar.
i. Membuat kesimpulan
VI. HASIL PRAKTIKUM
1.Buat Program untuk mengisi register register berikut?
R0 =7fh,R1=44h,R2 = 9ch ,R3=A2h ,R4=FFh ,R5 = 80h
loop:
rjmp loop
adc r12,r16 //menambahkan carry hasil dari r7 ditambah r4 ,r16 bernila 000 pada awalnya
//r8=r3+r5
mov r8,r5 //Memindahkan r5 ke r8
add r8,r3 // menambahkan r8 dengan r3
adc r13,r16 //menambahkan carry hasil dari r8 ditambah r3 ,r16 bernila 000 pada awalnya
//r9=r4-r2
mov r9,r4 //Memindahkan r4 ke r9
sub r9,r2 /mengurangkan r2 dengan r9
//r10=r2-r1
mov r10,r2 //Memindahkan r2 ke r10
sub r10,r1 //mengurangkan r1 dengan r10
end:
rjmp end
.include"m8535def.inc"
.org 0x0000
rjmp main
main:
ldi r16,low(ramend)
out spl,r16
ldi r16,high(ramend)
out sph,r16
//input konstanta reg
ldi r17,0x87
ldi r18,0x30
ldi r19,0xA6
ldi r20,0x76
ldi r16,0x00
mov r2,r17
add r2,r18
mov r4,r19
sub r4,r20
mul r2,r4
end:
rjmp end
main:
ldi r16,low(ramend)
out spl,r16
ldi r16,high(ramend)
out sph,r16
ldi r16,0x77
mov r0,r16
ldi r17,0x44
mov r1,r17
ldi r18,0x00
main:
ldi r16,low(ramend)
out spl,r16
ldi r16,high(ramend)
out sph,r16
ldi r16,0x77
ldi r17,0x44
mul r16,r17
mov r8,r1
mov r9,r0
mov r0,r16
mov r1,r17
end:
rjmp end
5.Mengalikan data biner 16 bit dengan 8 bit pada register (r18:r17)*(r19) hasil disimpan pada r4:r3:r2
.include "m8535def.inc"
.org 0x0000
rjmp main
main:
ldi r16,low(ramend)
out spl,r16
ldi r16,high(ramend)
out sph,r16
//program
ldi r18,0x4F
ldi r17,0x9C
ldi r19,0x88
ldi r20,0x00
mov r4,r20
mov r3,r20
mov r2,r20
mov r21,r19
//penjumlahan berulang
berulang:
add r2,r17
adc r3,r18
adc r4,r20
dec r21
brne berulang
//instruksi mul
ldi r26,0x00
mul r17,r19
mov r23,r1
mov r22,r0
mul r18,r19
mov r25,r1
mov r24,r0
add r23,r24
adc r26,r25
mov r7,r26
mov r6,r23
mov r5,r22
loop:
rjmp loop