0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan20 halaman

Pengantar Alamat Memori AVR

Dokumen ini membahas tentang pengantar organisasi komputer dengan fokus pada penggunaan memori AVR dan contoh program dalam bahasa assembly. Terdapat penjelasan mengenai direktif, register pointer X, Y, Z, serta cara menggunakan data dari SRAM. Contoh program dan instruksi terkait juga disertakan untuk memberikan pemahaman yang lebih baik tentang pengoperasian memori dan register dalam sistem AVR.

Diunggah oleh

Hillary Elizabeth
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
3 tayangan20 halaman

Pengantar Alamat Memori AVR

Dokumen ini membahas tentang pengantar organisasi komputer dengan fokus pada penggunaan memori AVR dan contoh program dalam bahasa assembly. Terdapat penjelasan mengenai direktif, register pointer X, Y, Z, serta cara menggunakan data dari SRAM. Contoh program dan instruksi terkait juga disertakan untuk memberikan pemahaman yang lebih baik tentang pengoperasian memori dan register dalam sistem AVR.

Diunggah oleh

Hillary Elizabeth
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Pengantar

Organisasi Komputer

AVR Memory
M. Anwar Ma’sum, Bayu Anggorojati, Grafika Jati
Contoh Program

.include “[Link]“

forever:

ldi R26, 04 ; 04 diartikan sebagai nilai desimal 4

ldi R27, $02 ; $02 diartikan sebagai 02 dalam hexadecimal

ld R16, X

andi R16, 0x63

st X, R16 0x02 = $02


rjmp forever

Tim Dosen - POK 2016


Directive – code segment
• Beberapa Directive yang sering digunakan:

Tim Dosen - POK 2016


Directive – code segment (cont.)

Tim Dosen - POK 2016


Directive – code segment (cont.)

Tim Dosen - POK 2016


Directive – define bytes

Tim Dosen - POK 2016


Directive – origin

Tim Dosen - POK 2016


Directive – define words

Tim Dosen - POK 2016


Directive – .db dengan letak
berbeda

Tim Dosen - POK 2016


AVR Register: X, Y, Z
X, Y, Z adalah 16-bit pointer register, digunakan untuk
menunjukkan alamat dengan max 16-bit pada SRAM
Z adalah 16-bit pointer register, dapat digunakan untuk
menunjukkan alamat dengan max 16-bit pada program
memory

Tim Dosen - POK 2016


AVR Register: X, Y, Z
X, Y, Z adalah 16-bit pointer register, digunakan untuk
menunjukkan alamat dengan max 16-bit pada SRAM
Z adalah 16-bit pointer register, dapat digunakan untuk
menunjukkan alamat dengan max 16-bit pada program
memory
Contoh 4:
.EQU Address = RAMEND
LDI YH, HIGH(Address)
LDI YL, LOW(Address)

Tim Dosen - POK 2016


AVR Register

Pointer Sequence Examples


X Read/Write dari/ke alamat X, jangan LD R1,X
nilai ubah pointernya ST X,R1
X+ Read/Write dari/ke alamat X dan LD R1,X+
setelah itu increment satu nilai ST X+,R1
pointernya
-X Decrement satu nilai pointer dan LD R1,-X
kemudian read/write dari/ke alamat ST -X,R1
yang baru

Tim Dosen - POK 2016


Menggunakan Data dari
SRAM Register SRAM
Jumlahkan isi R5 R0 ..
dengan data di memory R1 ..
address $0123. ..
R2 .
Simpan hasilnya di
memory address $0154. R3
R4
R5
.. $0123
.
R16 (Data)
..
R17 .
.. $0154
.
R28 ..
R29 ..
..
R30 .
R31 Tim Dosen - POK 2016
Menggunakan Data dari
SRAM Register SRAM
LDI YH, $01
LDI YL, $23
LD R16, Y
R0 ..
R1 ..
ADD R16, R5
..
R2 .
LDI ZH, $01 R3
LDI ZL, $54
R4
ST Z, R16
R5
.. $0123
.
R16 (Data)
..
R17 .
.. $0154
.
R28 =$23 ..
ALU R29 =$01
Y ..
..
R30 =$54 .
Z
R31 =$01 Tim Dosen - POK 2016
Contoh program: [Link]

Tim Dosen - POK 2016


Init Stack Pointer

Tim Dosen - POK 2016


Copy Program Memory to Data
Memory

Tim Dosen - POK 2016


Copy Program Memory to Data
Memory (cont.)

Tim Dosen - POK 2016


Copy Data Memory to Data
Memory

Tim Dosen - POK 2016


Pointer Z ke Program Memory

Tim Dosen - POK 2016

Anda mungkin juga menyukai