aditwardana.files.wordpress.com …  · web viewdengan mikroprosessor / mikrokontroller penggunaan...

36
BAHASA RAKITAN Pengantar Bahasa Rakitan Bahasa Rakitan termasuk ke dalam bahasa tingkat rendah dan merupakan bahasa Bahasa Rakitan termasuk ke dalam bahasa tingkat rendah dan merupakan bahasa dasar komputer. Bahasa ini memerlukan logika yang cukup rumit di samping instruksinya yang jauh berbeda dengan bahasa pemrograman lainnya. Program yang dihasilkan memiliki kecepatan yang paling baik. Kelebihan dari bahasa rakitan adalah : 1. Memiliki fasilitas fungsi dan makro (ciri khas bahasa pemrograman yang menyebabkan pemrograman menjadi lebih mudah). 2. Program dapat dibuat secara modular (dipecah dalam modul- modul kecil dan dapat diintegrasikan kembali). 3. Ukuran program lebih kecil, sehingga lebih menghemat media penyimpan. 4. Lebih dekat ke hardware sehingga seluruh kemampuan komputer dapat dimanfaatkan secara maksimal. Bahasa rakitan merupakan bahasa pemrograman yang posisinya di antara bahasa pemrograman lainnya adalah termasuk dalam bahasa pemrograman tingkat rendah karena bahasa ini berhubungan langsung dengan bahasa mesin. Sedangkan bahasa pemrograman Delphi berada di atas bahasa pemrograman rakitan, yang sering disebut OOP (Object Orinted Programming). Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa rakitan memakai kode mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga memudahkan penulisan program. Program yang ditulis dengan bahasa rakitan terdiri dari label; kode mnemonic dan lainnya, pada umumnya dinamakan sebagai program sumber (source code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program tapi harus diterjemahkan terlebih dahulu menjadi bahasa mesin dalam bentuk kode biner. Jika yang ditulis hanya bahasa rakitan saja maka biasanya program dibuat dengan program editor biasa, misalnya note pad pada Windows atau sidekick pada DOS,

Upload: others

Post on 19-Jan-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

BAHASA RAKITANPengantar Bahasa RakitanBahasa Rakitan termasuk ke dalam bahasa tingkat rendah dan merupakan bahasa Bahasa Rakitan termasuk ke dalam bahasa tingkat rendah dan merupakan bahasa dasar komputer. Bahasa ini memerlukan logika yang cukup rumit di samping instruksinya yang jauh berbeda dengan bahasa pemrograman lainnya. Program yang dihasilkan memiliki kecepatan yang paling baik. Kelebihan dari bahasa rakitan adalah :

1. Memiliki fasilitas fungsi dan makro (ciri khas bahasa pemrograman yang menyebabkan pemrograman menjadi lebih mudah).

2. Program dapat dibuat secara modular (dipecah dalam modul-modul kecil dan dapat diintegrasikan kembali).

3. Ukuran program lebih kecil, sehingga lebih menghemat media penyimpan.

4. Lebih dekat ke hardware sehingga seluruh kemampuan komputer dapat dimanfaatkan secara maksimal.

Bahasa rakitan merupakan bahasa pemrograman yang posisinya di antara bahasa pemrograman lainnya adalah termasuk dalam bahasa pemrograman tingkat rendah karena bahasa ini berhubungan langsung dengan bahasa mesin. Sedangkan bahasa pemrograman Delphi berada di atas bahasa pemrograman rakitan, yang sering disebut OOP (Object Orinted Programming).

Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa rakitan memakai kode mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga memudahkan penulisan program.

Program yang ditulis dengan bahasa rakitan terdiri dari label; kode mnemonic dan lainnya, pada umumnya dinamakan sebagai program sumber (source code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program tapi harus diterjemahkan terlebih dahulu menjadi bahasa mesin dalam bentuk kode biner. Jika yang ditulis hanya bahasa rakitan saja maka biasanya program dibuat dengan program editor biasa, misalnya note pad pada Windows atau sidekick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program rakitan. Hasil kerja program rakitan adalah “program objek” dan juga “rakitan listing”. Tapi karena di sini bahasa rakitan ditulis bersama dengan bahasa Delphi maka program dibuat di dalam editor milik Delphi.

Program objek berisikan kode – kode bahasa mesin, kode – kode bahasa mesin inilah yang diumpankan ke memori – memori prosesor. Perlu diperhatikan bahwa setiap prosesor mempunyai konstruksi yang berbeda– beda, instruksi untuk mengendalikan masing – masing prosesor juga berbeda – beda.

Dengan demikian bahasa rakitan untuk masing – masing prosesor juga berbeda, yang sama hanyalah pola dasar cara penulisan program rakitan saja.

Page 2: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

MIKROPROSESOR INTEL 8088: Register dan Arsitektur

Mikroprosessor adalah inti dari sistem komputer. Pada saat ini banyak perangkat elektronika yang dikendalikan oleh mikroprosessor / mikrokontroller. Dengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi .

Intel 8088 adalah prosesor mikro buatan Intel berbasis pada 8086, dengan 16-bit register dan menggunakan 8-bit external data bus. intel 8088 merupakan prosesor yang digunakan pada IBM PC.

8088 ditargetkan pada sistem yang ekonomis, diikuti oleh pengunaan desain 8-bit. Jalur bus yang lebar dalam circuit boards masih sangatlah mahal ketika ini di luncurkan. Queue yang ungul dari 8088 adalah 4 bytes, sebagai penggunaan dalam 8086 6 bytes. 8088 termasuk keturunan dari 80188, 80288, 80186, 80286, 80386, 80486, dan 80388, microcontroller seperti yang masih digunakan sekarang. Clone yang populer dengan menggunakan 8088 adalah Model D, dimana tombol pilihan dapat berjalan pada clock 4.77 MHZ atau 7.16 MHZ.

Spesifikasi 8088

Mikroprosesor Intel 8088 hampir serupa dengan prosesor Intel 8086, kecuali pada data eksternal bus. Lebar data eksternal bus 8088 dikurangi menjadi 8 bit, dan instruksi ukuran queue dan prefetching algoritmanya diubah. Intel 8088 menggunakan dua urutan bus siklus untuk menulis atau membaca 16 data bit sebagai ganti satu siklus untuk 8086. Ini menjadikan prosesor bergerak lebih lambat, tetapi ada nilai plus pada perangkat keras yang menjadikan CPU 8088 kompatibel dengan peripheral 8080/8085.

Pin SSO pada 8088 menggantikan BHE/S7 pada 8086, dan pin IO/M pada 8088, bukan M/IO seperti pada 8086. 8088 membutuhkan catu daya +5,0 V dengan toleransi + 10%. Mikroprosesor 8088 akan kompatibel TTL (Transistor-Transistor Logic) jika kekebalan terhadap noise disesuaikan menjadi 350 mV dari nilai 400 mV yang biasa. Mikroprosesor 8088 dapat menjalankan satu 74XX, lima 74LSXX, satu 74SXX, sepuluh 74ALSXX, dan sepuluh 74HCXX beban satuan. Jika mikroprosesor 8088 direset, mikroprosesor ini mulai mengeksekusi perangkat lunak pada lokasi meori FFFF0H (FFF:0000) dengan pin interrupt request di-disable. Karena bus-bus 8088 dimultipleks dan kebanyakan memori dan peralatan I/O tidak, system harus didemultipleks sebelum pengantarmukaan dengan memori atau I/O. Demultipleks dilakukan oleh latch delapan bit yang pulsa clocknya didapat dari sinyal ALE. Operasi minimum 8088 sama dengan mikroprosesor Intel 8085A, sementara mode maksimum adalah baru dan khusus dirancang untuk operasi koprosesor aritmatika 8087.

REGISTER

Page 3: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Sebuah register adalah sebuah tempat penampungan sementara untuk data-data yng akan diolah oleh prosesor, dan dibentuk oleh 16 titik elektronis di dalam chip mikroprosesor 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-register tersebut sebagai register internal dan terdiri dari empat belas register dan keseluruhannya dapat dibagi dalam beberapa jenis, yaitu : Register Segment, Register Data, Register pointer, Register index, Register index, dan General Purpose Register.

Semua general register mikroprosesor 8088 dapat digunakan untuk perhitungan dan operasi logika.

Pada 8088, register data 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 pengolahan data didalam internal mikroprosesor.

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

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 membentuk 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).

Susunan chip prosesor Intel 8088.

• Catu Daya/VCC (pin 40) dan GND (pin 1 dan 20)

• Bus Data (AD0 – AD7)

Page 4: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

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

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.

ARSITEKTUR

Arsitektur dari 8088 tetap sama degan 8086 yakni: 16-bit registers, 16-bit internal data bus dan 20-bit address bus, yang bisa menjadikan prosesor mencapai memori 1 MB. 8088 memiliki pembagian memori yang sama dengan 8086: prosesor bisa mencapai 64 KB dari memori secara langsung, dan untuk mencapai lebih dari 64 KB, salah satu dari bagian khusus register harus di update.

Page 5: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Program, data dan stack memori menduduki ruang memori yang sama. Total kapasitas memory yang bisa dicapai adalah 1MB KB. Sebagaimana kebanyakan instruksi prosesor yang menggunakan 16-bit pointers, prosesor dapat mengolah secara efektif jika hanya memorinya 64 KB. Untuk mengakses memori diluar 64 KB, CPU menggunakan bagian register khusus untuk menspesifikasi di mana kode, stack dan 64 KB segmen data diposisikan di dalam memori 1 MB.

16-bit pointers dan data disimpan sebagai:

address: low-order byte

address+1: high-order byte

32-bit addresses disimpan di “segment:offset” dengan format:

address: low-order byte of segment

address+1: high-order byte of segment

address+2: low-order byte of offset

address+3: high-order byte of offset

Physical memory address ditunjukkan oleh pasangan segment:offset dihitung dengan:

address = (<segment> * 16) + <offset>

Program Memori- program dapat ditempatkan di manapun di dalam memori. perintah jump and call dapat digunakan untuk menyingkat lompatan di dalam segmen kode 64 KB, seperti halnya untuk lompatan jauh di manapun di dalam memori 1 MB. Seluruh perintah lompatan yang bersyarat dapat digunakan untuk melompat sekitar + 127 – - 127 bytes dari instruksi yang ada.

Memori data – prosesor dapat mengakses data di tiap orang lebih dari 4 segmen yang tersedia, yang membatasi ukuran dari memori yang dapat diakses sampai 256 KB ( jika seluruh empat segmen menunjuk pada 64 KB blok berbeda). Mengakses data dari Data, Code, segmen Extra atau Stack biasanya dapat dilaksanakan dengan awalan perintah DS:, CS:, SS: atau ES: ( beberapa register dan instruksi dengan tak hadir boleh gunakan segmen SS atau ES sebagai ganti segmen DS).

Set Instruksi

Set instruksi 8088 terdiri dari perintah-perintah berikut:

Page 6: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

* Instruksi perpindahan data.

* Aritmatika – penjumlahan, pengurangan, penaikan, penurunan, mengkonversi byte/word dan pembandingan.

* Logika – DAN, OR, eksklusif OR, shift/rotate dan test.

* Manipulasi string – load, store, move, compare dan scan untuk byte/word.

* Kontrol transfer – conditional, unconditional, panggilan subroutine dan kembali dari subroutine.

* Perintah Input/Output.

* Lain-lain – setting/clearing flag bits, stack operations, software interrupts, dan lain-lain.

Memori Internal

- ROM (Read Only Memory)

Memori tempat menyimpan program/source code. Sifat ROM adalah non-viotile, data/program tidak akan hilang walaupun tegangan supply tidak ada. Kapasitas ROM tergantung dari tipe mikrokontroller. Untuk AT89S51 kapasitas ROM adalah 4 KByte. ROM pada AT89S51 menempati address 0000 s/d 0FFF.

- RAM (Random Access Memory)

Memori tempat menyimpan data sementara. Sifat RAM adalah viotile, data akan hilang jika tegangan supply tidak ada. Kapasitas RAM tergantung pada tipe mikrontroller. Dibagi menjadi dua yaitu :

1. LOWER 128 byte address 00 s/d 7F

RAM ini dapat diakses dengan pengalamatan langsung (direct) maupun tak langsung (indirect).

2. UPPER 128 byte addree 80 s/d FF

RAM ini hanya dapat diakses dengan pengalamatan tak langsung saja.

- SFR (Special Function Register)

Central Processing Unit

- Pemroses instruksi yang pada komputer mikro disebut dengan micro-processor (pemroses mikro)

- Berupa chip yang terdiri dari ribuan hingga jutaan IC (Integrated Circuit). Dimana IC ini digunakan untuk mengimplementasikan fungsi logika.

- ALU (Arithmatic Logical Unit)

Page 7: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Bertugas membentuk fungsi-fungsi pengolahan data komputer. Sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi-instruksi bahasa mesin yang diberikan padanya. Terdiri dari dua bagian yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki sesifikasi tugas tersendiri.

- CU (Control Unit)

Bertugas mengontrol operasi CPU dan secara keseluruhan mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. Termasuk dalam tanngung jawab unit kontrol adalah mengambil instruksi-instruksi dari memori utama dan menentukan jenis instruksi tersebut.

- Register

Media penyimpanan internal CPU yang digunakan saat proses pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saar diolah ataupun data untuk pengolahan selanjutnya

- CPU Interconnections

Sistem koneksi dan bus yang menghubungkan komponen internal dan bus bus eksternal CPU. Komponen internal CPU yaitu ALU, unit kontrol dan register-register. Komponen eksternal CPU lainnya seperti memori utaman piranti masukan/keluaran.

Sistem BilanganAda beberapa sistem bilangan yang digunakan dalam sistem digital. Yang paling umum adalah sistem bilangan desimal, biner, oktal, dan heksadesimal. Sistem bilangan desimal merupakan sistem bilangan yang paling familier dengan kita karena berbagai kemudahannya yang kita pergunakan sehari-hari. Sistem bilangan biner merupakan sistem bilangan yang paling banyak digunakan dalam sistem digital karena sistem bilangan ini secara langsung dapat mewakili logika yang ada.Smenetara itu sistem bilangan oktal dan heksadesimal

Page 8: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

biasanya banyak digunakan dalam sistem digital untuk memperpendek penyajian suatu bilangan yang tadinya disajikan dalam sistem bilangan biner.

Secara umum bilangan dapat dibagi menjadi beberapa katagori. Dari segi koma desimal (point), bilangan dapat dibagi menjadi bilangan bulat (integer number/fixed-point number) dan bilangan pecahan (floating-point number). Dan dari segi tanda, bilangan dapat dibagi menjadi bilangan tak bertanda (unsigned number) dan bilangan bertanda (signed number). Pada bab ini akan dijelaskan bilangan bulat tak bertanda (unsigned integer), bilangan bulat bertanda (signed integer) dan bilangan pecahan tak bertanda (floating-point number). Dengan mempelajari beberapa karakteristik suatu sistem bilangan tersebut akan membantu kita untuk lebih memahami sistem bilangan yang lain.

2.1 DesimalSistem bilangan desimal disusun dari 10 angka atau lambang. Dengan menggunakan lambang-lambang tersebut sebagai digit pada sebuah bilangan, kita dapat mengekspresikan suatu kuantitas. Kesepuluh lambang tersebut adalah:D = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }Sistem bilangan desimal disebut juga sistem bilangan basis 10 atau radiks 10   karena mempunyai 10 digit. Sistem bilangan ini bersifat alamiah karena pada kenyataannya manusia mempunyai 10 jari. Kata digit itu sendiri diturunkan dari kata bahasa Latin finger.Ciri suatu bilangan menggunakan sistem bilangan desimal adalah adanya tambahan subskrip des atau 10 atau tambahan D di akhir suatu bilangan.

