LAB SHEET 5 PEMROGRAMAN DENGAN STACK POINTER (INSTRUKSI PUSH DAN POP)

dokumen-dokumen yang mirip
LAB SHEET 2 MODUS PENGALAMATAN DAN ISI MEMORI DATA

LAB SHEET 3 OPERASI ARITMATIKA

LAB SHEET 4 OPERASI LOGIKA

Operasi Transfer Data

LAB SHEET 1 PENGENALAN Z80 SIMULATOR IDE OSHONSOFT

PERCOBAAN 5 STACK DAN SUBROUTINE. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

PERCOBAAN 2 TRANSFER DATA. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

PERCOBAAN 1 PENGENALAN MIKROPROSESOR MPF-I. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR STACK DAN SUBROUTINE

PERCOBAAN 3 INSTRUKSI ARITMATIK DAN LOGIK. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

BAB 2 Pemrograman Zilog Z80

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

LAPORAN PRAKTIKUM MIKROPROSESOR PEMINDAHAN DATA

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR INSTRUKSI PERCABANGAN DAN LOOP

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR APLIKASI DASAR INSTRUKSI ARITMATIKA DAN OPERASI LOGIK

BAB 4 STACK AREA, SUBROUTINE dan INSTRUKSI BLOK

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

INSTRUKSI DASAR Salahuddin, SST.

PERCOBAAN 4 INSTRUKSI PERCABANGAN. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

PERCOBAAN 7 PEMBAGIAN BINER

Bahasa Pemrograman Assembler 8051

INSTRUKSI-INSTRUKSI MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

LAPORAN PRAKTIKUM MIKROPROSESOR PENGENALAN DAN PENGGUNAAN KIT MPF-1. Disusun oleh:

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Mata Kuliah : Bahasa Rakitan Materi ke-3

LAPORAN PRAKTIKUM MIKROPROFESOR Z80-PIO UNTUK GERAK MOTOR STEPPER

Microcontroller: Bahasa Pemrograman Assembly 8051

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

R E G I S T E R. = Code Segment Register = Data Segment Register = Stack Segment Register = Extra Segment Register. 3.

PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

PEMROGRAMAN MIKROPROSESOR KASUS PADA MPF-1

INSTRUKSI MIKROPROSESOR

Sistem Komputer. Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Ada tiga bus dalam sistem komputer

Struktur Bahasa Assembler Mikrokontroller MCS51

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB VII KOMPUTER SEDERHANA SAP-3 (SIMPLE AS POSSIBLE-3)

BAB I PENDAHULUAN. A. Deskripsi. B. Prasyarat. C. Petunjuk Penggunaan Modul. 1. Bagi Guru/Fasilitator

PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG TK Praktikum Bahasa Rakitan Hand On Lab 4

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

BAB 2 TINJAUAN TEORITIS

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain :

SISTEM KOMPUTER.

LAPORAN PRAKTIKUM. Praktek Mikroprosesor 1 Job Sheet 2

Kuis : Bahasa Rakitan (UAS)

Simple As Possible (SAP) - 1. Abdul Syukur

Lampiran A : Listing Instruksi Lampiran B : Tabel

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Materi 3: Instruction Set

PERCOBAAN 6 INSTRUKSI PUTAR, GESER, DAN ROUTINE PERKALIAN. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

BAB 3 Pemrograman Zilog Z80 Lanjutan

DT-51 Application Note

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

ARSITEKTUR MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

BAHASA PEMROGRAMAN MIKROKOMPUTER

Arsitektur Set Instruksi. Abdul Syukur

Mengenal bahasa assembly

THERMOMETER DIGITAL DENGAN MODUL DST-51, ADC-0809 DAN LCD 2X16

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM POINTER OPERASI ARITMATIKA

PERTEMUAN. SET INSTRUKSI MIKROKONTROLER AT 89C51 (Lanjutan)

de KITS Application Note AN51 How 2 Use de KITS SPC Character LCD w/ PC

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Daftar Isi. Daftar Isi Pertemuan 6: Perintah Masukkan dari Keyboard P6.1. Teori Masukkan dari Keyboard... 3

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM OPERASI ARITMATIKA. Kelas : INF 2B Praktikum 1 Nama : Fernalia NIM : J3C212210

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

Berbagi Data File Folder lewat Jaringan LAN

BAB 2 LANDASAN TEORI

