Laman

Sabtu, 22 Maret 2014

Cerpen Tentang Nasionalisme



Cerita Untuk Rachel

            Pagi itu, Rachel, Sarah, dan Risa berbincang dengan penuh semangat di dalam kelas. Wajah ketuganya tampak cerah dan sangat ceria. Semua itu karena mereka akan menonton konser “Girls Generation” secara langsung. Maklum saja, ketiganya sangat menyukai segala hal yang berbau Korea, dan Girls Generation merupakan salah satu idola mereka.
            “Kakak ku. sudah beli tiket nih!!!. Nanti sore, kalian ke rumahku ya!. buat ambil tiketnya...” ujar Rachel.
            “Pasti dong! Oh ya, bilang ke kakakmu ya, ‘Terima kasih buat tiketnya’... “ jawab Sarah bersemangat.
            “Iya nih.... iya kalau konser band lokal, ini kan konsernya SNSD!!. Aku jadi nggak sabar deh!” timpal Risa tak kalah bersemangat.
            “Oke... oke...! oh ya, pelajaran pertama hari ini apa sih?” tanya Rachel.
            “Pelajaran pertama... ehm, oh iya.. PKN!. Terus pelajaran berikutnya Bahasa Indonesia. Kenapa sih?” jawab Risa:
            Rachel mendesah, “Aduuuh, PKN? Ngantuk nih!” keluhnya.
            “Iya... sudah pelajaran PKN, setelahnya pelajaran Bahsa Indonesia! Kenapa ya, sekolah kita nggak ada pelajaran Bahasa Korea nya? Asyik deh pastinya... ada pelajaran bahasa asing juga, pelajaran Bahasa Perancis!. Siapa sih, yang punya cita-cita pergi ke perancis,terus tinggal disana? Nggak ada kan?!” tambah Sarah.
            KRING.... KRING.... KRING....
            Bel sekolah tanda pelajaran pertama berbunyi, yang membuat kekusutan masalah pelajaran di otak Rachel dan teman-temannya semakin kusut.
            Beberapa menit kemudian, pak Irfan yang menjadi guru PKN masuk ke kelas Rachel.
            “Pagi anak-anak !” sapa pak Irfan.
            “Pagi pak!” semua siswa di kelas itu masih sibuk mengambil buku, menggeser meja, dan sebagainya, sementara pak Irfan diam menunggu kelas diam.
            “Diiih, belum apa-apa sudah ngantuk nih...” ujar Rachel, merengut.
            “Iya nih! Oh ya, nanti aku ke rumahmu buat ambil tiket jam berapa?” timpal Risa.
            “jam 5 sore ya, aku tunggu lho. Awas kalau telat. Kalian biasanya lama sih!” jawab Rachel.
            “Tiket apa sih?” tanya Tasya yang duduk di samping Risa.
            “Itu lho, konsernya SNSD... Aku, Sarah, sama Risa mau ninton. Kita sudah beli tiket lho. VIP lagi!” Jawab Rachel bangga.
            “Duuh, segitunya juga sih para KPOPers!” ujar Tasya mencibir:.
            “Biar dong! Terus kenapa?” tanya Sarah sewot.
            Tiba-tiba pak Irfan mengetuk-etuk meja, membuat kelas terdiam seketika.
            “Nah anak-anak... sepertinya kalian tampak tidak begitu berminat untuk membahas semua dasar hukum, pasal-pasal, dan lainnya hari ini, jadi bapak akan bercerita sedikit untuk kalian....
            Cerita ini merupakan kisah nyata tentang kakak kelas kalian yang sudah lulus beberapa tahun yang lalu. Namanya Vicky. Dia selalu meraih peringkat pertama di kelasnya. Nah, akhirnya setelah lulus dari sekolah ini, dia mendapat beasiswa dari pemerintah untuk kuliah di Korea Selatan...” ujar pak Irfan, yang membuat Rachel, Sarah, dan Risa mendongak begitu mendengar “Korea Selatan” disebut.
            “Di Korea pun, Vicky tetap berprestasi, bahkan mengalahkan mahasiswa Korea sendiri.
            Akhirnya dia mendapat tawaran pekerjaan dari pemerintah Korea, dengan syarat dia harus tetap tinggal di Korea.” Lanjut pak Irfan.
            “Aduuh... enaknya,” bisik Rachel kepada Sarah.
            “Tetapi tawaran menarik itu ditolaknya. Padahal gaji pekerjaan itu mencapai Rp.10.000.000 per bulan. Dan ternyata alasan Vicky menolaknya, karena pekerjaan menarik itu mengharuskannya menetap di Korea, sedangkan dia bisa bersekolah di Korea kan, berkat beasiswa pemberian pemerintah Indonesia, dengan tujuan, agar dia bisa bermanfaat bagi negara. Jika dia menerima pekerjaan itu, berarti Vicky sama saja dengan melupakan Indonesia.” Pak Irfan terdiam sejenak.
            “Hmmm... lebay banget sih...!. Cuma gara-gara beasiswa, jadi ditolak deh pekerjaannya!” sungut Rachel sebal. Tasya yang mendengarnya, hanya menggelengkan kepalanya saja.
            “Jadi, inti kisah ini adalah.... rasa nasionalisme itu, bukan bagaimana kecerdasan kalian dalam mengingat nama-nama pahlawan saja, atau seberapa merdu suara kalian dalam menyanyikan lagu Nasional. Rasa Nasionalisme itu, bagaimana caranya agar kalian dapat berguna, selalu menghormatai sejarah dan negara ini...” lanjut pak Irfan.
            “Nah, Rachel.... dengerin tuh! Ingat sama negaranya, jangan ingat lagu Korea terus!” sindir Tasya, membuat Rachel diam.

            6 tahun kemudian....

            “Rachel... !. kau yakin akan kembali ke Indonesia lagi?. Karirmu  sangat bagus di Perancis. Kenapa harus kembali?” tanya Fleur, rekan kerja Rachel.
            “Ya... aku sudah memikirkannya secara matang. Aku pikir, mungkin aku akan lebih berguna jika kembali ke Indonesia...” jawab Rachel seraya tersenyum.
            “Kalau begitu, aku berharap semoga kau tetap sukses nantinya. Jaga dirimu baik-baik... “ ujar Fleur.
            “Baiklah, aku akan mengunjungimu liburan musim panas nanti... selamat tinggal, Fleur!” balas Rachel.
            Inilah potret diri Rachel saat ini. Sukses menjadi perancang terkenal di Perancis, tidak membuatnya lupa dengan negaranya. Karena Rachel selalu mengingat cerita pak Irfan, cerita inspiratif tentang Vicky, kakak kelasnya.

