Anda di halaman 1dari 8

MODUL

PRAKTIKUM ASSEMBLER

BAB I TRANSFER DATA


1.1 Tujuan 1. Memahami proses pentransferan data pada mikroprosesor 2. Mampu membuat perangkat lunak dengan menggunakan instruksi-instruksi yang berhubungan dengan proses pentransferan data 1.2 Peralatan Yang Digunakan 1. 1 set PC atau laptop 2. Perangkat lunak simulator sms32v50 3. Buku Kerja 1.3 Teori Dasar Dalam perangkat lunak simulator ini, arsitektur mikroprosesor meliputi Central Processing Unit (CPU), RAM 256 byte, I/O 16 port (6 yang digunakan), perangkat keras timer dengan trigger interupsi 02, keyboard dengan trigger interupsi 03, dan perangkat eksternal yang sudah terkoneksi dengan port mikroprosesor. Arsitektur mikroprosesor dalam simulator ini ditunjukkan dalam Gambar 1.

Gambar 1 Arsitektur Mikroprosesor Simulator

MODUL

PRAKTIKUM ASSEMBLER

Central Processing Unit (CPU) CPU adalah "otak" dari komputer. Semua perhitungan, keputusan dan perpindahan data diolah di CPU. CPU memiliki lokasi penyimpanan yang disebut register. CPU juga memiliki register yang disebut Aritmatika dan Logika Unit (ALU) di mana perhitungan matematika dan logika dilakukan. Data diambil dari register, diproses dan hasil kembali ke register. CPU memiliki kumpulan perintah-perintah untuk berbagai proses yang disebut set instruksi. Salah satu instruksi untuk perpindahan data adalah mov. Register Umum (General Purpose Registers) CPU ini memiliki empat register umum disebut AL, BL, CL dan DL. Lebar data dalam register ini adalah delapan bit atau satu byte. Register dapat menyimpan nomor unsigned dalam kisaran 0-255 dan ditandatangani angka di kisaran -128 sampai 127. Register digunakan sebagai lokasi penyimpanan sementara. Register digunakan dalam preferensi untuk lokasi RAM karena membutuhkan waktu yang relatif lama untuk mentransfer data antara RAM dan CPU. Komputer yang lebih cepat umumnya memiliki register yang lebih atau memori di dalam pada chip CPU. Register yang bernama AL, BL, CL dan DL karena versi 16-bit CPU ini memiliki lebih register disebut AH, BH, CH dan DH. The 'L' berarti rendah dan 'H' berarti Tinggi. Register Khusus (Special Purpose Registers) Register khusus dalam CPU disebut IP, SR dan SP Instruction Pointer (IP) Register ini berisi alamat dari instruksi dieksekusi. Ketika eksekusi selesai, IP meningkat ke titik ke instruksi berikutnya. Instruksi Langsung mengubah nilai IP sehingga melompat aliran program ke posisi baru. Intruksi CALL dan INT juga mengubah nilai yang disimpan dalam IP. Dalam tampilan RAM, yang merupakan instruksi pointer disorot merah dengan teks kuning. Status Register (SR) Register ini berisi tanda (bendera / flag) yang melaporkan status CPU. The 'Z' zero flag bernilai 1 jika perhitungan memberikan hasil nol. The 'S' sign flag bernilai 1 jika perhitungan memberikan hasil negatif. The 'O' overflow flag diset jika hasilnya melebihi nilai maksimum dalam register. The 'I' interrupt diset jika interupsi diaktifkan.

Disusun oleh : Muhammad Rofiq, ST, MT

MODUL

PRAKTIKUM ASSEMBLER

Stack Pointer (SP) Stack atau tumpukan adalah daerah memori terorganisir menggunakan LIFO terakhir dalam aturan keluar pertama. Stack pointer menunjuk ke tumpukan berikutnya lokasi yang kosong. Dalam simulator ini, tumpukan dimulai pada alamat BF tepat di bawah RAM yang digunakan untuk tampilan video. Tumpukan bergerak menuju alamat nol. Data dimasukkan ke stack untuk disimpan untuk penggunaan selanjutnya. Data diambill dari tumpukan bila diperlukan. Stack pointer SP melacak di mana data yang akan disimpan maupun yang akan diambil. Dalam tampilan RAM, stack pointer disorot biru dengan teks kuning Random Access Memory (RAM) Dalam simulator ini memiliki 256 byte RAM. Alamat RAM dimulai dari 0 sampai 255 dalam angka desimal atau dari [00] untuk [FF] dalam angka heksadesimal. Alamat RAM biasanya diberikan dalam tanda kurung siku seperti [7C] mana 7C adalah angka heksadesimal. Baca [7C] sebagai "data yang disimpan di lokasi 7C" Bus Bus adalah kumpulan kabel yang digunakan untuk membawa sinyal sekitar komputer. Bus umumnya dicetak sebagai trek paralel pada papan sirkuit. Sebuah komputer 8-bit biasanya memiliki register lebar 8 bit (8 kabel dalam bus). Sebuah komputer 16-bit memiliki register 16 bit (16 kabel dalam bus) dan sebagainya. Data Bus Address Bus Bus data digunakan untuk membawa data antara CPU, RAM dan IO port. Simulator ini memiliki bus data 8-bit Bus Alamat digunakan untuk menentukan apa alamat RAM atau port IO harus digunakan. Simulator memiliki alamat 8-bit bus. Bus Kontrol ini untuk menentukan apakah CPU akan mengakses RAM atau port IO. Bus Kontrol juga untuk menentukan apakah data sedang dibaca atau ditulis. CPU membaca data ketika mengalir ke CPU. Bus Kontrol menulis data ketika data mengalir keluar dari CPU ke RAM atau port IO. Clock membawa pulsa reguler sehingga semua komponen elektronik dapat berfungsi pada saat yang tepat. Kecepatan clock antara 100 dan 200 juta siklus per detik khas (1997). Hal ini disebut sebagai clock speed dalam MHz atau megahertz. Simulator berjalan dalam gerakan lambat sekitar satu instruksi per detik. Hal ini disesuaikan pada rentang kecil.