Contoh: 357des = 35710 = 357D. Namun karena bilangan desimal sudah menjadi bilangan yang  digunakan sehari-hari, subskrip tersebut biasanya dihilangkan. Sistem bilangan desimal merupakan sebuah sistem nilai-posisi. Pada sistem ini, nilai sebuah digit tergantung pada posisinya. Representasi bilangan desimal bulatm digit adalah sebagai berikut,

Contoh:· Bilangan 357.Pada bilangan tersebut, digit 3 berarti 3 ratusan, 5 berarti 5 puluhan, dan 7 berarti 7 satuan. Sehingga, 3 mempunyai arti paling besar di antara tiga digit yang ada. Digit ini bertindak sebagai digit paling berarti (Most Significant Digit, MSD). Sedangkan 7 mempunyai arti paling kecil di antara tiga digit yang ada dan disebut digit paling tidak berarti (Least Significant Digit, LSD).

Koma desimal digunakan untuk memisahkan bagian bulat dan pecahan bilangan. Posisi relatif terhadap koma desimal memberikan arti yang dapat dinyatakan sebagai pangkat dari 10.Contoh:· Bilangan 35,27.

Bilangan ini mempunyai arti 3 puluhan ditambah 5 satuan ditambah 2 per sepuluhan ditambah 7 per seratusan. Koma desimal memisahkan pangkat positif dari 10 dengan pangkat negatifnya.35,27 = 3 X 10+1 + 5 X 100+ 2 X 10-1 + 7 X 10-2

