Pekerjaanku

Halaman ini dikhususkan berisi hal-hal yang terkait dengan kegiatan saya sebagai karyawan di Pusat Laboratorium Terpadu dan staf pengajar di Fakultas Sains dan Teknologi-UIN Syarif Hidayatullah Jakarta.

Monday, September 25, 2006

Cara menggunakan Simulator Mikroprosessor Z-80

Simulator Z-80 adalah aplikasi yang sangat hebat bagi pelajar maupun programer mikroprosesor Z-80 dengan tampilan yang user friendly, dan sudah dilengkapi dengan Compiler basic, assembler, simulator, debugger, dan disassembler untuk 8-bit mikroprocessor. Jendela aplikasi utama menampilkan struktur register internal mikroprocsessor Z-80, mnemonik dari instruksi terakhir yang dijalankan, siklus clock, pencacah instruksi, dan interrupt interface.


Penjelasan mengenai menu bar yang ada pada jendela aplikasi utama adalah sebagai berikut:

File Menu:

Clear Memory, meng-clear isi memori, seluruh lokasi memori diisi dengan NOP (00H)

Load Program
, memasukan program ke dalam memori. Program harus dalam format file HEX intel atau binary (OBJ) dengan panjang maksimum 64Kbyte.

Save Memory
, menyimpan isi memori dalam bentuk file ke dalam media pnyimpan.


Simulation Menu:

Start (F1), memulai mode simulasi Z-80 dan menjalankan instruksi mulai dari lokasi sesuai dengan parameter alamat awal program. Nulai default-nya adalah 0000H dan nilai ini dapat dirubah menggunakan instruksi “change starting address” dari menu “option”.

Step (F2), intruksi ini hanya tersedia pada mode simulasi “step by step”. Instruksi selanjutnya akan dijalankan setelah menekan tombol F2 pada keyboard.

Stop (F3), menghentikan jalannya program. Setelah program selesai dijalnkan, simulator akan memberikan informasi mengenai jumlah total instruksi yang dijalankan, durasi waktu dari simulasi, dan durasi real time dalam siklus clock.


Rate Menu (memungkinkan pengguna untuk merubah kecepatan simulasi, dan ini bisa dilakukan selama simulasi berjalan):

Step By Step (langkah demi langkah), kecepatan waktu eksekusi instruksi terserah pengguna.

Slow (Lambat), dengan waktu interval 1500 ms)

Normal (biasa), dengan waktu interval 250 ms)

Fast (cepat), dengan waktu interval sekitar 50 ms)

Extremely Fast (sangat cepat), waktu interval sangat singkat dan bergantung pada kecepatan komputer

Ultimate (No Refresh), jendela utama simulator didak disegarkan sehingga akan mempercepat proses eksekusi program. Hal ini dilakukan dalam kombinasi dgn Breakpoints Manager untuk mensimulasikan rutin penunda waktu yang lama secepat mungkin.


Tools Menu:

Memory Editor, untuk menampilkan isi memori. Nilai setiap lokasi memori dapat dirubah dengan meng-klik-nya, isikan nilai yang baru, kemudian tekan tombol ENTER. Kotak pengeditan akan secara otomatis pindah ke lokasi selanjutnya, untuk mengakhiri tekan tombol ESC.

Disassembler, untuk men-disassembler suatu program. Disassembler toidak tergantung pada simulator, dia memiliki memori sendiri (terpisah), sehingga perlu untuk me-load program (dalam format Intel HEX atau binary image) ke memori disassembler terlebih dahulu. Proses disassembler akan dimulai dengan instruksi yang sesuai pada menu disassembler, dan setelah selesai pengguna akan diminta memberikan nama file, file disimpan dalam bentuk file listing (LST).

Peripheral Devices, merupakan tools yang mengamati dan mengendalikan instruksi IN dan OUT dengan 4 buah peralatan I/O eksternal yang dapat di setup dan satu terminal yang dapat digunakan untuk melihat karakter ASCII dari data yang dikirimkan ke port tersebut.

