Laporan Praktikum 7 (avr)

  • Uploaded by: Muhammad Saulil Cisc
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Laporan Praktikum 7 (avr) as PDF for free.

More details

  • Words: 963
  • Pages: 7
Loading documents preview...
[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Computer Engineering 2013

PRAKTIKUM VII AVR INSTRUCTION 1. Percobaan 0 Source Code

:

Hasil Program : Analisa : Pada program diatas digunakan untuk menentukan STACK POINTER agar berada dalam alamat RAM terakhir. Pada ATmega128 alamat RAM terakhir adalah 0x10FF. Dimana Low Byte adalah 0xFF dan High Byte adalah 0x10. Sehingga dalam melakukan operasi pasa R0 sampai dengan R15 tidak terganggu oleh STACK. 2. Percobaan 1 Source Code

:

Hasil Program :

Analisa : Pada percobaan 1 mahasiswa diminta untuk memindahkan GPR ke RAM dengan menggunakan indirect. Dengan menggunakan perintah BRNE, perintah ini akan terus melakukan Brench / Percabangan jika status Zero Flag adalah 0. Jika status zero flag sama dengan 1 maka BRNE akan berhenti melakukan percabangan. Perlu

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

1

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Computer Engineering 2013

diketahui bahwa yang menyebabkan terjadinya perubahan status register adalah operasi yang dilakukan ALU, oleh karena itu untuk counter yaitu R25 dilakukan pengurangan / decrement. Sehingga jika R25=0 maka zero flag akan menjadi 1. 3. Percobaan 2 Source Code

:

Hasil Program : PENGISIAN R24 s.d. R31

PENGISIAN R197 s.d. 190 Analisa : Pada percobaan ini dilakukan pemindahan register di R24 sampai dengan R31, karena R26 s.d. R31. Karena R26 sampai dengan R31 adalah register yang digunakan untuk indirect addressing maka digunakan bantuan dari stack untuk menampung

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

2

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Computer Engineering 2013

data sementara. Pertama yang dilakukan adalah memanfaatkan register Z untuk melakukan perulangan kemudian setelah pengisian sampai dengan R29 maka di POP Stack. Sehingga terisi sebagaimana yang dimaksud dengan soal. 4. Percobaan 3 Source Code

:

Hasil Program : RAM 190 s.d 197 REGISTER DATA Analisa : Pada percobaan ini dilakukan pemindahan nilai pada alamat yang sesuai dengan soal yang dimaksud. Dengan menggunakan perulangan maka dipindah data 0 sampai dengan 7 ke alamat 0x197 sampai dengan alamat 0x190. Kemudian dengan memanfaatkan register indirect addressing yang sebelumnya maka dipindahkan data dari 0x190 sampai dengan 0x197 ke alamat R16 sampai dengan R23. DImana alamt R16 adalah 0x10. 5. Percobaan 4 Source Code

:

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

3

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Hasil Program : PORTA

Computer Engineering 2013

PORTB

Analisa : Pada percobaan diatas dilakukan output nilai pada PORTA dan PORTB. Untuk membuat PORT menjadi output maka nilai DDR harus diubah menjadi 1. Sehingga nilai PORT dapat menjadi output dengan bantuan perintah OUT maka dapat dimasukkan nilai sesuai dengan yang diinginkan oleh soal dimana nilai di PORTA adalah 0x55 dan di PORTB adalah 0xAA. 6. Percobaan 5 Source Code

:

Hasil Program : INPUT

OUTPUT Analisa : Pada percobaan ini dilakukan percobaan untuk membaca nilai dari PORTC . Agar nilai PORT dapat digunakan sebagai input maka nilai pada DDR harus diubah menjadi 0 dapat dibaca. Dengan menggunakan perintah IN maka dapat dibaca nilai PORTC ke register (GPR). Sehingga didapatkan nilai yang ada di PORTC. 7. Percobaan 6 Source Code

:

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

4

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Hasil Program : KONDISI 1

Computer Engineering 2013

KONDISI 2

Analisa : Pada percobaan ini mahasiswa diminta untuk melakukan pengubahan output yang ada pada PORTA dimana masing masing nilai diubah dari 0x55 menjadi 0xAA dan sebalikya dengan mengggunakan delay. Delay dibuat dengan memanfaatkan cycle tiap instruksi (non timer). 8. Percobaan 7 Source Code

:

Hasil Program : SREG HASIL

Analisa : Pada percobaan diatas dilakukan instruksi penjumlahan antara 0x38 dan 0x2F. Pada percobaan ini R17 digunakan sebagai Low Byte dan R18 sebagai High Byte. Untuk mengatisipasi adanya carry maka digunakan instruksi BRCC dimana apabila carry flag = 0 maka akan loncat ke label. Jika Carry Flag =1 maka akan ke instruksi di bawahnya. Pada percobaan ini Pada Status register untuk Half Flag menjai 1 karena ada loncatan nilai dari Bit 3 ke Bit 4.

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

5

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

9. Percobaan 8 Source Code

Computer Engineering 2013

:

Hasil Program : SREG HASIL

Analisa : Pada percobaan diatas dilakukan instruksi penjumlahan antara 0x9C dan 0x64. Pada percobaan ini R17 digunakan sebagai Low Byte dan R18 sebagai High Byte. Untuk mengatisipasi adanya carry maka digunakan instruksi BRCC dimana apabila carry flag = 0 maka akan loncat ke label. Jika Carry Flag =1 maka akan ke instruksi di bawahnya. Pada percobaan ini Pada Status register untuk Half Flag menjai 1 karena ada loncatan nilai dari Bit 3 ke Bit 4. Dan pada Carry Flag bernilai 1 karena ada nilai lebih dari penjumlahan ini dan nilai Carry tersebut ditampung pada R18. 10. Percobaan 9 Source Code

:

Hasil Program : SREG HASIL

Analisa : Pada percobaan diatas dilakukan instruksi penjumlahan antara 0x9C dan 0x64. Pada percobaan ini R17 digunakan sebagai Low Byte dan R18 sebagai High Byte. Untuk

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

6

[PRAK. ASSEMBLY – LOGIC INSTRUCTION]

Computer Engineering 2013

mengatisipasi adanya carry maka digunakan instruksi BRCC dimana apabila carry flag = 0 maka akan loncat ke label. Jika Carry Flag =1 maka akan ke instruksi di bawahnya. Dan pada Carry Flag bernilai 1 karena ada nilai lebih dari penjumlahan ini dan nilai Carry tersebut ditampung pada R18. 11. Percobaan 10 Source Code :

Hasil Program : SREG (Saat 0x80 + 0x80) HASIL

Analisa : Pada percobaan ini dilakukan penjumlahan 0x80 dan 0x80. Dari hasil tersebut didapatkan nilai 0x0 100 yang ditampung di register 16 (R16). Karena R16 merupakan register 8 bit maka nilai yang ada di R16 adalah 0x00. Kemudaian nilai carry hasil penjumlahan di jumlahkan dengan 0x02. DImana nilai carry sebelumnya adalah 1 maka jika dijumlahkan dengan 0x02 maka hasil di R16 adalah 0x03.

Rizki Taufik Ulil Albab/2210131040 | Politeknik Elektronika Negeri Surabaya

7

Related Documents


More Documents from "ulfa afifah"

Laporan Praktikum 7 (avr)
February 2021 3
February 2021 0
February 2021 0
February 2021 3
Hizib Siti Mariam.pdf
February 2021 1
Asma Raja Daud.docx
January 2021 2