MIKROPROSESOR 8086 - 8088

Sejarah dan Pengertian Mikroprosesor

Mikroprosesor adalah sebuah IC (Integrated Circuit) yang digunakan sebagai otak/pengolah utama dalam sebuah sistem komputer.
Mikroprosesor merupakan hasil dari pertumbuhan semikonduktor. Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang ukurannya sudah mencapai gigahertz. Ukuran tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel.
Pertama kali Mikroprosesor dikenalkan pada tahun 1971 oleh Intel Corp, yaitu Mikroprosesor Intel 4004 yang mempunyai arsitektur 4 bit. Dengan penambahan beberapa peripheral (memori, piranti I/O, dsb) Mikroprosesor 4004 di ubah menjadi komputer kecil oleh intel. Kemudian mikroprosesor ini di kembangkan lagi menjadi 8080 (berasitektur 8bit), 8085, dan kemudian 8086 (berasitektur 16bit).
Microprocessor 4004
Intel meluncurkan mikroprosesor pertama di dunia, 4-bit 4004, yang didesain oleh Federico Faggin. Microprocessor 4004.Processor di awali pada tahun 1971 dimana intel mengeluarkan processor pertamanya yang di pakai pada mesin penghitung buscom. Ini adalah penemuan yang memulai memasukan system cerdas kedalam mesin.
Mikroprosesor 4004 mempunyai 2.250 transistor PMOS, menangani data 4 bit, dan dapat mengeksekusi 60 ribu operasi per detik. Mikroprosesor 4004 ini adalah salah satu dari seri IC untuk komponen kalkulator tersebut: 4001: memori ROM 2.048 bit; 4002: memori RAM
MIKROPROSESOR 8008
Pada tahun 1972 intel mengeluarkan microprocessor 8008 yang berkecepatan hitung 2 kali lipat dari MP sebelumnya. MP ini adalah Mikroprosesor 8 bit pertama. Mp ini juga di desain untuk mengerjakan satu pekerjaan saja. Bill Gates muda dan Paul Allen coba mengembangkan bahasa pemograman untuk chip tersebut, namun saat itu masih kurang kuat.
MIKROPROSESOR 8080
Pada tahun 1974 intel kembali mengeluarkan Mikroprosesor terbaru dengan seri 8080, dengan 4.500 transistor yang memiliki kinerja 10 kali pendahulunya. Pada seri ini intel melakukan perubahan dari Mikroprosesor multivoltage menjadi triple voltage, teknologi yang di pakai NMOS, lebih cepat dari seri sebelumnya yang memakai teknologi PMOS. Mikroprosesor ini adalah otak pertama bagi komputer yang bernama altair. Pada saat ini pengalamatan memory sudah sampai 64 kilobyte. Kecepatanya sampai 10X mp sebelumnya.
Gambar Pinnya:


Fungsi PIN pada Microprosessor 8080/8086

1.     AD0-AD7
Pin ini (Pin 9-16) digunakan untuk transmisi memori dan alamat I/O pada tiap siklus bus. Pin-pin ini dimultipleks, dimana di awal siklus bus, pin-pin ini berfungsi sebagai bita alamat A0-A7, dan pada siklus berikutnya digunakan oleh prosesor sebagai bus data D0-D7, dan informasi alamat A0-A7 dilatch.
2.    AD8-AD15
Pin ini (pin 2-8, 39) digunakan untuk memori output dan bit alamat A8-A15. Pin ini tidak dimultipleks dan tetap stabil di siklus bus. Dalam desain PC, pin ini dilatch dan direpower menjadi bit alamat A8-A15 dalam siklus bus.