Secara umum dapat dikatakan, nilai suatu bilangan desimal merupakan penjumlahan dari perkalian setiap digit dengan nilai posisinya.

Page 9: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

2.2 BinerSistem digital hanya mengenal dua logika, yaitu 0 dan 1. Logika 0 biasanya mewakili kondisi mati dan logika 1 mewakili kondisi hidup. Pada sistem bilangan biner, hanya dikenal dua lambang, yaitu 0 dan 1. Karena itu, sistem bilangan biner paling sering digunakan untuk merepresentasikan kuantitas dan mewakili keadaan dalamsistem digital maupun sistem komputer. Digit bilangan biner disebut binary digit atau bit. Empat bit dinamakan nibble dan delapan bit dinamakan byte. Sejumlah bit yang dapat diproses komputer untuk mewakili suatu karakter (dapat berupa huruf, angka atau lambang khusus) dinamakan word. Sebuah komputer dapat memproses data satu word yang terdiri dari 4 sampai 64 bit. Sebagai contoh, sebuah komputer yang menggunakan mikroprosesor 32 bit dapat menerima, memproses, menyimpan dan mengirim data atau instruksi dalam format 32 bit.Jika komputer digunakan untuk memproses karakter, maka karakter (yang meliputi huruf, angka, tanda baca dan karakter kontrol) tersebut harus diformat dalam bentuk kode alfanumerik. Format baku ASCII (American Standard Code for Information Interchange) menggunakan format data tujuh bit untuk mewakili semua karakter yang ada termasuk tanda baca dan penanda kontrol. Dengan format tujuh bit, maka ASCII dapat menanpung 27  = 128 data.Sistem bilangan biner merupakan sistem bilangan basis dua. Pada sistem bilangan ini hanya dikenal dua lambang, yaitu: B = { 0, 1 } Ciri suatu bilangan menggunakan sistem bilangan biner adalah adanya tambahan subskrip bin atau 2 atau tambahan huruf B di akhir suatu bilangan.Contoh : 1010011bin = 10100112 = 1010011B.Representasi bilangan biner bulat m bit adalah sebagai berikut, Bit paling kiri dari suatu bilangan biner bertindak sebagai bit paling berarti (Most Significant Bit, MSB), sedangkan bit paling kanan bertindak sebagai bit paling tidak berarti (Least Significant Bit, LSB).Persamaan tersebut dapat digunakan untuk mengonversi suatu bilangan biner ke bilangan desimal.

