Sabtu, 31 Maret 2018

Bahasa Rakitan


INTERRUPT
adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu.
Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi.

REGISTER
Register merupakan sebagian memori dari mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi.
Dalam melakukan pekerjaannya mikroprosesor selalu menggunakan register-register sebagai perantaranya, jadi register dapat diibaratkan sebagai kaki dan tangannya mikroprosesor.

JENIS REGISTER
1. Segmen Register
2. Pointer dan Index Register
3. General Purpose Register
4. Index Pointer Register
5. Flags Register

SEGMEN REGISTER\

• Register-register dalam kelompok ini
secara umum digunakan untuk menunjukkan alamat dari suatu segmen.
1. CS 3. ES
2. DS 4. SS

SEGMEN REGISTER

CS(Code Segment)
digunakan untuk menunjukkan tempat dari segmen yang sedang aktif

SS(Stack Segment)
menunjukkan letak dari segmen yang digunakan oleh stack.
Kedua register ini sebaiknya tidak sembarang diubah karena akan menyebabkan kekacauan pada program anda nantinya.

SEGMEN REGISTER

DS(Data Segment)
biasanya digunakan untuk menunjukkan tempat segmen dimana data-data pada program disimpan. Umumnya isi dari register ini tidak perlu diubah kecuali pada program residen.                 

ES(Extra Segment)
suatu register bonus yang tidak mempunyai suatu tugas khusus. Register ES ini biasanya digunakan untuk menunjukkan suatu alamat di memory, misalkan alamat memory video.

Pointer dan Index Register
• Register- register dalam kelompok ini secara umum digunakan sebagai penunjuk atau pointer terhadap suatu lokasi di memory.
1. SP 3. SI
2. BP 4. DI

POINTER DAN INDEX REGISTER

SP(Stack Pointer)
berpasangan dengan register segment

SS(SS:SP) digunakan untuk mununjukkan alamat dari stack

BP(Base Pointer)
berpasangan dengan register SS(SS:BP) mencatat suatu alamat di memory tempat data.

POINTER DAN INDEX REGISTER

SI(Source Index) dan DI(Destination Index)
biasanya digunakan pada operasi string dengan mengakses secara langsung pada alamat di memory yang ditunjukkan oleh kedua register ini.

General Purpose Register
• Register dalam kelompok ini dapat digunakan untuk berbagai keperluan
1. AX 3. CX
2. BX 4. DX

GENERAL PURPOSE REGISTER

Register AX,
secara khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan pengurangan.

Register BX,
biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.

GENERAL PURPOSE REGISTER

Register CX,
digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.

Register DX,
digunakan untuk menampung sisa hasil pembagian.

JENIS EXTENSI PROGRAM

HASIL ASSEMBLY
Program COM
Program EXE

PROGRAM COM
- Lebih pendek dari file EXE
- Lebih cepat dibanding file EXE
- Hanya dapat menggunakan 1 segmen
- Ukuran file maksimum 64 KB (ukuran satu segment)
- Sulit untuk mengakses data atau procedure yang terletak pada segment yang lain.
- 100h (256) byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.
- Bisa dibuat dengan DEBUG

PROGRAM EXE
- Lebih panjang dari file COM
- Lebih lambat dibanding file COM
- Bisa menggunakan lebih dari 1 segmen
- Ukuran file tak terbatas sesuai dengan ukuran memory.
- Mudah mengakses data atau procedure pada segment yang lain.
- Tidak bisa dibuat dengan DEBUG

CONTOH PROGRAM ASSEMBLY
.MODEL SMALL
.CODE

ORG 100h
mulai:
mov ah,02h
mov dl,'A'
int 21h
int 20h
end mulai

⇑⇑⇑