Ad 468 x 60

Followers

Minggu, 08 April 2012

yang pertama kali mengaktifkan sistem komputer, memeriksa integritas
sistem, memanggil DOS dan selama komputer aktif juga selalu siap sedia
untuk sewaktu-waktu melakukan tugas yang spesifik.

Alokasi-alokasi alamat terbawah letaknya di dalam blok 0, yang menempati
alamat 0000 sampai dengan 0FFFF heksadesimal.
Saat proses 'start-up'  sistem akan meletakkan pada blok 0 ini suatu daftar
yang disebut sebagai 'Tabel Vektor Interupsi' (Interrupt Vector Table).
Tabel memuat sederetan alamat dari rutin perangkat lunak yang berfungsi
melakukan tugas-tugas tertentu. Rutin ini disebut 'Rutin Pelaksana
Interupsi' (Interrupt handling Routine), yang dipanggil melalui prosesor
tertentu, antara lain dengan software.
Pada dasarnya isi dari BIOS software didominasi oleh rutin-rutin interupsi.

PETA MEMORI (MEMORY MAP)
Kapasitas memori untuk IBM PC/XT yang berbasis prosesor Intel 8088/8086
adalah 1.048.576 byte atau lebih mudah disebut 1 (satu) Megabyte.
Nilai sebesar 1 MB inilah yang menjadi dasar sistem pemetaan memori dalam
keluarga IBM PC Kompatibel, sehingga dalam produk-produk yang lebih
mutakhir pun, peta memori tersebut tetap dipertahankan. Hal ini berhubungan
dengan konsistensi yang harus dijaga pada Disk Operating System, yang
dalam keadaan bagaimanapun, harus tetap bisa dijalankan mulai dari produk
yang paling awal seperti PC/XT, sampai kepada yang terbaru seperti AT 486
kompatibel. 
                                                                                
   Tabel Peta Memori Pada IBM PC

Blok Memori                 Alokasi Pemakaian
F 0 0 0 0     ROM BIOS, Diagnostic, BASIC
E 0 0 0 0    ROM program
D 0 0 0 0    ROM program
C 0 0 0 0    Perluasan BIOS untuk hardisk XT
B 0 0 0 0    Monokrom Monitor
A 0 0 0 0    Monitor EGA, VGS, dll
9 0 0 0 0     Daerah kerja pemakai s/d 640 KB
8 0 0 0 0     Daerah kerja pemakai s/d 576 KB
7 0 0 0 0     Daerah kerja pemakai s/d 512 KB
6 0 0 0 0     Daerah kerja pemakai s/d 448 KB
5 0 0 0 0     Daerah kerja pemakai s/d 384 KB
4 0 0 0 0     Daerah kerja pemakai s/d 320 KB
3 0 0 0 0     Daerah kerja pemakai s/d 256 KB
2 0 0 0 0     Daerah kerja pemakai s/d 192 KB
1 0 0 0 0     Daerah kerja pemakai s/d 128 KB
0 0 0 0 0     Daerah kerja pemakai s/d   64 KB

Peta memori mengalokasikan ruang memori kepada pemakai sebanyak 640 Kb
(655360 byte) sebagai ruang kerja (user workspace). Kira-kira 2 Kb
diantaranya yang menempati alamat-alamat terbawah, dipakai oleh DOS
untuk keperluan-keperluan dasar operasi atau "housekeeping".
Dengan demikian pemakai akan mendapatkan tempat (space) sebesar 10 blok
memori utama (main memory) dimulai dari alama 00000 sampai dengan 9FFFF
heksadesimal.

· Blok A - F (masing-masing berkapasitas 64 Kb), dialokasikan untuk
keperluan-keperluan program pengendali peralatan luar seperti monitor
dan hardisk serta BIOS (Basic Input Output System).
· Blok memori A adalah lokasi-lokasi ruang memori  yang mempunyai alamat
dari A0000 sampai dengan AFFFF, besarnya 65636 byte. Blok ini dipergunakan
untuk penempatan informasi-informasi yang akan ditayangkan ke monitor,
melalui jenis-jenis monitor mutakhir seperti EGA dan VGA. Disebut sebagai
'perluasan memori tampilan' (display memory expansion).
· Blok memori B, dianggap sebagai blok konvensional bagi pengiriman
informasi ke layar monitor. Produk-produk pertama IBM PC menggunakan blok
ini untuk keperluan tersebut melalui monitor monokrom.