3.    A16/S3-A19/S6
Pada permulaan tiap siklus memori, pin ini (pin 35-38) memberikan bit alamat A16-A19, Pada siklus sisanya, menyediakan bit status internal 8088. Jika S6 diset low, S5 memberikan status flag interrupt enable. S3 dan S4 dikodekan untuk memberikan segmen register yang digunakan untuk siklus bus.
S4
S3
Segmen
0
0
1
1
0
1
0
1
Segmen Alternatif
Segmen Stack
Segmen Kode
Segmen Data
Desain PC tidak menggunakan informasi status ini. Jika pin ini dilatch dan direpower , mak akan menjadi bit alamat A16-A19
4.    CLK
Pin (Pin 19) ini merupakan jalur masukan yang menyediakan informasi timing (pewkatuan) untuk mikroprosesor 8088. Dalam desainnya, masukan pin ini diambilkan IC clok 8284A dengan frekuensi 4.77 MHz dengan siklus kerja ½.
5.    RQ/GT0
Pin ini merupakan jalur bidirectional yang digunakan oleh lokal bus untuk penggunaan bus lokal. Soket ini kompatibel dengan prosesor numerik 8087 produksi Intel. Sinyal ini akan mengijinkan prosesor untuk masuk ke dalam sistem untuk membentuk fungsinya.
6.    RQ/GT1
Pin ini (pin 30) sama fungsinya dengan RQ//GT0, tetapi dengan prioritas rendah. Dalam desain PC jalur ini tidak digunakan.
7.    LOCK
Pin ini (pin 29) diaktifkan oleh instruksi lock dan tetap aktif sampai akhir dari instruksi berikutnya. Jika desain PC bukan merupakan desain dengan bus multi- master, maka pin ini tidak digunakan.
8.    NMI
Pin ini (pin 17) digunakan untuk memberikan nonmaskable interrupt (Interrupt yang tidak bisa dihalangi) mikroprosesor 8088. Dalam desain PC, NMI ini dihalangi keluar dari prosesor dengan suatu bit programamble port. Dalam aplikasi desain PC permintaan NMI digunakan untuk menandai paritas error dalam memori sistem, menerima permintaan interrupt dari soket prosesor dan menerima permintaan interrupt dari piranti pada sistem bus.
9.    INTR
Sinyal masukan (pin 18) adalah masukan interrupt yang dapat dihalangi (maskable interrupt) prosesor 8088. Dalam desain PC, pin ini dihubungkan dengan IC kontroler interrupt 8259A yang memperluas masukan interrupt menjadi 8 masukan interrupt.
1    0. READY
Pin 22 ini digunakan untuk memasukkan kondisi “wait” dalam siklus bus prosesor 8088, sehingga siklus memperpanjang siklus.sinyal ini digunakan untuk memperlambat prosesor 8088 saat mengakses portI/O atau memori yang jauh lebih lambat dari siklus bus 8088. Dalam desain PC, jalur ini diambilkan dari IC clock 8284A yang menyinkronkan dengan clock sistem.PC menggunakan fungsi Ready untuk memasukkan 1 kondisi wait dalam semua akses port, memasukkan 1 kondisi wait dalam siklus DMA, dan memberikan kondisi wait sistem bus.
1    1.  RESET
Sinyal pin 21 ini digunakan untuk menahan. Dalam desain PC sinyal ini diambilkan dari IC clock 8284A yang menerima masukan dari sistem catu daya.
1    2. QS0 dan QS1
Jalur 2 keluaran ini (pin 24 dan 25) memberikan status queue instruksi internal 8088.
1    3. TEST
Pin masukan (pin 23) dites oleh instruksi “wait for test”. Jika tes low, eksekusi dilanjutkan, jika tes high, 8088 menunggu dalam kondisi idle sampai kondisi pin menjadi low. Dalam desain PC masukan tes dihubungkan dengan pin busy 8087.
1    4. S0, S1, dan S2
Pin keluaran (pin 26-28) memberikan informasi status untuk siklus bus. Status ini valid pada tiap awal siklus bus. Dalam desain PC, pin ini dihubungkan dengan bus kontroler 8288 yang dikodekan. Keluaran dekode 8088 menjadi pengontrol jalur dalam sistem bus. Berikut sinyal yang dihasilkan dari status jalur oleh 8288 dan diberikan pada sistem bus : IOR, IOW, MEMR, MEMW, dan ALE.


Karakteristik Input

Karakteristik input mikroprosesor-mikroprosesor ini kompatibel dengan semua komponen logika standar yang tersedia saat ini. Berikut ini merupakan table level tegangan input dan persyaratan arus input untuk semua pin input pada kedua mikroprosesor. Level arus input sangat kecil karena input merupakan koneksi gerbang MOSFET dan hanya mempresentasikan arus bocor.
Level Logika
Tegangan
Arus
0
0.8V maksimum
±10 μA maksimum
1
2.0V maksimum
±10 μA maksimum
Tabel 1. Karakteristik Input Mikroprosesor 8086 dan 8088
b. Karakterisrik output
Level tegangan logika 1 pada 8086/8088 kompatibel dengan sebagian besar keluarga logika standar tetapi logika 0 tidak. Rangkaian standar logika memiliki tegangan maksimum logika 0 sebesar 0.4V dan 8086/8088 memiliki maksimum 0.45V. dengan demikian ada perbedaan 0.05V.
Perbedaan ini memperkecil kekebalan terhadap noise dari level standar sebesar 400mV (0.V-0.45V) menjadi 350 mV. Kekebalan terhadap noise adalah perbedaaan antara level tegangan output logika 0 dan level tegangan output logika 1.
Level Logika
Tegangan
Arus
0
0.45V maksimum
2.0 μA maksimum
1
2.4V mksimum
-400 μA maksimum
Tabel 2. Karakteristik Output Mikroprosesor 8086 dan 8088
  1. 6.     Register dan instruksi