Pengendalian 8 buah Motor oleh DST-51

Teknik Interface Keypad 4x3 ke DST-51

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

Antar Muka Modul RTC-1287 dengan Modul DST-51

BAHASA PEMOGRAMAN MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

BAB II TINJAUAN PUSTAKA

I/O dan Struktur Memori

Karateristik proses baca dan tulis suatu data pada media disk magnetic, terbagi atas :

Simple As Possible (SAP) - 1. Abdul Syukur

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

8/4/2011. Microprocessor & Microcontroller Programming. Bahasa Pemrograman. Bahasa Pemrograman. Bahasa Pemrograman

Diktat Kuliah Instruksi dan Segmentasi

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

AD Channel AD Conversion

BROWSING DAN DOWNLOAD

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

Laporan Modul 2, EL3006 Timer/Counter dan Interrupt Jongguran Sondang DN ( )/ Kelompok 48/ Jumat, 14 Maret 2008 Asisten: Virgilius

KONFIGURASI PIN-PIN MIKROPROSESOR Z 80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

Latihan 1: Mengoperasikan Excel

Gambar 1.1. Diagram blok mikrokontroller 8051

BAB III RANCANGAN DAN CARA KERJA ALAT

1 IDENTITAS. A. Dasar Teori A.1 SAP Pengantar. 2. Arsitektur. Kajian Simple As Possible Computer (SAP-1) Topik Pemrograman SAP-1

Menggunakan Bahasa Pemrograman Assembly

ARSITEKTUR MIKROPROSESOR

PERTEMUAN : 4 EKSPLORASI DEBUG

BAB 2 TINJAUAN TEORITIS

Modul Kuliah Bahasa Rakitan. Harry Witriyono, M.Kom. I. Bahasa Rakitan, Microprocessor dan Bilangan

PERCOBAAN 2 SAKLAR PUSH BUTTON

Transkripsi:

LAB SHEET 5 PEMROGRAMAN DENGAN STACK POINTER (INSTRUKSI PUSH DAN POP) A. TUJUAN Dapat menjalankan program aritmatik dengan instruksi PUSH dan POP serta melihat isi dari register SP maupun address yang bersangkutan. B. ALAT DAN BAHAN 1. Lembar tugas 2. Sofware Z80 Simulator IDE Oshonsoft C. TEORI DASAR Stack pointer adalah memori tempat simpan isi register 16 bit yang hanya berkaiatan dengan operasi penyimpannan PUSH dan operasi pengambilan POP. Register SP (stack pointer) adalah pencatat address stack dan memiliki sifat menunjuk ke address memori lainnya. Operasi register SP selalu berkaitan dnegan operasi PUSH dan POP, di mana operasi ini khusus menyimpan dan mengambil isi register BC, DE, HL, IX, IY dan register AF di stack. Instruksi terseut dapat dijabrkan sebagai berikut: - Instruksi PUSH qq: (SP 1) qq (high) (SP 2) qq (low); sehingga setelah instruksi PUSH qq maka address register SP (stack pointer) itu adalah: SP SP 2 - Instruksi POP qq: qq (low) (SP) qq (high) (SP + 1); sehingga setelah instruksi POP qq maka address 30

register SP (stack pointer) itu adalah: SP SP + 2 Jadi instruksi PUSH dan POP itu harus digunakan berpasangan. Agar lebih jelas perhatikan program di baawah ini. LD SP, 1980H : register SP mencatat address 1980, yaitu address awal stack pointer LD DE, 1850H : register DE diisi angka 1850H LD BC, AAFEH : register BC diisi angka AAFEH PUSH DE : simpan isi register DE ke stack PUSH BC : simpan isi register BC ke stack POP HL : isi stack terakhir di masukkan ke register HL POP IX : isi stack terakhir di masukkan ke register IX Keterangan: a. Sebelum dilakukan instruksi PUSH dan POP isi register SP adalah 1980H b. Setelah PUSH DE berlangsung, isi register D tersimpan di memori dengan address 197FH dan isi register E tersiman di memori dengan address 197EH. Register SP menggeser isi catatannya sebanayak 2 kali ke bawah sehingga isi register SP menjadi 197EH. Jadi hasil dari PUSH DE adalah: - memori yang addressnya 197FH berisi 18H - memori yang addressnya 197EH berisi 50H - register SP menjadi berisi 197EH c. Setelah PUSH BC berlangsung, isi register B tersimpan di memori dengan address 197DH dan isi register C tersiman di memori yang addressnya 197CH. Register SP menggeser isi catatannya sebanyak 2 kali ke bawah, sehingga isi register SP menjadi 197CH. Jadi hasil dari PUSH BC adalah: - memori yang addressnya 197DH berisi AAH - memori yang addressnya 197CH berisi FEH - register SP menjadi berisi 197CH 31