· Blok memori C dimanfaatkan sejak keluarnya IBM XT, yaitu peningkatan
unjuk kerja dari IBM PC orisinil. Pada IBM XT inilah pertama kali digunakan
hardisk sebagai mass storage. Program kendali untuk hardisk XT yang pada
waktu itu baru berkapasitas 10 MB, ditempatkan pada Blok C tersebut.
XT sudah terdapat pemakaian hardisk, pada PC orisinil tidak.
XT terdapat 8 buah slot, PC orisinil terdapat 5 buah slot.
· Blok D dan E disediakan untuk penempatan program-program tertentu yang
bisa dimuat dalam ROM. Blok teratas yang merentang dari alamat F0000
sampai dengan FFFFF adalah blok yang bisa dianggap memegang peranan
paling penting, karena disinilah ROM BIOS berkedudukan. ROM BIOS-lah 
dan diberi sebuah kode nomor yang sama. Jadi, untuk mengambil atau menaruh
data pada satu kode nomor itu, 8 sel memori sekaligus teralamati. Deretan
8 buah sel memori itu kemudian disusun lagi secara vertikal, dan ditumpuk-
tumpuk sedemikian, sampai mencapai jumlah ribuah susun banyaknya.
Setiap susun, memiliki kode nomor sendiri-sendiri dan merupakan satu
lokasi memori (sebagai 'alamat memori' / memory address).
Alamat memori terdiri dari alamat genap dan alamat ganjil.
Alamat genap adalah alamat yang secara binary bit terendahnya
(LSB=Least Significant Bit-nya) '0', sedangkan alamat ganjil mempunyai
LSB '1'.


Susunan chip prosesor Intel 8088.
· Catu Daya/VCC (pin 40) dan GND (pin 1 dan 20)
· Bus Data (AD0 - AD7)
· Bus Alamat (AD0 - AD7 dan A8 - A19)
· Bus Kendali (NMI, INTR, CLK, Reset).

Dalam mikroprosesor 8088 secara fisik, bus alamat terdiri dari 20 bit
(A0-A19), sementara register-register internal terbentuk dari 16 bit data.
Oleh sebab itu, untuk menyesuaikan perbedaan jumlah bit antara bus alamat
8088 dengan register internal, sistem pengalamatan memori dilaksanakan
dengan format segment:offset. Format yang membutuhkan 32 bit ini dibentuk
dengan jalan menggabungkan data dari 2 buah register sekaligus.
Register pertama adalah satu satu dari 4 register segment, sedangkan
register lainnya diambil dari salah sebuah register pointer atau register
indeks.
Kenyataannya, segment-segment yang didefinisikan pada ruang memori itu
boleh dibuat saling berdampingan, terpisah atau tumpang tindih sekalipun.
Prosesor memiliki bus alamat sebanyak 20 bit, yang berarti ia mampu
mengalamati hingga 1.048.575 lokasi memori. Secara heksadesimal, jumlah
ini dinyatakan sebagai angka 00000 sampai dengan FFFFF. Ini adalah
alamat-alamat fisik (physical addresses) dari mikroprosesor. Untuk 8088
dan 8086 yang bus alamatnya terdiri dari 20 bit, otomatis penulisan
alamat fisiknya terdiri dari 5 digit heksadesimal.

Sistem segmentasi pada IBM PC dilaksanakan agak unik. 1 segment adalah
bagian dari ruang memori yang besarnya 65536 byte atau 64 Kb. Namun,
segment-segment itu tidaklah diletakkan secara berdampingan sambung
menyambung satu sama lain, akan tetapi saling tumpang tindih sehingga
jarak antara titik awal suatu segment hanya terpaut 16 byte terhadap
segment lainnya.