a) Konversi Bilangan Biner ke DesimalKonversi bilangan biner ke desimal dilakukan dengan menjumlahkan hasil perkalian semua bit biner dengan beratnya.

b) Konversi Bilangan Desimal ke BinerKonversi Bilangan Desimal Bulat ke Biner Konversi bilangan desimal bulat ke biner dilakukan dengan membagi secara berulang-ulang suatu bilangan desimal dengan 2. Sisa setiap pembagian merupakan bit yang didapat.

Page 10: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

2.3 OktalSistem bilangan oktal merupakan sistem bilangan basis delapan. Pada sistem bilangan ini terdapat delapan lambang, yaitu:O = { 0, 1, 2, 3, 4, 5, 6, 7 }Ciri suatu bilangan menggunakan sistem bilangan oktal adalah adanya tambahan subskrip okt atau 8 atau tambahan huruf O di akhir suatu bilangan.Contoh:1161okt = 11618 = 1161O.

a) Konversi Bilangan Oktal ke DesimalKonversi bilangan oktal ke desimal dilakukan dengan menjumlahkan hasil perkalian semua digit oktal dengan beratnya.Contoh:

b) Konversi Bilangan Desimal ke OktalKonversi bilangan bulat desimal ke oktal dilakukan dengan membagi secara berulang-ulang suatu bilangan desimal dengan 8. Sisa setiap pembagian merupakan digit oktal yang didapat.Contoh:

c) Konversi Bilangan Oktal ke BinerKonversi bilangan oktal ke biner lebih mudah dibandingkan dengan konversi bilangan oktal

Page 11: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

ke desimal. Satu digit oktal dikonversi ke 3 bit biner. Tabel 2.1 dapat digunakan untuk membantu proses pengonversian ini.Contoh:

d) Konversi Bilangan Biner ke OktalKonversi bilangan biner ke oktal lebih mudah dibandingkan konversi bilangan desimal ke oktal. Untuk bagian bulat, kelompokkan setiap tiga bit biner dari paling kanan, kemudian konversikan setiap kelompok ke satu digit oktal. Dan untuk bagian pecahan, kelompokkan setiap tiga bit biner dari paling kiri, kemudian konversikan setiap kelompok ke satu digit oktal. Proses ini merupakan kebalikan dari proses konversi bilangan oktal ke biner.Contoh:

2.4 HeksadesimalSistem bilangan heksadesimal merupakan sistem bilangan basis enam belas. Meskipun pada sistem digital dan komputer operasi secara fisik dikerjakan secara biner, namun untuk representasi data banyak digunakan format bilangan heksadesimal karena format ini lebih praktis, mudah dibaca dan mempunyai kemungkinan timbul kesalahan lebih kecil. Penerapan format heksadesimal banyak digunakan pada penyajian lokasi memori, penyajian isi memori, kode instruksi dan kode yang merepresentasikan alfanumerik dan karakter nonnumerik. Pada sistem bilangan ini terdapat enam belas lambang, yaitu:H = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F }Ciri suatu bilangan menggunakan sistem bilangan heksadesimal adalah adanya tambahan subskrip heks atau 16 atau tambahan huruf H di akhir suatu bilangan. Contoh: 271heks = 27116 = 271H.Persamaan tersebut dapat digunakan untuk mengonversi suatu bilangan oktal  ke bilangan desimal.

a) Konversi Bilangan Heksadesimal ke DesimalKonversi bilangan heksadesimal ke desimal dilakukan dengan menjumlahkan hasil perkalian semua digit heksadesimal dengan beratnya.Contoh:

Page 12: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

b) Konversi Bilangan Desimal ke HeksadesimalKonversi bilangan desimal bulat ke heksadesimal dilakukan dengan membagi secara berulang-ulang suatu bilangan desimal dengan 16. Sisa setiap pembagian merupakan digit heksadesimal yang didapat.Contoh:

625des = 271heks

Konversi bilangan heksadesimal ke biner lebih mudah dibandingkan konversi bilangan heksadesimal ke desimal. Satu digit heksadesimal dikonversi ke 4 bit. Tabel 2.1 dapat digunakan untuk membantu proses pengonversian ini.Contoh:

c) Konversi Bilangan Biner ke HeksadesimalKonversi bilangan biner ke heksadesimal lebih mudah dibandingkan konversi bilangan desimal ke heksadesimal. Untuk bagian bulat, kelompokkan setiap empat bit biner dari paling kanan, kemudian konversikan setiap kelompok ke satu digit heksadesimal. Dan untuk bagian pecahan, kelompokkan setiap empat bit biner dari paling kiri, kemudian konversikan setiap kelompok ke satu digit heksadesimal. Proses ini merupakan kebalikan dari proses konversi bilangan heksadesimal ke biner.Contoh:

2.5 BCD (Binary Coded Decimal)Sistem bilangan BCD hampir sama dengan sistem bilangan biner. Pada sistem bilangan ini, setiap satu digit desimal diwakili secara tersendiri ke dalam bit-bit biner. Karena pada sistem

Page 13: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