The 8086 memiliki delapan (lebih atau kurang umum) 16-bit register termasuk stack pointer , tetapi tidak termasuk pointer instruksi, mendaftar bendera dan register segmen. Empat dari mereka, AX, BX, CX, DX, juga dapat diakses sebagai dua kali lebih banyak 8-bit register (lihat gambar) sementara empat lainnya, BP, SI, DI, SP, adalah 16-bit saja.
Karena pengkodean kompak terinspirasi oleh 8-bit prosesor, instruksi sebagian besar satu-alamat atau dua-address operasi yang berarti bahwa hasil itu disimpan di salah satu operan. Paling banyak satu dari operan bisa berada di memori, tetapi ini operan memori juga bisa menjadi tujuan, sedangkan operan lain, sumber, bisa berupa register atau langsung. Sebuah lokasi memori tunggal juga bisa sering digunakan baik sebagai sumberdan tujuan yang, antara faktor-faktor lainnya, lanjut berkontribusi pada kepadatan kode sebanding dengan (dan sering lebih baik daripada) mesin bit yang paling delapan.
Meskipun tingkat umum dari register sebagian besar jauh lebih besar daripada di 8080 atau 8085, itu masih cukup rendah dibandingkan dengan kontemporer khas komputer mini , dan register juga kadang-kadang digunakan secara implisit oleh petunjuk. Sementara sempurna masuk akal bagi programmer assembly, ini alokasi yang rumit untuk compiler dibandingkan dengan lebih teratur 16 – dan 32-bit prosesor seperti PDP-11 , VAX , 68000 , dll, di sisi lain, dibandingkan dengan semi-kontemporer sederhana (tapi populer dan di mana-mana) 8-bit mikroprosesor seperti6502 , 6809 , atau 8085 , itu secara signifikan lebih mudah untuk menghasilkan kode untuk desain 8086.
The 8086 juga menampilkan 64 KB dari 8-bit (atau alternatif 32 K-kata 16-bit) I / O space. A 64 KB (satu segmen) tumpukan berkembang menuju alamat yang lebih rendah didukung dalam hardware , 2-byte kata didorong ke stack dan bagian atas stack ditunjuk oleh SS: SP. Ada 256 potong , yang dapat dipanggil oleh kedua hardware dan software. Menyela dapat kaskade, menggunakan stack untuk menyimpan alamat kembali .
Prosesor memiliki beberapa instruksi baru (tidak hadir di 8080 dan 8085) ke tumpukan dukungan yang lebih baik berdasarkan bahasa pemrograman tingkat tinggi seperti Pascal dan PL / M , beberapa yang lebih berguna yang mendorong mem-op, dan ukuran ret,mendukung “pascal konvensi pemanggilan ”secara langsung. (Beberapa orang lain, seperti mendorong immed dan masukkan, akan ditambahkan dalam 80.186 berikutnya, 80286, dan 80386 desain.) Ini juga memiliki mekanisme tumpukan-penanda. Ada tiga bendera kontrol IF (Interrupt Flag) TF (Trap Flag) DF (flag Arah).


  1. 7.      Fungsi Pin Out IC Mikroprosesor 8086
AD15-AD8 Jalur bus alamat/data 8086 terdiri dari bus alamat/data bagian atas 8086. Jalur-jalur ini berisi bit-bit alamat A15-A8 jika ALE pada logika 1, dan hubungan bus data D15-D8. Pin-pin ini memasuki impedansi tinggi jika terjadi hold acknowledge.
A19/S6-A16/S3 Bit-bit bus alamat/status dimultipleks untuk memberikan sinyal alamat A19-A16 dan juga bit status S6-S3. Pin-pin ini juga mempertahankan status impedansi tinggi selama hold acknowledge. Bit status S6 selalu merupakan logika 0, bit S5 menunjukkan kondisi bit-bit flag 1F. S4 dan S3 menunjukkan segmen mana yang diakses selama siklus bus pada saat itu. Berikut ini fungsi status bit S3 dan S4 :
   S4   
       S3 
                             Fungsi