Segment pertama, diawali dari alamat 0000:0000 (alamat fisik 00000) dan
berakhir pada 0000:FFFF (alamat fisik 0FFFF). Akan tetapi, segment kedua
dimulai pada alamat 0000:0010 (alamat fisik 00010), berjarak hanya 16
bit dari titik awal alamat segment pertama. Pada kenyataannya, alamat
awal segment kedua ini identik dengan alamat 0001:0000. Sebagai akibatnya,
dalam sistem segmentasi semacam ini, akan banyak didapati penulisan
alamat-alamat segment:offset yang sebenarnya menunjuk pada lokasi yang
persis sama. Sebagai contoh,alamat 0000:0020 sesungguhnya adalah juga
alamat 0001:0010, sekaligus sama dengan alamat lokasi 0002:0001.
IF                    Interrupt Flag              DI                      Disable Interupt EI                   Enable Interupt
DF                   Direction Flag              UP                     Upward                           DN     Downward


·         Carry Flag (CF) akan 'set' (menjadi logika '1', tinggi), apabila terjadi 'bawaan' (carry) atau 'pinjaman' (borrow) dalam suatu hasil proses perhitungan (arithmetic) pada Most Significant Bit (MSB, bit paling berbobot). Jika hal-hal itu tidak terjadi maka CF akan 'reset' (logika '0', rendah). Kalau dalam suatu instruksi, terjadi hasil yang menunjukkan bahwa sistem pengecekan paritas adalah 'paritas genap' (even parity), maka PF akan 'set'. Bila yang terjadi 'paritas ganjil' (odd parity), PF akan 'reset'.

·         Auxiliary Carry Flag dipakai untuk menunjukkan hasil perhitungan pada byte rendah dari suatu bilangan binary 16 bit. Jika terjadi 'bawaan' atau 'pinjaman' dari nibble bawah (low nibble) ke nibble atas (high nibble), .

·         AF akan 'set', sebaliknya AF akan di 'reset'. Zero Flag akan 'set' kalau dalam suatu proses perhitungan di hasilkan nilai nol. Bila hasilnya bukan nol, ZF akan 'reset'.

·         SF atau 'Sign Flag' adalah bit yang akan mendeteksi suatu bilangansebagai bilangan positif atau bilangan negatif. Hal ini dilakukan dengan melihat MSB dari bilangan tersebut. Apabila MSB menunjukkan nilai '1' (set), maka bilangan itu adalah negatif, jika '0' (reset), bilangan positif.

·         OF adalah 'Overflow Flag', berguna untuk menunjukkan bahwa telah terjadi 'overflow' yaitu jumlah bit sebagai hasil suatu proses perhitungan telah melampaui batas yang diperkenankan. Mikroprosesor 8088 mempunyai kemampuan untuk bekerja dalam mode 'langkah tunggal' (single-step), yaitu semua instruksi dilaksanakan dengan cara satu demi satu. Mode ini dimungkinkan dengan jalan membuat TF (Trap Flag) masuk ke logika '1' atau 'set'. Bagi seorang programmer, mode ini akan sangat berguna dalam pekerjaan 'debugging'.

·         Interrupt Flag (IF) untuk mendeteksi adanya permintaan interupsi dari peralatan-peralatan luar. Bila flag ini ada dalam keadaan set, maka pendeteksian interupsi oleh 8088 akan aktif, akan tetapi jika IF dalam keadaan reset, semua permintaan interupsi yang "maskable" (tidak mutlak) akan diacuhkan.

·         DF adalah 'Direction Flag', berguna menentukan arah dari operasi-operasi 'string' (untaian string), yaitu bila DF di 'set', maka operasi string akan mengurutkan alamat dari atas ke bawah, akan tetapi, bila flag ini di-'reset', pengalamatan diurutkan dari alamat rendah ke alamat tinggi.


STRUKTUR ORGANISASI MEMORI
 Semua bilangan (hexadecimal, decimal, binary), angka yang terletak paling
