Wednesday 29 March 2017

ASSEMBLER - STACK DAN PROSEDUR

STACK DAN PROSEDUR


1.1 Tujuan

    1. Memahami cara kerja stack dan prosedur pada mikroprosesor
    2. Memahami instruksi stack dan  prosedur
   3. Mampu membuat perangkat lunak dengan menggunakan instruksi-instruksi yang berhubungan  dengan proses stack dan prosedur

1.2 Peralatan Yang Digunakan

    1. 1 set PC atau laptop
    2. Perangkat lunak simulator sms32v50
    3. Buku Kerja

1.3 Teori Dasar

Stack

Stack artinya adalah "tumpukan". Stack adalah bagian memori yang digunakan untuk menyimpan nilai dari suatu register pada alamat offset terakhir suatu segmen secara sementara. Stack dapat pula didefinisikan sebagai sekelompok lokasi memori di dalam memori baca tulis yang digunakan untuk menyimpan memori sementara selama proses eksekusi program. Lokasi awal memori stack didefinisikan di dalam program utama dan alokasi stack ini biasanya berada pada peta memori baca tulis bagian atas.

Prosedur (Subrutin)

Prosedur atau subrutin adalah sebuah kelompok instruksi yang membentuk substack (misalnya operasi penunda waktu) yang sering dikerjakan oleh program utama. Stack dan subrutin menawarkan keuntungan yang fleksibel di dalam penulisan program. Sebuah rencana pembuatan software yang besar biasanya dibagi dlaam substack yang disebut modul. Awal sebuah modul subrutin, isi register program utama disimpan ke dalam stack dan isi register dikembalikan sebelum kembali ke program utama. Instruksi operasi pada assembler yang menggunakan stack adalah PUSH dan POP. Dalam proses stack ini melibatkan register Stack Pointer (SP). Contoh instruksi stack ditunjukkan dalam Tabel 1. Sedangkan instruksi prosedur ditunjukkan dalam Tabel 2.

Tabel 1 Contoh instruksi stack

Assembler Machine Code Explanation


PUSH BL
E0 01

Isi   register   BL   dikopi   ke   lokasi   memori   yang





ditunjukkan oleh register SP dan register SP dikurangi





satu.








POP BL
E1 01

Isi lokasi memori yang ditunjuk oleh register SP dikopi





ke register BL dan isi register SP ditambah satu.








PUSHF
EA

Isi   register   SR   dikopi   ke   lokasi   memori   yang








ditunjukkan oleh register SP dan register SP dikurangi





satu.








POPF
EB

Isi lokasi memori yang ditunjuk oleh register SP dikopi





ke register SR dan isi register SP ditambah satu.










Tabel 2 Instruksi prosedur/subrutin








CALL 30
CA 30

Instruksi untuk memanggil prosedur di alamat 30.





Alamat berikutnya ditaruh di memori sesuai alamat SP





dan IP bernilai 30.








RET
CB

Kembali dari prosedur. Lompat ke alamat sesuai SP





(pop dari stack)














No comments:

Post a Comment

MATERI PENGANTAR TEKNOLOGI INFORMASI DAN KOMUNIKASI SEMESTER 1 PERTEMUAN KAMIS, 19 DESEMBER 2018

TUGAS PENGANTAR TEKNOLOGI INFORMASI DAN KOMUNIKASI Silahkan cari/browsing di internet jurnal nasional atau internasional yang berhubungan...