0
0
Segmen ekstra
0
1
Segmen stack
1
0
Kode atau tanpa segmen
1
1
Segmen data
Tabel 3.Fungsi Status Bit S3 dan S4
RD Jika sinyal baca berupa logika 0. Bus data bisa menerima data dari memori atau alat I/O yang dihubungkan ke system. Pin ini naik ke status impedansi tinggi selama acknowledge hold.
READY Input ini dikendalikan untuk menyisipkan status tunggu ke timing mikroprosesor. Jika pin ready diletakkan pada level logika 0 mikroprosesor memasuki status tunggu dan tidak bekerja. Jika pin ready diletakkan pada level logika 1 tidak memiliki efek pada operasi mikroprosesor.
INTR Intrrupt request digunakan untuk meminta interrupt perangkat keras. Jika INTR dijaga tetap high ketika IF=1. Mikroprosesor memasuki siklus interrupt acknowledge setelah instruksi pada saat itu dijalankan sepenuhnya.
TEST Pin test merupakan input yang dites oleh instruksi wait. Jika berlogika 0 maka instruksi wait berfungsi sebagai NOP. Jika berlogika 1 maka instruksi wait menunggu sampai TEST berlogika 0.
NMI Input non-maskable interrupt sama dengan INTR kecuali interrupt NMI tidak memeriksa apakah bit flah 1F merupakan logika 1. Jika NMI diaktifkan, input interrupt ini menggunakan vector interrupt 2.
RESET Input reset menyebabkan mikroprosesor mereset dirinya sendiri jika pin ini tetap high selama minimum empat periode clock.
CLK Pin clock menyediakan sinyal waktu/timming dasar ke mikroprosesor. Sinyal clock harus memiliki siklus kerja 33% untuk memberikan timing internal yang sesuai.
Vcc Input catu daya.
GND Hubungan ground merupakan jalur kembali catu daya.
MN/MX Pin mode minimum/maksimum memilih operasi mode minimum atau maksimum untuk mikroprosesor. Jika dipilih mode minimum pin ini harus dihubungkan langsung ke +5.0V.
BHE/S7 Pin bus high enable digunakan untuk enable bus data yang paling signifikan (D15-D8) selama operasi baca atau tulis. Status S7 selalu merupakan logika 1.S2, S1, dan S0 Bit-bit status ini menunjukkan fungsi siklus bus saat itu. Sinyal-sinyal ini biasanya didekode oleh bus controller 8288.RO/GT1 dan Pin-pin request/grant ini meminta direct memory access (DMA). RO/GT0 selama operasi mode maksimum. Jalur-jalur ini bidireksional, digunakan untuk meminta dan member hak operasi DMA. LOCK Output lock digunakan untuk mengunci peripheral dari system. Pin ini diaktifkan dengan menggunakan awalan LOCK untuk semua instruksi.. QS1 dan QS0 Bit queue status menunjukkan status antrian instruksi internal. Pin-pin ini disediakan untuk akses oleh koprosesor numeric (8087). Berikut ini able status bit antrian :
QS1
QS0
Fungsi
0
0
Antrian tidak aktif
0
1
Byte pertama opcode
1
0
Antrian kosong
1
1
Byte opcode berurutan
Tabel 4. Status Bit Antrian
  1. 8.      Persamaan dan Perbedaan Mikroprosesor 8086 dengan Mikroprosesor 8088
a. Persamaan
Mikroprosesor 8086 dan 8088 sama-sama terkemas dalam dual in-line package (DIP) 40-pin.Mikroprosesor 8086 dan 8088 sama-sama membutuhkan tegangan catu sebesar +5.0V dengan toleransi tegangan catu ± 10%. Mikroprosesor 8086 dan 8088 beroperasi pada temperature lingkungan antara 32o F dan sekitar 180o F.
Mikroprosesor 8086 dan 8088 mempunyai karakteristik input dan karakteristik output yang sama.
b. Perbedaan
Perbedaan
8086
8088
Lebar bus data 16-bit
Lebar bus data 8-bit
Panjang antrian instruksi 6-byte
Panjang antrian instruksi 4-byte
Mempunyai pin M/IŌ
Mempunyai pin IO/M
Pin 34 BHE/S7
Pin 34 SSO
Arus catu maksimum 360 mA
Arus catu maksimum 340 mA
Tabel 5. Perbedaan Antara Mikroprosesor 8086 dan 8088
8086 merupakan mikroprosesor 16-bit, artinya bagian ALU, register internalnya, dan sebagian besar instruksi-instruksinya dirancang untuk bekerja pada data 16-bit.
8086 memiliki bus data 16-bit, jadi ia dapat membaca data dari atau menyimpan data ke memori dan port-port yang ada dalam format 16-bit atau 8-bit .
8086 memiliki bus alamat 20-bit, sehingga ia dapat mengalamati 220 atau 1.048.576 lokasi memori atau 1 MB memori, sedangkan register PC atau IP (instruction pointer) yang dimilikinya panjangnya 16-bit. Hal inilahyang merupakan keunggulan dari 8086.
Prosesor lain yang sejenis dengan 8086 adalah 8088. 8088 memiliki ALU, register, dan set instruksi yang sama dengan 8086. 8088 juga memiliki bus alamat 20-bit, jadi ia juga bisa mengalamati memori 1 MB.
Perbedaan 8088 dan 8086, 8088 memiliki bus data 8-bit, sedangkan 8086 lebar bus datanya 16-bit. 8088 hanya dapat membaca dari atau menulisi data ke memori dan port-port dengan panjang 8-bit. Untuk membaca word 16-bit dari dua lokasi memori, 8088 selalu mengerjakan dengan dua operasi baca. 8088 pada awalnya digunakan sebagai CPU pada The Original IBM Personal Computer.
Prosesor 8086 terbagi menjadi 2 bagian fungsional yang independen, yakni BIU (bus interface unit) dan EU (execution unit).
BIU bertugas mengirim kode-kode alamat keluar, mengambil instruksi dari memori, dan membaca data dari port dan memori. BIU menangani semua  trnasfer data dan alamat pada bus untuk membantu EU.
EU meminta BIU untuk mengambilkan instruksi dan data dari memori, mendekode dan melaksanakan instruksi