kiri adalah 'Most Significant Digit (MSD=angka paling berbobot)', sedangkan
yang paling kanan adalah 'Least Significant Digit (LSD=angka paling kecil
bobotnya)'.
Khusus binary digit, maka MSD disebut Most Significant Bit (MSB) dan LSD
disebut 'Least Significant Bit (LSB).

ORGANISASI RUANG MEMORI DAN REGISTER
Unsur terkecil memori adalah 'sel memori' (memory-cell), yaitu suatu
elemen penyimpanan data yang berkapasitas sebesar 1 bit. Dengan
menggabungkan sejumlah sel memori, akan bisa bentuk suatu ruang penyimpanan
data dengan berbagai ukuran, misalnya 1 byte, 1 word, 1 Kilobyte, 1 Megabyte,
1 Gigabyte, 1 Terabyte, dsb.
Organisasi memori dapat dibandingkan dengan sistem 'locker' (susunan laci
yang mempunyai kode nomor setiap lacinya sehingga memudahkan orang mengenal
lacinya masing-masing sebelum mengambil atau memasukkan barang titipannya).
Untuk IBM PC, 8 buah sel memori digandengkan menjadi satu secara horisontal,
Merupakan pasangan CS yang merupakan register terpenting untuk menunjukkan baris perintah program. Saat pertama program dijalankan, register ini akan langsung menunjuk pada awal program dan selalu berisi address dari instruksi yang akan segera dieksekusi. Programmer tidak dapat langsung mengakses atau mengubah nilai register IP. Pengubahan hanya bisa dilangsungkan melalui instruksi-instruksi call, jump, loop dan interrupt yang secara otomatis akan mengubah nilai yang ada pada register IP. Kombinasi CS dan IP menunjukkan alamat Segment : Offset.

1.       SP (Stack Pointer)
Merupakan pasangan CS, maka SP merupakan pasangan SS yang digunakan untuk operasi  stack. Berisi data yang merupakan address lokasi saat kini dalam stack. Register ini teknisnya merupakan register multi fungsi yang dapat dipakai sebagai tempat penyimpanan data maupun tempat kalkulasi, meski sehari-hari harus dipakai hanya dalam operasi stack.

2.       BP (Base Pointer)
Untuk menulis dan membaca ke atau dari memory secara langsung dengan segment SS (Stack Segment) dan digunakan dalam komunikasi antara bahasa komputer, seperti Pascal dengan Assembler atau bahasa C dengan bahasa Assembler Meski dipakai sebagai tempat penampung data sementara sering dipakai pointer basis kerangka stack.

INDEX  REGISTER
Register yang dipakai untuk melakukan operasi string dan sering digunakan
untuk menulis dan membaca ke atau dari memory seperti halnya BX dan BP
(Base Pointer), yang terdiri dari register :

1. SI            (Source Index)
Dipakai sebagai pointer atau tempat penyimpan data. Registerini sering dipakai sebagai pointer untuk menunjuk sebuah item (indexing) dalam satu kesatuan data. Pada operasi string, SI dipakai untuk menunjuk ke byte atau word dalam sebuah source string.

2. DI           (Destination Index)
Dipakai sebagai pointer atau tempat penyimpanan data. Sering dipakai sebagai pointer untuk menunjuk sebuah item (indexing) dalam satu kesatuan data. Pada operasi string, DI dipakai untuk menunjuk ke byte atau word dalam sebuah destination string.

Merupakan suatu komposisi register 16 bit, dimana komposisi bitnya mengecek apakah sesuatu berfungsi atau tidak. Adalah register 16 bit yang bit-bitnya mengontrol berbagai instruksi dan merefleksikan status processor pada saat itu. Untuk real mode aktualnya ada 9 flag, untuk 80286 protected mode ada 11 flag, dan untuk 80386 ada 13 flag.
Contohnya, Interrupt Flag mengecek apakah pada saat operasi Interrupt sedang aktif atau tidak, bila tidak aktif Interrupt tidak akan dijalankan. Carry Flag mengecek apakah pada saat operasi terjadi kesalahan atau tidak, Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak dan sebagainya.

                    Komposisi 16 bit (flag bits)

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
                                                                                 OF               DF               IF                TF                SF                ZF                                    AF                                   PF                                    CF
                                                                                                                                                                                                                                                                                                 

           Tabel Register Status (Flag)

