Berikut ini adalah pertanyaan dari sabrinadinda966 pada mata pelajaran TI untuk jenjang Sekolah Menengah Pertama
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
ldi R16, 0 ; Load 0 into R16
ldi R17, 30 ; Load 30 into R17
start:
mov R30, R16 ; Move R16 to R30
st X, R30 ; Store R30 to memory at address X
inc R16 ; Increment R16 by 1
inc X ; Increment X by 1
cpi R16, R17 ; Compare R16 and R17
brne start ; If not equal, go to start
end: ; End of program
Pada program di atas, kita menggunakan register R16 sebagai counter dan register R17 untuk menyimpan nilai akhir yaitu 30. Kita menggunakan pengalamatan tidak langsung dengan memindahkan nilai dari R16 ke dalam register R30 dan menyimpan isinya ke alamat memori X, yang kemudian di-increment setiap kali loop berlangsung. Setelah membandingkan nilai R16 dan R17, jika mereka tidak sama, kita akan kembali ke label start.
Semoga dengan pertanyaan yang sudah terjawab oleh Threadripper dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Mon, 08 May 23