Program assembly untuk mikrokontroler AT90S1200 yang dapat meng-isikan nilai 0

Berikut ini adalah pertanyaan dari sabrinadinda966 pada mata pelajaran TI untuk jenjang Sekolah Menengah Pertama

Program assembly untuk mikrokontroler AT90S1200 yang dapat meng-isikan nilai 0 ke dalam register R0, nilai 1 ke dalam R1, nilai 2 ke dalam R2, dan seterusnya hingga nilai 29 ke dalam register R29, dengan menggunakan teknik pengalamatan secara tidak-langsung. !

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.

 ldi R16, 0 ; Load 0 into R16  ldi R17, 30 ; Load 30 into R17start:  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 programPada 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