PERTEMUAN2
REGISTER
Register adalah sebagian kecil memori komputer yang dipakai untuk tempat
penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat
diproses dalam berbagai operasi dengan melihat berapa besar kemampuan
menampung register tersebut.
Register dapat dibagi dalam 5 golongan, yaitu:
1.
2.
3.
4.
5.
AX (AH + AL)
= Accumulator Register
BX (BH + BL)
= Base Register
CX (CH + CL)
= Counter Register
Segment Register
CS
DS
SS
ES
Pointer Register
IP
SP
BP
Index Register
SI
DI
Flag Register
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low dan High Bits
yang masing-masing berkemampuan 8 bit.
Register AX
Register AX merupakan register aritmatik, karena register ini selalu dipakai
dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High,
maka untuk AX register low-nya adlaah AL dan register high-nya adalah AH.
Register AH merupakan tempat menaruh nilai service number untuk beberapa
Interrupt tertentu.
Register BX
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat
mengambil atau menulis langsung dari/ke memori.
Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada
Loop yang anda lakukan.
Register DX
Register DX mempunyai tiga tugas, yaitu:
Membantu AX dalam proses perkalian dan pembagian, terutama perkalian
dan pembagian 16 bit.
DX merupakan register offset dari DS
DX bertugas menunjukkan nomor port pada operasi port
memorinya adalah :
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
00000
00001
00002
00003
00004
.
.
.
FFFF9
FFFFA
FFFFB
FFFFC
FFFFD
FFFFE
FFFFF
A123:099A
Komposisi Bit Segment
Komposisi Bit Offset
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
Alamat Mutlak
5674:9001
Komposisi Bit Segment
Komposisi Bit Offset
Alamat Mutlak
Register CS
Tugas register CS yang penting adalah menunjukkan segment program berada.
Pasangan register ini adalah register IP.
Register DS dan SS
Tugas register DS dan SS adalah menunjukkan segmen dari segment data dan
segment stack. Pasangan dari register DS adalah DX dan register SS adalah SP.
Register ES
Register ini tidak mempunyai tugas, namun berguna untuk pemrograman pada
saat melakukan operasi ke segment lain.
POINTER REGISTER
Pointer Register bertugas untuk menyimpan offset dari relative address.
Register IP
Pasangan register IP adalah register CS yang merupakan register terpenting
untuk menunjukkan baris perintah program. Pada pertama program
dijalankan register ini akan langsung menunjuk pada awal program.
Register SP
Pasangan register SP adalah register SS yang digunakan untuk operasi stack.
Pada saat program pertama dijalankan register ini akan menunjuk pada byte
terakhir stack.
Register BP
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat
menulis dan membaca ke atau dari memori secara langsung.
Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack
Segment).
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
INDEX REGISTER
Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua
register ini merupakan register yang dipakai untuk melakukan Operasi String. Kedua
register ini sering digunakan untuk menulis dan membaca ke atau dari memori
seperti BX dan BP.
FLAG REGISTER
Flag Bits :
= Overflow Flag
= Direction Flag
= Interrupt Flag
= Trap Flag
= Sign Flag
= Zero Flag
= Parity Flag
= Carry Flag
= Reserved (kosong)
Flag register ini merupakan suatu komposisi register 16 bit dengan ketentuan seperti
gambar diatas, dimana komposisi bitnya dapat mengecek apakah sesuatu berfungsi
atau tidak.
Contoh : Interrupt Flag mengecek apakah pada saat operasi Interupt sedang aktif
atau tidak, bila tidak aktif, Interrupt tidak akan dijalankan.
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
Carry Flag mengecek apakah pada saat operasi terjadi kesalahan atau
tidak. Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak
dan sebagainya.
MEMORI
Memori dengan komputer memiliki hubungan yang tak dapat dipisahkan, karena
setiap komputer memerlukan memori sebagai tempat kerjanya. Memori ini dapat
berfungsi untuk memuat program dan juga sebagai tempat untuk menampung hasil
proses.
Yang perlu kita perhatikan bahwa memori untuk menyimpan program maupun hasil
dari pekerjaan bersifat volatile yang berarti bahwa data yang disimpan cuma sebatas
adanya aliran listrik. Jadi bila listrik mati maka hilang pulalah semua data yang ada di
dalamnya. Hal ini mengakibatkan diperlukannya media penyimpan kedua yang
biasanya berupa disket maupun hard disk.
Microprocessor
Pada IBM-PC terdapat suatu bagian penting yang disebut microprocessor atau yang
sering disebut processor saja. Processor ini berfungsi untuk menangani keseluruhan
dari kerja komputer kita. Pada processor inilah segala hal yang berhubungan dengan
kerja komputer diatur dan dibagi prioritasnya dengan baik agar tidak terjadi
kesalahan yang kemudian akan menyebabkan kacaunya informasi yang diperoleh.
Lama kelamaan tugas komputer tentu saja makin bertambah baik dari segi kuantitas
maupun kerumitannya. Sejalan dengan itu processor juga makin dikembangkan.
Processor yang baru sebenarnya hanyalah perbaikan dan pengembangan dari yang
versi lama sehingga semua instruksi yang berlaku di processor lama dapat pula
dikerjakan oleh yang baru dengan tentu saja beberapa keunggulan.
Adapun processor yang kini banyak beredar di pasaran :
Ini merupakan processor IBM-PC yang pertama sekali atau yang sering disebut
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
XT. Processor 8088 menggunakan jalur bus data 8 bit sedangkan 8086 menggunakan
16 bit. Perbedaan jalur bus ini menyebabkan perbedaan jumlah data yang dikirim
pada satu saat dan secara langsung mengakibatkan speed 8086 berada di atas 8088.
Baik 8088 maupun 8086 mampu mengalamatkan memori hingga 1 MB.
80286 :
Versi pengembangan dari 8086. Pada 80286 ini beberapa instruksi baru ditambahkan.
Selain itu dengan jalur bus yang sama dengan 8086, 80286 dirancang mempunyai
speed di atas 8086. Selain itu 80286 dapat bekerja pada 2
mode yaitu mode real dan protected.
Mode real pada 80286 dapat beroperasi sama seperti 8088 dan 8086 hanya terdapat
perbedaan dalam hal speed. Mode real ini dimaksudkan agar semua software yang
dapat dioperasikan pada 8088/8086 dapat pula dioperasikan dengan baik di 80286.
Pada mode protected 80286 mampu mengalamatkan sampai 16 MB memori.
80386 :
Processor 80386 merupakan sesuatu yang sangat baru dibanding 80286 sebab bus
data yang digunakan di sini sudah 32 bit sehingga speednya juga jauh di atas 80286.
Selain itu pada 80386 ditambahkan pula sebuah mode pemrograman baru yaitu mode
virtual. Pada mode virtual ini 80386 mampu mengalamatkan sampai 4 GB memori.
Sama seperti 80286, mode real dimaksudkan untuk kompatibilitas dengan
8088/8086 dan mode protected untuk menjaga kompatibilitas dengan 80286.
pengorganisasiannya.
Pada
bagian
ini
akan
dibahas
mengenai
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
Pembagian Memori
Memori komputer terbagi atas 16 blok dengan fungsi-fungsi khusus yang sebagian
besar adalah sebagai RAM (Random Access Memory) yang berfungsi sebagai
penyimpan bagi hasil pengolahan pada komputer itu sendiri. Untuk lebih jelasnya
diberikan pembagian fungsi pada blok memori ini secara kasar pada gambar dibawah:
BLOCK
FUNGSI
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
RAM
PERLUASAN ROM
FUNGSI LAIN
FUNGSI LAIN
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
Asep Jalaludin,S.T.,M.M.
Bahasa Rakitan
Segmen
Offset
|
| 0032
| 0032
| 0048
+ --------- +65535
+ -------- +65535
+ --------- + 65535
+ ------------------------- + 65535
Konversi Alamat
Alamat yang menggunakan sistem segmen:offset ini disebut sebagai alamat relatif
karena sifat offset yang relatif terhadap segmen. Sedangkan alamat memori yang
Asep Jalaludin,S.T.,M.M.
10
Bahasa Rakitan
sebenarnya disebut alamat absolut. Berikut kita lihat cara pengkonversian alamat
relatif ke absolut.
Pengkonversian dapat dilakukan dengan menggeser nilai segmen 4 bit ke kiri dan
kemudian dijumlahkan dengan nilai offset. Atau yang lebih sederhana adalah dengan
mengalikan nilai segmen dengan 24 (=10h) dan kemudian dijumlahkan dengan nilai
offset. Cara ini dikembangkan dari besarnya selisih segmen yang satu dengan yang
berikutnya yang sebesar 16 bit (=10h).
Alamat relatif : 1357h:2468h 1356h:2478h
13570 13560
2468 2478
------- ------Alamat absolut : 159D8h 159D8h
Pada kedua contoh di atas terlihat jelas alamat relatif 1357h:2468h sebenarnya
menunjukkan lokasi yang sama dalam memori dengan alamat relatif 1356h:2478h
yang disebut overlapping.
Alamat yang overlapping ini menyebabkan sebuah alamat absolute dapat dinyatakan
dengan alamat segmen:offset yang bervariasi sebanyak 2 pangkat 12
atau sebanyak 4096 variasi.
Variasi untuk alamat absolute :
0 - 15 dapat dinyatakan dengan 1 variasi
16 - 31 dapat dinyatakan dengan 2 variasi
32 - 48 dapat dinyatakan dengan 3 variasi
:
:
65520 keatas dapat dinyatakan dengan 4096 variasi.
Asep Jalaludin,S.T.,M.M.
11