Nama Flag   Fungsi                RESET (0)                   Arti                         SET (1)                    Arti
CF                   Carry Flag                            NC            No Carry                CV             Carry
PF                    Parity Flag                           PO             Parity Odd             PE              Parity Even
AF                   Auxiliary Carry Flag  NA                    No Aux. Carry      AC             Aux. Carry
ZF                   Zero Flag                              NZ             Non Zero                ZR              Zero
SF                    Sign Flag                              PL             Plus              NG     Negative
OF                   Overflow Flag                     NV            No Overflow          OV             Overflow
1.       CX (16 bit), terdiri dari CH (high byte.bit), CL (low byte/8 bit)
Secara spesifik sebagai Counter untuk meletakkan jumlah lompatan pada LOOP yang dilakukan, misal sebagai penunjuk berapa banyak perhitungan  dilakukan. Berfungsi untuk menampung cacah perulangan suatu operasi (loop, string, shift, dan rotate). Register ini dapat dipakai sebagai penyimpan data sementara.

2.       DX (16 bit), terdiri dari DH (high byte.bit), DL (low byte/8 bit)
Secara spesifik sebagai Data juga sebagai register serbaguna yang digunakan sebagai penampung data tertentu (karakter, pointer, penentuan disk). 4 tugas pokok register DX :
·         Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit
·         DX merupakan register offset dari DS
·         Menunjukkan nomor port pada operasi port
·         Dipakai sebagai penampung sementara data. Dipakai berpasangan dengan register AX, operasi perkalian dan pembagian 16 bit. Pada operasi
·         I/O ke dan dari port, DX menampung port yang akan diakses.

                              AX / BX / CX / DX
 15  14  13  12  11  10  09  08  07  06  05  04  03  02  01  00
 -----------------------------------  ---------------------------------------
        AH / BH / CH / DH                                       AL / BL / CL / DL      

Dari fungsi-fungsi register AX, BX, CX, DX dapat digolongkan sebagai register 'Data' karena kegunaan dan pemanfaatannya yang cenderung ke penampungan data, selain memiliki fungsi spesifik tetapi dapat saling tergantung.

SEGMENT REGISTER
1.       ES (Extra Segment)
Tidak mempunyai tugas, tetapi berguna untuk pemograman pada saat melakukan operasi ke segment lain. Nilai yang dikandung oleh register ini merupakan address yang berguna bagi instruksi-instruksi string. Address dari sebuah segmen tambahan juga dapat disimpan di register ES ini. Processor 80386 selain ES, masih memiliki 2 register extra segment, yaitu FS dan GS.

2.       CS (Code Segment)
Yang menunjuk ke segment adalah register segment, maka CS merupakan . salah satu dari empat register segment. Tugasnya adalah menunjukkan segment program berada. Sedangkan pasangan register ini adalah register IP.Menampung nilai yang merupakan address awal dari suatu segmen. Segmen ini berisi instruksi-instruksi dan operand-operand yang dispesi-fikasikan oleh program.

3.       DS (Data Segment)
Nilai yang ditampung oleh register ini merupakan address dari segmen yang normalnya berisi data-data yang dialokasikan oleh program

4.       SS (Stack Segment)
Address yang berada di register ini berguna bagi instruksi-instruksi yang menyimpan sementara data distack. Stack merupakan sebuah area memory yang dicadangkan untuk penyimpanan data secara sementara.DS dan SS adalah dua register segment yang masing-masing mempunyai tugas menunjukkan segment dari segment data dan segment stack.Pasangan dari DS adalah DX dan pasangan dari SS adalah SP.