bilangan desimal terdapat 10 digit, maka dibutuhkan 4 bit biner untuk mewakili setiap digit desimal. Setiap digit desimal dikodekan ke sistem bilangan biner tak bertanda. Sistem bilangan BCD biasanya digunakan untuk keperluan penampil tujuh segmen (seven-segment).Contoh:

Konversi bilangan desimal dari 0 sampai 15 ke bilangan biner, oktal, heksadesimal dan BCD dapat dilihat pada tabel 2.1.

Table 2.1 Konversi antar sistem bilangan

Desimal Biner Oktal Hexadesimal BCD0 0 0 0 00001 1 1 1 00012 10 2 2 00103 11 3 3 00114 100 4 4 01005 101 5 5 01016 110 6 6 01107 111 7 7 01118 1000 10 8 10009 1001 11 9 100110 1010 12 A 0001 000011 1011 13 B 0001 000112 1100 14 C 0001 001013 1101 15 D 0001 001114 1110 16 E 0001 010015 1111 17 F 0001 0101

Perlu diingat di sini, pada sistem bilangan BCD, pengkodean bilangan desimal menjadi bilangan biner format 4 bit, sehingga terdapat 6 nilai biner yang bukan merupakan format sistem bilangan BCD karena tidak mewakili nilai desimal. Keempat bilangan biner tersebut adalah 1010, 1011, 1100, 1101, 1110 dan 1111. Dalam praktek keempat bilangan biner tersebut masuk dalam kondisi yang diabaikan (don’t care).

2.6 Sistem Bilangan Biner Tak Bertanda dan BertandaTerdapat dua sistem bilangan biner, yaitu bilangan biner tak bertanda dan bilangan biner bertanda. Pada sistem bilangan biner tak bertanda, hanya dikenal bilangan biner posisif dan

Page 14: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

tidak diijinkan adanya bilangan biner negatif. Di sini semua bit digunakan untuk merepresentasikan suatu nilai.

Contoh:

Pada bilangan biner tak bertanda di atas, nilai bilangan dihitung dari A3 …A0. Sehingga,

Pada bilangan biner bertanda, bit paling kiri menyatakan tanda, sehingga nilai bilangan dihitung dari A2  ... A0

.

Pada sistem ini, bit paling kiri menyatakan tanda negatif atau positif nilai yang diwakilinya. Tanda positif diwakili oleh bit 0 dan tanda negatif diwakili oleh bit 1.Sebagai contoh, suatu memori dapat menampung 6 bit bilangan biner. Memoritersebut mengunakan sistem bilangan biner bertanda. Maka dari keenam bit yang ada,bit paling kiri, yaitu A6, digunakan sebagai penanda bilangan dan dinamakan bit tanda (sign bit), sedangkan bit-bit yang lain, yaitu bit A5  ... A0  mewakili suatu nilai.

Bilangan ini merupakan bilangan biner positif karena A6 = 0, dengan nilai 110100bin = +52des.

Page 15: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Bilangan ini adalah negatif karena A6 = 1. Nilai bilangan yang diwakili adalah 110100bin = 52des, sehingga bilangan yang diwakili adalah -52.Pada sistem bilangan biner bertanda, karena bit paling kiri merupakan bit tanda maka MSB terletak di  sebelah kanan bit tanda.

a) Bilangan Biner Komplemen SatuTerdapat dua cara untuk mengubah suatu bilangan positif ke bilangan negatif, yaitu menggunakan sistem bilangan biner komplemen satu dan sistem bilangan biner komplemen dua. Cara pertama, merupakan cara yang paling mudah ditempuh. Dengan cara ini, untuk mengubah bilangan positif ke negatif cukup dilakukan dengan mengubah bit 0 ke 1 dan bit 1 ke 0 pada setiap bit suatu bilangan biner.

Sebagai contoh, 101101 merupakan bilangan biner dengan nilai 45. Maka -45 sama dengan 010010.

Jika P merupakan suatu bilangan positif, bilangan komplemen satu n bit – P juga dapat diperoleh dengan mengurangkan P dari 2n – 1. Atau, bilangan komplemen satunya menjadi (2n – 1) –  P. Contohnya adalah jika P = 45,

-P (Sistem bilangan komplemen satu jarang digunakan karena tidak memenuhi satu kaedah matematis, yaitu jika suatu bilangan dijumlahkan dengan negatifnya, maka akan dihasilkan bilangan nol.

b) Bilangan Biner Komplemen DuaPada sistem bilangan komplemen dua, penegatifan suatu bilangan dilakukan dengan mengubah bit 0 ke 1 dan bit 1 ke 0 pada setiap bit suatu bilangan biner, kemudian menambahkannya dengan satu. Dengan kata lain, bilangan biner komplemen dua didapatkan dari bilangan biner komplemen satu ditambah satu.

Komplemen dua = komplemen satu + 1Contoh, 101101 merupakan bilangan biner dengan nilai 45. Maka -45 sama dengan 010011.

Page 16: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Sebaliknya, pengubahan bilangan biner negatif menjadi bilangan biner  positif dilakukan dengan mengurangi bilangan tersebut dengan satu kemudian mengubah bit 0 ke 1 dan bit 1 ke 0 pada setiap bitnya.Contoh:

Jika P merupakan suatu bilangan positif, bilangan komplemen dua n bit – P juga dapat diperoleh dengan mengurangkan P dari 2n

. Atau, bilangan komplemen duanya menjadi 2n –  P. Contohnya adalah jika P = 45,

Sistem bilangan biner komplemen dua banyak digunakan dalam sistem digital dan komputer karena memenuhi kaedah matematis, yaitu jika suatu bilangan dijumlahkan dengan negatifnya, maka akan dihasilkan bilangan nol.

Pada penjumlahan tersebut, bit 1 paling depan merupakaan bit bawaan dan tidak digunakan. Jadi 101101 + 010011 = 000000, sehingga 45 + (-)45 = 0.Pada suatu bilangan biner komlemen dua, harus diperhatikan bit tandanya. Jika bit tanda sama dengan 0, maka bit sesudahnya merupakan bentuk bilangan biner asli. Namun jika bit tanda sama dengan 1, maka bit sesudahnya merupakan bentuk bilangan biner komplemen duanya.

Page 17: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