d. Setelah POP HL berlangsung, maka isi register L menjadi FEH dan isi register H menjadi AAH. Register SP menggeser isi catatannya 2 kali ke atas, sehingga isi register SP menjadi 197EH. Isi memori yang addressnya 197CH dan 197DH sudah berubah dan bukan FEH maupun AAH. - register HL menjadi berisi AAFEH - register SP menjdi berisi 197EH - isi address menjadi 197FE dan 197EH bukan lagi 18H dan 50H - isi address memori 197DH dan 197CH bukan lagi AAH dan FEH e. Setelah POP IX berlangsung, maka isi register IX menjadi berisi 1850H dan register SP menggeser catatan kembali berisi 1980H. Pada MPF Z-80 register SP tidak harus di-set, karena pada MPF Z-80 register SP sudah di-set oleh program ROM yang ada pada address 1F9FH. D. LANGKAH KERJA PROGRAM I 1. Jalankan Z80 Simulator IDE 2. Klik Tools / Assembler dan ketik program berikut (tanpa komentar, hanya perintah menmonik) : LD SP, 1900H Set register SP pada 1900H LD BC, 1910H BC 1910H LD IX, 1920H IX 1920H PUSH BC SP BC PUSH IX SP IX POP HL HL SP POP IY IY SP HALT.END 3. Pada jendela Assembler klik Tools / Assemble untuk cek kesalahan, simpan file ASM ke folder anda masing-masing. 4. Muat program ke Simulator dengan mengklik Tools / Assemble & Load. 5. Jalankan simulator dengan mengklik Simulation / Start 6. Cek hasil tampilan jendela Simulator Z80, lihat nilai-nilai register apakah sudah sesuai dengan yang diisikan dan cek pula pada tampilan file log.txt 32

7. Ubah isi register SP = 1820H, BC = 1900H, IX = BCDAH, dan periksa register-register maupun address yang bersangkutan. PROGRAM II 1. Jalankan Z80 Simulator IDE 2. Klik Tools / Assembler dan ketik program berikut (tanpa komentar, hanya perintah menmonik) : LD B, 05H B 05H LD HL, 1900H HL 1900H LOOP PUSH BC SP BC LD A, (HL) A (HL) LD B, 03H B 03H KALI ADD A, A A A+ A DJNZ KALI LD (HL), A (HL) A INC HL HL HL + 1 POP BC BC SP DJNZ LOOP HALT.END 33

3. Pada jendela Assembler klik Tools / Assemble untuk cek kesalahan, simpan file ASM ke folder anda masing-masing. 4. Muat program ke Simulator dengan mengklik Tools / Assemble & Load. 5. Pada jendela Z80 Simulator IDE klik Tools / Memory Editor untuk memasukkan data di alamat 1900 H sd 1904H dengan cara: scroll layar sampai terlihat lokasi 1900H, kemudian klik pada lokasi tersebut dan masukkan nilai 01 kemudian tekan ENTER, lakukan dengan cara yang sama untuk data sebagai berikut : ORG 1900H 1900 01 DEFB 01H 1901 02 DEFB 02H 1902 03 DEFB 03H 1903 04 DEFB 04H 1904 05 DEFB 05H 5. Jalankan simulator dengan mengklik Simulation / Start 6. Cek hasil tampilan jendela Simulator Z80, lihat nilai-nilai register apakah sudah sesuai dengan yang diisikan dan cek pula pada tampilan file log.txt 34

7. Setelah mengetikkan pada MPF-1 maka periksa isi masing-masing register dan address yang terlibat pada program. Terlihat perbedaan isi pada lokasi memori 1900H sd 1904H sebelum dan sesudah program dijalankan. 8. Buat kesimpulan fungsi dari program diatas. Setelah itu ubah data pada address 1900H sampai dengan 1904H dan jalankan program tersebut dan periksa isi masing-masing register dan address yang terlibat. 35