I/O Ports Editor, menyediakan akses yang lengkap untuk mengendalikan range port I/O. Nilai pada port I/O tertentu dapatdirubah dengan meng-kliknya, kotak pengeditan akan secara otomatis pindah ke lokasi selanjutnya, untuk mengakhiri tekan tombol ESC.

External Modules, untuk menampilkan interface otomatis dengan lima modul clinet/server eksternal. Untuk itu diperlukan untuk memberikan class name dari perlatan eksternal pada form ApplicationName.

Assembler, untuk memulai program assembler. Source file dapat diedit, di assemble, kemudian di-load ke memori simulator. Ekstensi default untuk file yang dibuat adalah ASM. Setelah proses assemble selesai, akan dihasilkan dua file, satu adalah file dengan ekstensi OBJ (binary image) yang dapat langsung di-load ke memori CPU, dan yang kedua adalah file dengan ekstensi LST yang merupakan assembler listing yang dapat digunakan untuk debugger. Jika diinginkan untuk membuat file HEX, maka program juga akan menghasilkan file dalam format Intel HEX. Hal ini juga bisa dilakukan menggunakan assembler eksternal seperti TASM atau MASM


Breakpoints Manager, untuk memulai program debugger yang digunakan untuk men-debug dan memonitor jalannya program.


BASIC Compiler, untuk memulai BASIC Compiler.


IEEE 754 Conversion Tool , untuk memulai tool konversi angka real menjadi reprersentasi floating point IEEE 754 tunggal yang akan digunakan sebagai tipe “single data” oleh compiler BASIC.

Simulation Log Viewer, untuk menampilkan seluruh instruksi yang disimulasikan, register-register Z-80 dan flag status.

Interactive Assembler Editor, untuk menampilkan jendela assebler interaktif bagi pemula, sehingga tidak perlu mengingat mnemonik dari intsruksi Z-80.


Options Menu:

Enable Logging, opsi ini meminta simulataor membuat file LOG.TXT pada folder aplikasi yang menampilkan seluruh instruksi yang disimulasikan, register-register Z-80 dan flag status.

HALT Stops Simulation, bila opsi ini dipilih maka simulasi akan secara otomatis berhenti setiap menemukan instruksi HALT.

FF Power On Defaults, opsi ini memungkinkan bagi user untuk memilih nilai awal register Z80 00H atau FFH

Refresh Memory Editor, bila ospi ini dipilih dan memori editor dimulai maka range memori yang ditampilkan akan disegarkan (refresh) setiap setelah instruksi disimulasikan.