POINTER REGISTER
Pointer register secara khusus berfungsi untuk menyimpan nilai offset
dari relative address. Register ini terdiri dari :

1.       IP (Instruction Pointer)
untuk menempatkan jenis-jenis data tertentu. Misalnya code segment digunakan oleh program dan instruksi-instruksi (code), data segment dialokasikan untuk data-data, stack segment dipakai untuk menyediakan ruang untuk stack, yang berfungsi untuk penyimpanan data dan alamat sementara pada saat program utama sedang mengerjakan program percabangan (subroutine, prosedur, dan sebagainya) dan extra segment sebagaimana halnya data segment juga dipergunakan sebagai penempatan data-data.

·         Register data
Register ada adalah register yang mengandung informasi yang akan, sedang atau telah diolah oleh komputer. Pada 8088 register ini diwujudkan oleh AX, BX, CX dan BX (sebagai general purpose register), sehubungan dengan fungsinya yang selain menangani tugas-tugas khusus, juga bisa dimanfaatkan untuk membantu proses-proses pengolahand data didalam internal mikroprosessor.

·         Register pointer

·         Register index
Register jenis pointer dan register index merupakan register-register yang memuat alamat offset dari segment-segment tertentu, yang terdiri dari stack pointer (SP) dan base pointer (BP) yang digunakan sebagai pemegang nilai offset dari stack segment, sedangkan source index (SI) dan destination index (DI) berisi nilai offset dari data segment. Instruction pointer (IP) merupakan pemegang nilai offset dari code segment dan fungsinya mirip dengan program counter (PC) pada prosesor-prosesor 8 bit. Hanya bedanya, program counter langsung mengalamati instruksi-instruksi yang ada dimemori dengan nilainya sendiri, IP harus bekerja sama dengan register CS untuk dapat membentuk pengalamatan 20 bit dalam format segment:offset.

·         Register status
Register ini mempunyai struktur yang berbeda dengan register-register lainnya, yang dibentuk dari sebuah register 16 bit, yang masing-masing bitnya memberikan informasi tertentu tentang keadaan -keadaan yang terjadi pada prosesor, sebagai akibat proses pengolahan data. Informasi yang diwakili oleh sebuah bit pada register status disebut 'flag'. Hanya 9 dari keseluruhan 16 bit yang dipakai oleh register status sebagai tanda kondisi-kondisi prosesor.

GENERAL PURPOSE REGISTER
General Purpose adalah register-register serbaguna, sering dimanfaatkan untuk keperluan-keperluan lain yang bukan merupakan fungsi khasnya dan untuk menampung secara sementara data-data yang akan diolah, sebelum diambil dan diproses oleh ALU (Arithmetic and Logical Unit), walaupun demikian ada juga instruksi-instruksi tertentu yang mengharuskan penggunaanregister-register secara spesifik (sesuai fungsi sebenarnya), yang mempunyai 16 bit, dan dapat digunakan penuh 16 bit (1 word = 1 kata) atau 8 bit (1 byte = 1 karakter) saja.

Jenis-jenis general purpose register dapat dijelaskan sebagai berikut :

1.       AX (16 bit),  terdiri dari AH (high byte/8 bit), AL (low byte/8 bit)
Secara khusus sebagai Accumulator dan register serbaguna yang berfungsi sebagai masukan, atau menampung hasil proses / perhitungan (add, sub, mul, dan div) dan sering untuk menyimpan data sementara. Banyak instruksi yang dioptimasikan unjuk kerjanya jika beroperasi pada register accumulator. Pengoperasian data yang disimpan di accumulator sedikit lebih cepat dibanding bila data disimpan di register lain. Pada operasi pembagian, jika bilangan pembagi besarnya 16 bit, bilangan yang dibagi ditampung di pasangan register DX:AX. Setelah pembagian hasil ditampung di AX sedang sisa hasil bagi di DX.Bila bilangan pembagi besarnya 8 bit, bilangan yang dibagi ditempatkan di AX. Setelah pembagian, hasil bagi ditempatkan di AL sedang sisa hasil bagi di AH. Pada operasi perkalian, accumulator menampung bilangan yang akan dikalikan. Hasil perkalian ditempatkan di register AX. Pada operasi I/O ke dan dari port, accumulator menampung data yang akan ditransfer.