Arsitektur pada uP 8086,8088, dan beberapa versi diatasnya hingga pentium pro sangat mirip. Pemahaman tentang arsitektur ini penting untuk mengetahui cara programming processor. Dalam pemprograman uP tidak terpisahkan dari register, yakni sebuah memori sementara milik uP. Terdapat register yang memang visible, yakni dapat dialamati oleh uP. Namun terdapat juga yang unvisible, terutama pada versi 80286 dan setelahnya, untuk melakukan operasi pada protected mode. Adapun susunan dari register yang dapat dialamati adalah:

Seperti terlihat pada gambar, model pemprograman yang ada adala 8, 16, 32 bit. Pada model 8 bit, terdapat register AH, AL, BH, BL, CH, CL, DH, DL. Kemudian pada model 16 bit terdapat AX, BX, CX, DX, SP, BP, DI, SI, IP, FLAGS, CS, DS, ES, SS, FS, dan GS. Untuk 32 bit, EAX, EBX, ECX, EDX, hingga EFLAGS. Model tersebut dibagi menjadi dua type, general purpose register dan special purpose register.

General Purpose Register
EAX, jika dalam model 32 bit adalah EAX, dalam mode 16 bit adalah AX, dan 8 bit untuk AL atau  AH. Digunakan untuk menyimpan hasil aritmatika, dan lokasi alamat offset dan memory.
EBX, menyimpan  lokasi alamat offset memory sistem dan memory data.
ECX, digunakan untuk melakukan penghitungan.mengalamati memory data.
EDX, menyimpan bagian dari hasil pembagian atau perkalian, mengalamati memory data.
EBP, base pointer, menunjuk lokasi memory pada saat transfer data memory.
EDI, mengalamati data string tujuan untuk instruksi yang berhubungan dengan string.
ESI, mengalamati data string sumber untuk instruksi yang berhubungan dengan string.

Special Purpose Register
EIP, menunjuk pada instruksi selanjutnya pada memory yang telah dialokasikan menjadi code segment.
ESP, mengalamati bagian memory yang digunakan sebagai stack.
EFLAGS, mengindikasikan kondisi uP dan hasil berbagai operasi.

Struktur dari FLAGS register sama untuk versi 8086 hingga pentium Pro. Adapun masing-masing fungsi dari FLAG adalah:
CF, carry flag, untuk menyimpan hasil simpanan atau pinjaman pada operasi tambah dan kurang.
Parity, mengindikasikan 0 atau 1. Pengecekan parity sekarang lebih banyak digunakan pada komunikasi data.
ACF, mengindikasikan parity namun hanya pada bit 3 dan 4.
ZF, mengindikasikan hasil aritmatika apakah 0 atau tidak. jika nilainuya 0, maka ZF=1 dan sebaliknya.
SF, sebagai tanda apakah sebuah integer bertanda atau tidak. jika signed, SF=1; dan sebaliknya.
TrapF, enable/disable fitur debugging.
IF, enable/disable pin input INTR.
DF, setting direction dari register. dapat increment atau decrement. disetting dengan bantuan instruksi STD, dan CLD.
Overflow,  mengindikasikan telah terjadi overflow pada operasi tambah atau kurang. para operasi unsigned number, biasanya overfloaw tidak diperhatikan.
I/OPL, set level I/O privilege. paling tinggi adalah 00 dan terenda 11.privilege paling tinggi tidak akan halangan dalam eksekusi dan sebaliknya.
NT, diset ketika software melakukan perintah nested, yakni mengerjakan perintah lain dalam suatu perintah.
RS,control resume dari perintah setelah perintah berikutnya dikerjakan.
VM, set virtual mode yang memungkian bekerjanya beberapa DOS.
Alignment Check, tersetting apabila word atau double word tidak teralamati dengan benar.

SEGMENT REGISTER
Jika segment ini dihubungkan pada memory, maka dapat menghasilkan alamat memory tertentu. Fungsi yang sebenarnya dari sebuah segment register, berbeda pada real atau protected mode. Adapun secara general fungsi dari segment register adalah sebagai berikut:
Code Segment, code segment menyimpan program yang digunakan uP. dalam real mode alokasinya 64Kb namun pada protected mode lebih luas lagi, dan merujuk pada descriptor awal dan akhir alamat yang dalam register yang dapat digunakan.
Data Segment, letak sebagian besar data. pada 8086-80286 adalah 64K sedangkan pada 80386 sebesar4Gbytes.
Extra Segment, segment data tambahan untuk menyimpan tujuan pada instruksi string.
Stack Segment, mendefinisikan area pada memory yang dapat digunakan pada stack.
FS dan GS, adalah segment register yang hanya ada mulai 80386, 80486, pentium dan pentium pro. dapat diakses oleh program sebagai register tambahan.