Control Bus

Disusun oleh : Muhammad Rofiq, ST, MT

MODUL

PRAKTIKUM ASSEMBLER

Hardware I nterrupts

Interupsi Hardware membutuhkan setidaknya satu jalur. Ini memungkinkan CPU untuk merespon peristiwa dipicu oleh perangkat keras. CPU memproses beberapa kode mesin dalam menanggapi interupsi. Setelah selesai, maka dilanjutkan dengan tugas aslinya.

Penjelasan simulator Tampilan simulator ditunjukkan dalam Gambar 2.

Gambar 2 Tampilan simulator

Untuk menulis program assembler, gunakan tab source code (Alt+U). Jika program sudah selesai anda ketik, untuk menjalankan hasil program dapat digunakan tombol-tombol sebagai berikut:

Running a Program
Untuk menjalankan program untuk satu perintah. Bisa beberapa perintah dengan menekan tombol step yang dipercepat.

MODUL

PRAKTIKUM ASSEMBLER

Untuk menjalankan program secara terus menerus. Bisa dengan menekan tombol disamping atau tekan F9 atau Alt+R. Untuk mempercepat atau memperlambat program yang berjalan. Bisa dengan menekan tombol disamping atau tekan Alt+L or Alt+T Untuk menghentikan program dengan menekan disamping atau tekan Alt+O atau tekan Escape. tombol

Untuk memulai lagi program yang ter-pause dengan menekan tombol disamping atau tekan Alt+N. Untuk memulai kembali program dari awal dengan menekan tombol disamping atau tekan Alt+E. Untuk membuka tampilan RAM dengan menekan tombol disamping atau tekan Alt+M. 1.4 Prosedur Percobaan Buka program sms32v50 kemudian tulis program percobaan dibawah ini. Program 1 Program 1 ini berisi program untuk memindahkan data 8 bit secara langsung ke register tujuan. Register tujuan meliputi register-register 8 bit yaitu AL, BL, CL, dan DL. Perpindahan data ini disebut Immediate Move.
;Program1 CLO MOV MOV MOV MOV END

AL,15 BL,40 CL,5E DL,D2

Running program step by step, kemudian lengkapi tabel berikut ini sesuai pengamatan. List File Register DL IP

AL

BL

CL

SP

SR

Dari tabel diatas, berikan analisis Anda !

Disusun oleh : Muhammad Rofiq, ST, MT

MODUL

PRAKTIKUM ASSEMBLER

Program 2 Program 2 berisi program untuk memindahkan data dari register ke memori atau sebaliknya. Perpindahan data ini disebut Direct Move (Memory).
;Program2 CLO MOV MOV MOV END

AL,31 [40],AL BL,[40]

List File

AL

BL

CL

Register DL IP

M SP SR

Dari tabel diatas, berikan analisis Anda ! Program 3 Program 3 berisi program untuk memindahkan data dari register ke memori (alamatnya ditunjukkan dari nilai register tertentu) atau sebaliknya. Perpindahan data ini disebut Indirect Move.
;Program3 CLO MOV MOV MOV MOV END

AL,31 BL,25 [BL],AL CL,[BL]

Disusun oleh : Muhammad Rofiq, ST, MT

MODUL

PRAKTIKUM ASSEMBLER

List File

AL

BL

CL

Register DL IP

M SP SR

Dari tabel diatas, berikan analisis Anda !

1.5 Tugas 1. Jelaskan kaidah penulisan program bahasa assembler yang baik! 2. Buatlah tabel konversi dari heksadesimal 0 F ke biner ! 3. Apa yang dimaksud dengan opcode (operator) dan operand ? Jelaskan ! 4. Jelaskan apa yang dimaksud dengan program 1 Byte, 2 Byte, dan 3 Byte ! Berikan contohnya ! 5. Carilah kode ASCII untuk karakter huruf yang meliputi huruf kapital dan huruf kecil ! 6. Buatlah program untuk memindahkan data dengan karakter H, E , L, L, O (lihat kode ASCII) ke RAM dengan alamat C0, C1, C2, C3, C4 ! (Gunakan kaidah penulisan program yang baik!)

Disusun oleh : Muhammad Rofiq, ST, MT

MODUL

PRAKTIKUM ASSEMBLER

Disusun oleh : Muhammad Rofiq, ST, MT

Anda mungkin juga menyukai