2.       BX (16 bit), terdiri dari BH (high byte.bit), AL (low byte/8 bit)
Secara spesifik sebagai Base juga dan register serbaguna yang merupakan salah satu dari dua register base Addressing mode (penunjuk basis alamat), yang dapat mengambil atau menulis langsung dari/ke memory dengan segment DS (Data Segment) serta dapat dipakai sebagai pointer pada suatu basis data misalnya.

KONVERSI ALAMAT FISIK KE ALAMAT LOGIKA


Untuk memberikan alamat sesungguhnya dari sebuah nilai alamat logika dalam nilai segment:offset, maka diperlukan suatu cara untuk menterjemahkan nilai tersebut ke dalam notasi alamat fisik. Metode konversinya yaitu dengan cara memisahkan nilai segment, kemudian tambahkan satu digit '0' heksa-desimal pada digit paling kiri, lalu ambil nilai offsetnya, jumlahkan ke bawah seperti halnya menghitung bilangan-bilangan desimal sehari-hari.

Contoh :
Diketahui                       : Nilai alamat logika adalah 0220:1234
Ditanyakan                   : Berapa nilai alamat fisiknya ?

J a w a b :
Nilai segment                                                         : 0220
Geser satu digit menjadi                  : 02200
Nilai offset                                                             : 1234


02200
  1234
------- +
03434

Untuk nilai binary, alamat segment harus diubah menjadi binary, lalu geserlah nilai tersebut ke kiri sebanyak empat bit, artinya akan timbul empat binary digit 0 berturut-turut di sebelah kanan. Kemudian nilai offset juga diubah ke dalam binary dan tambahkanlah hasilnya ke nilai offset yang telah digeser tadi. Untuk mempermudah dalam membaca, kembalikan nilai akhir dalam binary tersebut ke dalam notasi heksadesimal

Contoh :
Diketahui                       : Nilai alamat logika adalah 0220:1234
Ditanyakan                                       : Berapa nilai alamat fisiknya ?

J a w a b     :
Nilai segment                                                         : 0220
Nilai binary-nya menjadi                : 0000 0010 0010 0000
Geser 4 bit ke kiri menjadi              : 0000 0010 0010 0000 0000
Nilai offset                                                             : 1234
Nilai binary-nya menjadi                : 0001 0010 0011 0100

Tambahkan :
                    0000 0010 0010 0000 0000
             0001 0010 0011 0100
                    ------------------------------------ +
                    0000 0011 0100 0011 0100

Alamat fisik secara binary             : 0000 0011 0100 0011 0100
Secar heksadesimal                         : 03434 heksa

PENGERTIAN REGISTER
Sebuah register adalah sebuah tempat penampungan sementara untuk data-data yang akan diolah oleh prosesor, dan dibentuk oleh 16 titik elektronis di dalam chip mikroprosessor itu sendiri. Dengan adanya tempat-tempat penampungan data sementara ini, proses pengolahan akan bisa dilakukan secara jauh lebih cepat dibandingkan apabila data-data tersebut harus diambil langsung dari lokasi-lokasi memori. Register-registe tersebut sebagai register internal dan terdiri dari empat belas register dan keseluruhannya dapat dibagi dalam beberapa jenis, yaitu :

·         Register segment
Terdiri dari 4 register, yaitu code segment, data segment, stack segment, dan extra segment. Segment adalah bagian dari ruang memori yang berkapasitas 64 kilobyte (65536 byte) dan digunakan secara spesifik 


SELENGKAPNYA >>>1 2 3 4 5 6 7 8 9 
 
Home | About Us | Privacy | Contact Us
© Copyright 2013 Contoh Media Pembelajaran
Designed by :Templatemaxs | U-sup Blog | Theusup Shopping Toys
Is proudly powered by Blogger.com