c) Format Bilangan BinerBilangan biner biasanya diformat dengan panjang bit tertentu. Panjang bit yang biasa digunakan adalah 2, 4, 8, 16 ... dan seterusnya, atau menurut aturan 2n dengan n bilangan bulat positif. Namun tetap dimungkinkan bilangan biner denganformat di luar ketentuan tersebut demi kepraktisan atau tujuan khusus.

1. Pengubahan format bilangan biner komplemen dua dari panjang n-bit menjadi m-bit dengan nContoh:

2. Pengubahan format bilangan biner komplemen dua negatif dilakukan dengan menambahkan bit 1 di depannya.Contoh:

SISTEM KODE ASCIIASCII(American Standar Code For Information Interchange) adalah juga sering disebut dengan sandi ASCII yang sering digunakan untuk memproses sistem informasi, komunikasi, dan peralatan yang saling berhubungan biasanya berupa keypad (papan ketik) atau lebih lengkap disebut keyboard. Peraturan FCC memberikan para pengguna ASCII amatir agar dapat menyesuaikan pada ASCII yang diartikan oleh American National Standar Institute (ANSI) Standar X3.4-1968.ANSI telah membuat perbaikan menjadi X3.4-1977.ANSI yang menggunakan istilah yang berbeda misalnya dari dua pilihan output untuk graphic tertentu. ANSI adalah rekan usaha Internasional dengan Organisasi Internasional dalam memberlakukan standart ISO 646-1973 dan Internasional Alphabet no.5 (IA5) yang secara spesifik direkomendasikan dalam CCITT(International Telegraph and Telephone Consultative Commitee). ASCII menyajikan sebuah karakter dengan 7 bit bilangan biner yang memungkinkan kombinasi 128 karakter yang berbeda. Dari 128 karakter ini 96 karakter diantaranya merupakan printable character (termasuk huruf besar dan kecil). Sisa karakter yang lain sebanyak 32 buah digunakan untuk karakter khusus seperti carriage Return, Line Feed, Back Space, Delete.

Page 18: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Code ASCII dapat dilihat pada tabeh berikut ini:

ACK = acknowledge

BEL = bell

BS = backspace

CAN = cancel

CR = carriage return

DC1 = device control 1

DC2 = device control 2

DC3 = device control 3

DC4 = device control 4

DEL = delete

DLE =data link escape

ENQ = enquiry

EM = end of medium

EOT = end of transmission

ESC = escape

ETB = end of block

ETX = end of text

FF = form feed

FS = file separator

GS =group separator

HT = horizontal tab

LF = line feed

NAK = negative acknoweledge

NUL = null

RS = record separator

SI = shift in

SO = shift out

SOH = start of heading

SP = space

STX = start of text

SUB = substitute

SYN = synchronous idle

US = unit separator

VT = vertical tab

Page 19: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Note : “1”= mark, “0”= space

Bit 6 is the most significant bit (MSB)

Bit 0 is tme least significant bit (LSB)

Nomor bit didalam table disusun sesuai pasangan gambar dari b6-b0. Dalam code internasional £, selalu menempati # dan $ mungkin untuk menandai kata uang internasional ¤

Sementara pada awalnya misalnya pada terminal video display dan teleprinter seperti teletype corp model 33, selalu diimplementasikan pada kenaiakan kasus huruf atau lambing. Mereka selalu menggambarkan kenaikan kasus huruf saat menerima kasus/huruf yanf lebih rendah. Dalam terminal CAPS LOCK, dalam keyboard mungkin dapat digunakan untuk mengubah semua huruf ke kenaikan kasus.

Karakter Control:

ASCII telah memiliki 32 karakter khusus yang berfungsi sebagi karakter control ditambah dengan karakter istimewa. Mereka tidak konsisten dalam menggunakan spesifikasi pada standart ANSI X3.4. Bagaimanapun ini kakan banyak membantu untuk mengetahui penggunaan sesuai standart. Terdapat 5 kelompok dalam rangkaian control yaitu:

a. Logical Communication

b. Device Control

c. Information Separator

d. Code Extention

e. Physical Communication

Register

Register merupakan sebagian memori dari mikroprosessor yang dapat diakses dengan kecepatan yang sangat tinggi.Dalam melakukan pekerjaannya mikroprosessor selalu menggunakan register-register sebagai perantaranya, jadi register dapat diibaratkan sebagai kaki dan tangannya mikroprosessor.Jenis Register :1. Segmen Register2. Pointer dan Index Register3. General Purpose Register4. Index Pointer Register5. Flags Register

Segmen RegisterRegister-register dalam kelompok ini secara umum digunakan untuk menunjukkan alamat dari suatu segmen.- 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 sembarangan diubah karena akan menyebabkan kekacauan

Page 20: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

pada program anda nantinya.- 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.- SP (Stack Pointer)Berpasangan dengan register segment SS (SS:SP) digunakan untuk menunjukkan alamat dari stack.- BP (Base Pointer)Berpasangan dengan register SS (SS:BP) mencatat suatu alamat di emmory tempat data.- 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- Register AXSecara khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan pengurangan.- Register BXBiasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.- Register CXDigunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.- Register DXDigunakan untuk menampung sisa hasil pembagian.

Program Assembler dengan Penggunaan Debug.COM

Debugging adalah sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan. Debugging cenderung lebih rumit ketika beberapa subsistem lainnya terikat dengan ketat dengannya, mengingat sebuah perubahan di satu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam subsistem lainnya.

Page 21: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

1. Start pada komputer2. Pilih menu RUN atau3. Kemudian ketik CMD dan klik  OK.4. Muncul Command Shell nya dengan warna latar hitam.5. Kemudian ketik DEBUG.  setelah itu akan muncul tanda  (  -  ) yang artinya sesi

debug sudah diaktifkan dan kita siap memerintah prosesor.ketik seperti dibawah ini-a100       ;Untuk memulai program di alamat offset 100mov ah,02   ;Memasukkan nilai 02h ke register AH sebagai nilai Servicemov dl,41   ;Memasukkan nilai 41 ( "A" ) ke register DLint 21      ;Eksekusiint 20      ;Program dihentikanrcx8ntampil.comwq

OK selesai. Hasilnya

C:\tampil.comAC:\