Refresh Breakpoints Manager, bila opsi ini dipilih maka Breakpoints Manager akan dimulai, ia akan disegarkan setia[ selesai mensimulasikan suatu intsruksiit

Save Positions, bila opsi ini maka posisi jendela tidak berubah lagi walaupun setelah program ditutup.

Change Clock Frequency, bila opsi ini dipilih maka memungkinkan bagi user untuk mengubah parameter frekwensi yang digunakan untuk menghitung durasi real-time dari simulasi. Nilai yang dapat diberikan dalam MHz akan digunakan untuksesi selanjutnya. Nilai defaultnya adalah 4 MHz.

Change Starting Address, opsi ini memungkinkan user untuk merubah alamat awal simulasi.Nilai yang dimasukan akan diingat untuk digunakan pada sesi selanjutnya. Nilai defaultnya adalah 0000H.

Enable Unofficial Instructions, bila opsi ini dipilih maka akan mengaktifkan dokumentasi tidak resmi (documented unofficial) dari instruksi Z80

Prompt For Value Before IN Instruction, bila opsi ini dipilih maka program akan selalu meminta user memasukan byte pada setiap port secara manual. Jika tidak dipilih, maka nilai akan diambil dari jendela Peripheral Devices or I/O Ports Editor

Enable IN/OUT Instructions Logging, bila opsi ini dipilih akan setiap instruksi IN dan OUT akan menghasilkan log file dengan nama IO.TXT pada folder aplikasi.

Show Confirmation Boxes, bila opsi ini dipilih akan menampilkan box konfirmasi hasil eksekusi dan membutuhkan respon dari user untuk menutup jendela tersebut.


Change Registers Arrangement, opsi ini untuk memilih tata letak panel register pada jendela utama simulator. Ada dua pilihan tata letak.

Use Simple Editor in Basic Compiler and Assembler, bila opsi ini dipilih akan menampilkan jendela editor sederhana yang akan digunakan dalam compiler BASIC dan assembler sehingga lebih nyaman digunakan.

Change Color Theme, opsi ini akan menampilkan kota dialog dengan beberapa pilihan skema warna yang tersedia.


Contoh penggunaan:

Pelajari file memfill.asm pada folder aplikasi. Ini adalah rutin assembler untuk mengisi range FF00H – FFFFH dari memori dengan nilai FFH-00H secara berurutan.

LD A, 0FFH ;initial value in register A
LD BC, 0FF00H ;initial value in register pair BC
L1: LD (BC), A ;load value in A to the memory location addressed by BC
INC BC ;increment BC
DEC A ;decrement A
JP NZ,L1 ;loop until value in A is zero
LD (BC), A ;load value 00H to memory location FFFFH
HALT ;halt cpu
.END


Langkah-langkah:

> Jalankan program simulator Z-80
> Klik Tools\Assembler
> Klik File\Open
> Pilih file memfill.asm dan klik Open. Source program akan ditampilkan pada jendela editor
> Klik Tools\Assemble. Setelah proses selesai assembler akan menghasilkan dua file: memfill.lst (assembler listing with assembled opcodes) dan memfill.obj (binary image of assembled routine ready to be loaded into memory). Hasil pada listing file memfill.lst akan ditampilkan.
>Klik Tools\Load. Inii akan me-load program memfill.obj ke memori simulator Z80
> Tutup jendela assembler
> Pilih Options\Enable logging
> Pilih Options\Refresh Memory Editor
> Klik Tools\Memory Editor. Ini akan membuka jendela Memory Editor. Perhatikan 13 byte ada layar memori editor.
> Atur jendela pada layar sehingga memberikan tampilan yang lebih baik, bila perli pilih Always On Top pada on jendela Memory Editor, Gunakan scroll bar dan pilih range memori FF00H – FFFFH.
>Periksalah apakah Options\HALT Stops Simulation sudah dipilih.
>Periksa pilihan Rate\Fast sudah dipilih. Rate simulasi juga dapat dirubah ketika program berjalan.
> Klik Simulation\Start. Simulasi akan segera dimulai.
>Perhatikan bagaimana program mempengaruhi range memeri yang telah dipilih. Simulasi akan secara berhenti sekitar satu menit. Log file log.txt selama program disimulasikan akan dibuat dan disimpan pada folder aplikasi yang ditampilkan dalam Notepad.

7 Comments:

Blogger ekavandy_@eepis said...

artikel ini lumayan menarik. ini sedikit membantu kami dalam menjalankan simulator z80 untuk mengembangkan kemampuan kami dalam bidang mikroprosesor dan assembly, hal ini cukup membantu kami para teknisi dan programmer.

terima kasih!!!

8:27 PM  
Blogger ekojogja said...

ternyata ada simulatornya ya. saya masih pakai binary sistem Z 80, kalau ada link yang gratisan untu software yang anda pakaikirim ke may email

1:52 PM  
Blogger pakyo said...

dimana mendapatkan simulator z-80 dan hArganya berapa ?

10:13 AM  
Anonymous Anonymous said...

mas, ada ngga artikel yang nge-bahas tentang isi-isi dari 8-bit dan 16-bit load group pada simulator Z-80.
kebetulan dapat tugas nie dari pak dosen.

6:19 AM  
Blogger yuli said...

assalamualaikum pak, sama dengan yang lain kalau ada tolong kirim link untuk dowload simulator Z80 yang gratis. Thanks

7:03 AM  
Blogger Unknown said...

ass...saya dah downlood simulator z80,tapi di menu toolnya asemblernya tidak berfungsi. mohon bantuan...apakah sofwere gratisan ga ada fasilitas asemblernya ato gimana?? trimakasih sebelumnya pak. wassalam

7:35 AM  
Blogger Unknown said...

kak minta bantuannya, waktu di assembler itu errorpath kenapa ya

8:57 AM  

Post a Comment

<< Home