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

Disusun oleh : Muhammad Rofiq, ST, MT 1


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 2


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 Bus data digunakan untuk membawa data antara CPU, RAM
dan IO port. Simulator ini memiliki bus data 8-bit
Address Bus Bus Alamat digunakan untuk menentukan apa alamat RAM
atau port IO harus digunakan. Simulator memiliki alamat 8-bit
bus.
Control 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.

Disusun oleh : Muhammad Rofiq, ST, MT 3


MODUL PRAKTIKUM ASSEMBLER

Hardware I Interupsi Hardware membutuhkan setidaknya satu jalur. Ini


nterrupts 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.

Disusun oleh : Muhammad Rofiq, ST, MT 4


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 tombol
disamping atau tekan Alt+O atau tekan Escape.
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 AL,15
MOV BL,40
MOV CL,5E
MOV DL,D2
END

Running program step by step, kemudian lengkapi tabel berikut ini sesuai
pengamatan.

Register
List File
AL BL CL DL IP SP SR

Dari tabel diatas, berikan analisis Anda !

Disusun oleh : Muhammad Rofiq, ST, MT 5


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 AL,31
MOV [40],AL
MOV BL,[40]
END

Register M
List File
AL BL CL DL IP 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 AL,31
MOV BL,25
MOV [BL],AL
MOV CL,[BL]
END

Disusun oleh : Muhammad Rofiq, ST, MT 6


MODUL PRAKTIKUM ASSEMBLER

Register M
List File
AL BL CL DL IP 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 7


MODUL PRAKTIKUM ASSEMBLER

Disusun oleh : Muhammad Rofiq, ST, MT 8

Anda mungkin juga menyukai