REAL MODE ADDRESSING
Real mode hanya menggunakan 1Mbyte memory internal. Ini ada pada sistem 8086 dan 88. PCDOS dan MSDOS selalu bekerja pada real mode.

SEGMENT dan OFFSET
Segment + Offet digunakan untuk mengalamati memory pada RAM. Segment, mendefinisikan alamat awal dari memory. Offset address, alamat offset yang memilih antara range 64Kbytes memory segment. segment address otomatis akan ditambahkan 0h pada belakannya, kmudian ditambahkan offset address. Alamat ini menunjuk data pada RAM.

Sistem pengalamatan memory didapat dari gambar diatas. Pada 80286 alamat offset menjadi lebih panjang dengan tambahan 64K minus 16K. Biasanya digunakan sebagai pengalamatan memory tambahan.

SEGMENT DEFAULT dan OFFSET REGISTER
segment dapat dikombinasikan dengan berbagai register lain untuk melakukan suatu fungsi. Misal code segment + instruction pointer digunakan untuk merujuk pada instruksi yang selanjutnyadikerjakan. beberapa kombinasi dari segment:

Contoh kombinasi CS:IP, misal CS dimulai dengan alamat 4000H, dengan IP: 0001H. Maka kombinasinya adalah 40001H. kombinasi lain, adlah SS dan SP/BP. Alamat yang ditentukan dari kombinasi ini akan merujuk pada bagian memory yang digunakan sebagai stack.

8086-80286 memiliki 4 segment. sementara pada 80386 memiliki 6 segment. sebuah program dapat memiliki 4 segment atau lebih.

Sementara itu, stack segment disimpan dalam dalam TPA,tepatnya diatas semua driver dan program.

Insterupsi Dos & Bios pada Mikroprosesor 8088