Keterangana100        ;Untuk memulai program di alamat offset 100mov ah,02   ;Memasukkan nilai 02h ke register AH sebagai nilai Servicemov dl,41   ;Memasukkan nilai 41 ( "A" ) ke register DLint 21      ;Eksekusiint 20      ;Program dihentikanrcx         ;mengetahui dan memperbaiki isi register cx 8ntampil.com;nama file yang kita buatw                       ;untuk menulis program ke media penyimpananq                       ;untuk keluar dari debug.exe

Program Bahasa Rakitan with DEBUG.com DEBUG adalah alat bantu dalam perancangan peralatan berbasis mikro-prosesor, karena dapat mencapai tingkat perangkat keras yang paling dalam dari suatu komputer, misal menulis informasi ke dalam boot sector, direktori, FAT, menjalankan interupsi BIOS atau DOS.

Hal-hal penting dalam Debug :· Hanya mengenal dan selalu bekerja dengan bilangan-bilangan heksadesimal· Bekerja dengan penunjukan ke alamat-alamat memori memakai format segment : offset.· Kemampuan mengakses daerah "very low level access" (software / hardware).Setiap jenis komputer (mainframe, minicomputer, microcomputer) memiliki sarana debugging berbeda.

Page 22: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Langkah mengaktifkan DEBUG.EXE / DEBUG.COM :a> Debug (enter)-

Perintah DEBUG 1. R (Register)Untuk menampilkan informasi komposisi register-register di dalam mikroprosesor, alamat memori, serta isi dari alamat memori tersebut yang mungkin berupa instruksi yang akan dilaksanakan oleh komputer, atau data.Contoh :A:\>DEBUG (enter)r (enter)AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=29E7 ES=29E7 SS=29E7 CS=29E7 IP=0100 NV UP EI PL NZ NA PO NC29E7:0100 0114 ADD[SI],DX DS:0000=20CD

AX, BX, CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, dan IP adalah register internal mikroprosesor yang dipakai dalam CPU.NV, UP, EI, PL, NZ, NA, PO, dan NC adalah output dari sebuah register yang disebut register status atau register flag.Angka 29E7:0100 adalah alamat lokasi memori dengan format segment:offset. Kedua nilai tersebut merupakan kombinas antara register CS (Code Segment)dengan IP (Instruction Pointer). 0114 adalah isi alamat memori bersangkutan, byte ke-1 berisi nilai '01', dan byte ke-2 berisi nilai '14'. Karena setiap alamat memori berisi satu byte, tentunya nilai 01 itulah yang berdiam pada alamat offset 0100, sedangkan nilai 14 ada di alamat 0101 ADD[SI],DX adalah terjemahan intruksi dari alamat memori bersangkutan.

Untuk mengubah nilai-nilai register internal dapat menggunakan perintah :· RAX = mengubah nilai register AX· RBX = mengubah nilai register BX· RCX = mengubah nilai register CX· RDX = mengubah nilai register DX· RSP = mengubah nilai register SP· RBP = mengubah nilai register BP· RSI = mengubah nilai register SI· RDI = mengubah nilai register DI· RDS = mengubah nilai register DS· RES = mengubah nilai register ES· RSS = mengubah nilai register SS· RCS = mengubah nilai register CS· RIP = mengubah nilai register IP

Sebagai contoh untuk mengubah nilai register AX dari nilai '0000' ke nilai '1111' :A:\>Debug (enter)-RAX (enter)

Page 23: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

AX 0000: 1111 (diisi setelah ':' dan enter)

Contoh diatas juga berlaku untuk register internal lainnya dan untuk diperhatikan bahwa angka-angka yang dimasukkan kedalam register harus nilai heksadesimal.

2. D (Dump)Berfungsi untuk melihat isi blok memori. Contoh : A:\>Debug (enter)-d 0100 (enter)

Hasil yang diperoleh : (import dari sidekick ke text !)

Dari tampilan tersebut, terbagi menjadi 3 bagian, yaitu :· Bagian kiri : menampilkan alamat-alamat memori dengan format segment:offset· Bagian tengah : menampilkan angka-angka dalam heksadesimal sebagai isi dari alamat-alamat memori· Bagian kanan : menampilkan kode-kode karakter ASCII sebagai terjemahan dari angka heksadesimal tersebutDebug hanya akan memperlihatkan 96 jenis karakter ASCII tercetak (printable character), mulai dari nilai desimal 33 - 127. Di luar nilai itu, karakter yang ditampilkan hanyalah berupa tanda titik (dot atau period).

Beberapa parameter yang dapat digunakan :· L (length / panjang)Memiliki arti menampilkan data sepanjang 2 byte, bila parameter 'L' tidak diberikan, maka otomatis akan ditampilkan 128 byte data.-D 0100 L 2 (enter)· Alamat awal - alamat akhir-D 0100 01FF (enter)· Alamat segment:offset-D FFFF:0000 (enter)· Alamat segment:offset sampai segment:offset-D F000:E000 F000:E000 (enter)

3. U (Unassemble)Berfungsi untuk menampilkan listring dari suatu program bahasa mesin.Contoh :A:\>Debug (enter)-U FFFF:0000 (enter)

Hasil : import dari sidekick ke text !

Beberapa bentuk perintah 'U' :· U F000:E05B (enter)

4. E (enter)Berfungsi untuk mengisi atau mengubah data dalam memori.Contoh :

Page 24: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

A:\>Debug (enter)-E 0100 (enter)

Hasil :-E 010029E7:0100 01.

Setelah angka 01, dapat dimasukkan nilai untuk mengganti angkat tersebut langsung di belakangnya yang diakhir dengan menekan ENTER atau menekan SPACE BAR untuk berpindah ke alamat berikutnya atau menekan tanda '-' (Hyphen) untuk mundur ke lokasi sebelumnya.

5. F (Fill)Berfungsi untuk mengisi lokasi memori. Perbedaan dengan perintah 'E (Enter)', yang menawarkan modifikasi memori secara satu alamt demi satu alamat, sedang 'F (Fill" untuk mengubah isi alamat memori dalam jumlah besar, sesuai dengan rentang (range) yang dikehendaki.Contoh :A:\>Debug (enter)-F 0100 017F 58 (enter)Berarti isilah mulai alamat offset 0100 sampai offset 017F dengan nilai heksa 58 (karakter ASCII 'x').atau- F F 0100 017F 'x' (enter)