1. Sistem DOS
DOS (Disk Operating System) adalah sistem operasi dasar untuk komputer pribadi berbasiskan prosesor Intel. DOS dirancang berkisar pada mikroprosesor 8088. Beberapa fungsi dasar yang disediakan adalah fungsi-fungsi file (hard disk, disket), perangkat/devices (printer, keyboard), dan pengaturan memori.
Kebanyakan keterbatasan sistem DOS berasal dari prosesor awal yang digunakannya. Meskipun DOS dijalankan pada prosesor 80286 atau 80386, DOS tetap dijalankan pada mode 8088.
1.1 Pengaturan Memori
Sebagaimana pengalamatan memori pada 8088, DOS hanya mampu menjangkau 1 MB memori (pengalamatan 20 bit) di mana 360 KB dicadangkan untuk rutin perangkat keras dan BIOS. Secara efektif DOS hanya mampu menggunakan 640 KB memori untuk penggunaan aplikasi.
Pengalamatan pada 8088 menggunakan bentuk Segment:Offset (16:16), dengan alamat fisik yang dituju = Segment*10h + offset. Dengan bentuk pengalamatan ini maka terjadi overlapping alamat, yaitu suatu lokasi memori dapat ditempuh dengan banyak cara. Misal alamat fisik 01000h bisa dianggap beralamat 1000h:0, 0FFFh:10h, atau 0FFEh:20h.
Pengaturan memori pada DOS bersifat statik dan fisik. 8088 adalah prosesor sederhana dan tidak menyediakan unit pengatur memori. Semua akses memori oleh program berupa pengalamatan langsung. Alokasi memori juga bersifat tetap, sehingga suatu program akan menempati alamat memori secara fisik hingga program tersebut berakhir.
Pada 8088 tidak dikenal pembatasan memori, seluruh daerah alokasi memori diwujudkan dalam bentuk satu daerah sebesar 1 Mb. Tidak ada pemisahan nyata antara berbagai komponen sistem, seperti BIOS, sistem operasi maupun aplikasi. Kesalahan akses memori tidak dapat dideteksi, dan kesalahan ini hanya bisa diatasi dengan memuat ulang sistem.
Gambar 1.  Struktur Sistem DOS
1.2. Pengaturan I/O dan Perangkat
Dalam mengelola input/output (I/O) sistem, DOS bertindak lebih sebagai konsultan dibanding pengontrol. Hal ini bukan seluruhnya kesalahan DOS. Pada mode 8088 sistem memberikan hak akses penuh I/O kepada seluruh program. Setiap aplikasi dapat secara langsung mengubah status dari perangkat keras tanpa harus melalui kendali sistem. Suatu program juga dapat mematikan sistem interrupt secara sepihak. Ketika interrupt sistem mati maka event-event eksternal (seperti pewaktu dan komunikasi data) akan hilang.
Ketiadaan kontrol terhadap I/O ini dapat memberikan dua pandangan yang berbeda. Keterbukaan dan fleksibilitas sistem dapat memberikan banyak kemungkinan kerja bagi suatu program. Tanpa adanya pembatasan maka suatu program dapat memaksimalkan penggunaan perangkat-perangkat yang ada pada komputer, yakni dengan melakukan akses langsung. Namun kebebasan ini juga memberikan pengaruh buruk untuk sistem dengan multi program, karena tiap-tiap program dapat menggunakan sumber daya sistem tanpa adanya koordinasi.
Dalam kerjanya DOS mendukung dua jenis perangkat, block devices, seperti hard disk dan disket, dan character devices, seperti keyboard, printer dan perangkat serial. DOS memelihara struktur data bernama device chain yang memetakan nama logika perangkat menurut driver perangkat yang bersangkutan. Perangkat blok ditentukan menurut huruf alfabet diikuti oleh titik dua, A:, B:, hingga Z:. Perangkat karakter ditentukan oleh nama (hingga 8 huruf) seperti PRN, LPT: dan COM1.
Device DOS dapat diperluas dengan menambah device driver suatu perangkat kepada sistem. Device driver ini akan diinstalasi oleh DOS ketika sistem dimulai. Device driver mengelola perangkat yang bersangkutan dengan menggunakan rutin ROM BIOS atau mengakses langsung perangkat keras. Rutin ROM BIOS diakses menggunakan mekanisme interupsi software.
1.3. Pemrograman DOS
Pemrograman pada DOS didasarkan pada interupsi software. Interupsi software adalah transfer kontrol antara dua program yang dibimbing oleh CPU. Sekumpulan fungsi (API, Application Programming Interface) dibuat untuk mengakses DOS. API DOS berisi fungsi-fungsi untuk pengaturan memori, file, operasi input/output, dan akses untuk tiap-tiap device.
Yang tak kurang pentingnya fasilitas untuk memuat dan mengakhiri program.
Tidak semua fungsi-fungsi disediakan DOS sehingga program DOS biasanya menggunakan kombinasi dari rutin ROM BIOS dan akses langsung perangkat keras.
Daftar interrupt BIOS dan DOS dari 10h hingga 2Fh:
10 BIOS video
11 BIOS equipment determination
12 BIOS memory size
13 BIOS disk I/O service
14 BIOS serial communications
15 BIOS system services, cassette
16 BIOS keyboard services
17 BIOS parallel printer
18 BIOS ROM BASIC loader
19 BIOS bootstrap loader
1A BIOS time of day
1B BIOS user defined ctrl-break handler
1C BIOS user defined clock tick handler
1D BIOS 6845 video parameter pointer
1E BIOS diskette parameter pointer
1F BIOS graphics character table
20 DOS general program termination
21 DOS function request services
22 DOS terminate address
23 DOS control break termination address
24 DOS critical error handler
25 DOS absolute disk read
26 DOS absolute disk write
27 DOS terminate and stay resident
28 DOS idle loop, issued by DOS when idle
29 DOS fast TTY console I/O
2A DOS critical section and NETBIOS
2B DOS internal, simple IRET in DOS 2.0-7.0
2C DOS internal, simple IRET in DOS 2.0-7.0
2D DOS internal, simple IRET in DOS 2.0-7.0
2E DOS exec command from base level command interpreter
2F DOS multiplexer
Aturan pemanggilan (calling convention) untuk fungsi-fungsi DOS membutuhkan masukan parameter melalui register-register, termasuk parameter khusus berupa nomor fungsi
yang menentukan fungsi yang diinginkan. Program lalu melakukan interupsi software yang menyebabkan eksekusi program beralih ke kernel DOS. Kernel DOS menyalurkan panggilan tersebut dengan melihat nomor fungsi pada parameter dan memanggil rutin fungsi yang bersangkutan. Setelah fungsi selesai kontrol dikembalikan pada program pemanggil dengan parameter hasil pada register.

Gambar 2. Pemanggilan fungsi pada DOS
Gambar 3.  Contoh umum program DOS
Karena antar muka DOS dan BIOS bekerja dengan mekanisme interrupt, maka untuk perluasan sistem suatu program dapat menggantikan interrupt DOS atau BIOS dengan rutinnya sendiri. Untuk hal ini biasa dikenal istilah program TSR (Terminate and Stay Resident) yang merupakan suatu program menetap di memori yang fungsinya terutama untuk mencegat/memodifikasi pemanggilan sistem DOS/BIOS untuk pemrosesan lebih lanjut.
1.4. Program-program DOS
Sebuah program DOS adalah kumpulan dari segment kode dan data yang diletakkan dalam sebuah file eksekusi (EXE) pada media penyimpan sekunder2. Ketika program dijalankan, kode-kode dan obyek data dimuat dalam memori oleh bagian pemuat (loader) dari sistem operasi, dan alamat dari rutin awal program diset dan dijalankan. Kebanyakan program termasuk dengan stack, yaitu sebuah last-in-first-out (LIFO) obyek data yang digunakan untuk memori penyimpan sementara. Karena arsitektur dari prosesor 8088, obyek memori DOS adalah segment.
Dalam fisiknya, program-program DOS terdiri dari 2 jenis, yakni berformat COM atau EXE. Program COM hanya berupa image kode-kode mesin dengan besar maksimal 1 segment (64K), sedangkan program EXE berupa image kode-kode mesin dengan besar dapat melebihi 1 segment. Karena melebihi 1 segment, maka program EXE mempunyai header yang mengatur tabel relokasi alamat, besar memori yang dibutuhkan, besar stack, dan inisial pointer stack & instruksi.



Bersambung...