Beberapa bentuk perintah 'F' :· F 0100 L 1 41 (enter)Arti : mulai offset 0100 sebanyak 1 byte diisi dengan nilai heksa 41 (karakter ASCII 'A').

6. C (Compare)Berfungsi untuk membandingkan isi sebuah blok memori dengan isi blok memori lainnya.Format perintah : C alamat1 panjang alamat2Contoh :A:\>Debug (enter)-C 0100 L 10 0200 (enter)Berarti mulai offset 0100 sebanyak 16 byte (10 heksa) bandingkan dengan offset 0200. Hasil yang dimunculkan hanyalah nilai-nilai yang berbeda setiap alamat.Apabila dilayar tidak memberikan reaksi apapun selain kembali ke prompt '-' atau hyphen, berarti kedua blok memori persis sama.

7. S (Search)Berfungsi untuk mencari data baik yang berupa karakter maupun untaian karakter (string) di dalam suatu blok memori tertentu.Apabila dalam pencarian, data yang dicari diketemukan, maka akan ditampilkan semua alamat dari data tersebut lengkap dengan nilai segment dan offsetnya, sebaliknya bila tidak diketemukan akan kembali ke prompt '-'.

Format perintah : S alamat awal panjang alamat akhir

Page 25: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Contoh :A:\>Debug (enter)-S F000:E000 L FF "IBM" (enter)Berarti mulai alamat F000:E000 sebanyak FFh byte cari string "IBM".-S F000:E000 L FF "A" (enter)Berarti mulai alamat F000:E000 sebanyak FFh byte cari string "A"..

8. M (Move)Berfungsi untuk memindahkan atau menyalin data yang ada di suatu lokasi memori ke alamat memori lainnya.Format perintah : M alamat asal panjang alamat tujuan

Contoh :A:\>Debug (enter)-M 0100 L 7F 0200 (enter)Berarti mulai alamat offset 0100 sebanyak 7Fh byte isi memorinya pindahkan atau kopikan ke offset 0200.

Dari pembahasan perintah-perintah DEBUG dapat disimpulkan bahwa DEBUG dibuat dengan tujuan untuk dapat mengeksplorasi program-program yang sudah dibuat berikut segala dampaknya terhadap sistem dan aplikasi, sedangkan ASSEMBLY diadakan dengan untuk mempermudah seorang programmer dalam menyusun instruksi-instruksi pada sebuah program yang sedang dibuat.

INSTRUKSI-INSTRUKSI MIKROPROSESOR

Untuk dapat mempergunakan serta memanfaatkan sebuah mikroprosesor, kita harus mengenal terlebih dahulu instruksi-instruksi yang bisa dijalankan oleh mikroprosesor yang bersangkutan. Karena pada hakekatnya, seluruh kemampuan yang ada pada mikroprosesor terletak pada kecanggihan perintah-perintah yang terdapat didalamnya. Tanpa adanya instruksi-instruksi yang membentuk sebuah program, mikroprosesor tidak lebih hanya merupakan serpihan tanpa guna.Setiap mikroprosesor mempunyai perbendaharaan instruksi sendiri-sendiri, yang disebut dengan 'Set Instruksi' atau 'Instruction Set'.

Operasi, Operator dan OperandPada dasarnya mikroprosesor mampu melakukan beberapa jenis operasi, antara lain operasi perhitungan (arithmetic), operasi logika (logical operation), operasi transfer data (data transfer operation), manipulasi string serta kendali prosesor.Masing-masing jenis instruksi tersebut adalah sebagai berikut :a. PerhitunganADD (penjumlahan), SUB (pengurangan), MUL (perkalian), DIV (pembagian)b. LogikaAND (logika DAN), OR (logika OR), XOR (logika Exclusive OR)c. Transfer DataMOV (pindahkan/salin), IN (Input), OUT (Output), dan sebagainya.d. Transfer Kendali

Page 26: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

JMP (loncat), CALL (panggil), RET (kembali), INT (interupsi), dsbe. Manipulasi StringMOVS (pindahkan/salin string), CMPS (bandingkan string), LODS (muatkan byte/word ke register AX), dan sebagainya.f. Kendali ProsesorCLC (hilangkan bawaan/carry), CLI (hilangkan interupsi), dan sebagainya.

Pada instruksi-instruksi komputeri, operator diterapkan sebagai Operation-Code (Op-Code), sedangkan bilangan disebut Operand (adalah obyek dari suatu operasi).

Operasi Transfer Data1. Pemindahan data dari data register ke registerFormat : MOV register, registerContoh :-a 0100 (enter)xxxx : 0100 mov AX,DX (enter)xxxx : 0102 (enter)

2. Pemindahan data dari memori ke registerFormat : MOV register, memoriContoh :-a 0100 (enter)xxxx : 0100 mov BX,[0200] (enter)xxxx : 0104 (enter)

3. Memindahkan data langsung ke dalam registerFormat : MOV register, bilanganContoh :-a 0100 (enter)xxxx : 0100 mov AX,1111 (enter)xxxx : 0103 mov BX,2222 (enter)xxxx : 0106 mov CX,3333 (enter)xxxx : 0109 mov DX,4444 (enter)xxxx : 010C (enter)

-a 0100xxxx : 0100 mov AH,FFFF (enter)xxxx : 010C (enter)Apa yang terjadi ? Beri alasan !

4. Memindahkan data dari register ke memoriFormat : MOV memori, registerContoh :-a 0100xxxx : 0100 mov [0200],AX (enter)xxxx : 0103 (enter)

5. Pertukaran data antar registerFormat : XCHG register, register

Page 27: aditwardana.files.wordpress.com …  · Web viewDengan mikroprosessor / mikrokontroller penggunaan komputer dapat dikurangi sehingga biaya produksi dapat dikurangi . Intel 8088 adalah

Contoh :-a 0100xxxx : 0100 xchg AX,BX (enter)xxxx : 0102 (enter)

Operasi Aritmatik1. Menjumlahkan dua bilangan dengan perintah ADD            Format : ADD register,register2. Mengurangkan dua bilangan dengan perintah SUB          Format : SUB register,register3. Perkalian dua bilangan dengan perintah MUL         Format : MUL register4. Membagi dua bilangan dengan perintah DIV        Format : DIV register