Sumber Daya

Buku referensi, datasheet, link simulator, video pembelajaran, dan glosarium istilah penting.

Buku Referensi

B1

The Intel Microprocessors (8th Edition)

Barry B. Brey — Pearson (2009)

Buku utama rujukan mata kuliah ini. Membahas arsitektur Intel dari 8086 hingga Pentium secara mendalam. Setiap bab dilengkapi contoh program Assembly dan penjelasan register/flag secara detail.

Arsitektur 8086 Set instruksi Interfacing Protected mode
B2

Microprocessor Architecture, Programming, and Applications with the 8085

Ramesh S. Gaonkar — Penram International (2010)

Penjelasan sangat detail dan step-by-step. Meskipun fokus ke 8085, konsep dasar mikroprosesor (bus, register, I/O, interrupt) sangat relevan dan mudah dipahami untuk pemula.

Konsep dasar μP Pemrograman assembly Timer/Counter Interfacing
B3

IBM PC Assembly Language and Programming

Peter Abel — Prentice Hall (2001)

Fokus pada pemrograman Assembly di platform PC. Banyak contoh program interaktif menggunakan INT 21H. Cocok sebagai referensi tambahan untuk bagian I/O dan string.

INT 21H Pemrograman string Macro File I/O
B4

The 8086 Microprocessor: Architecture, Programming, and Interfacing

Kenneth Ayala — Cengage Learning (2012)

Menjelaskan 8086 dari sudut pandang hardware dan software. Bagian interfacing (8255, 8253, 8251, ADC) sangat lengkap dengan diagram rangkaian. Rekomendasi utama untuk Bab 13-14.

8255 PPI 8253 Timer 8251 USART ADC/DAC

Datasheet Komponen

KodeKomponenHalamanCatatan
8086 Intel 8086 16-Bit Microprocessor 24 hal Arsitektur internal, pin configuration, timing diagram, electrical characteristics.
8255A 8255A/8255A-5 Programmable Peripheral Interface 18 hal Mode 0/1/2, Control Word Register, pinout, timing. Wajib untuk Bab 13.
8253 8253/8254 Programmable Interval Timer 14 hal 6 mode operasi, Control Word, pinout, timing. Wajib untuk Bab 14.
8251 8251A Programmable Communication Interface 12 hal USART, mode async/sync, baud rate, pinout. Pengantar Bab 14.
ADC0804 ADC0804 8-bit A/D Converter 8 hal Single channel, 8-bit resolution, kontrol CS, RD, WR, INTR. Pengantar Bab 14.
DAC0808 DAC0808 8-bit D/A Converter 6 hal 8-bit current output, reference voltage, settling time. Pengantar Bab 14.

Dimana mencari datasheet? Kunjungi alldatasheet.com atau situs resmi pabrikan (Intel, Texas Instruments). Cari kode komponen (misal "8086 datasheet PDF"). Pastikan menggunakan versi resmi sebagai referensi tugas.

Simulator & Tool Online

Video Pembelajaran Rekomendasi

Glosarium Istilah Penting

25 istilah
ADC (Analog to Digital Converter)

Komponen yang mengkonversi sinyal analog (voltase kontinu) menjadi data digital (bilangan biner). Contoh: ADC0804 menghasilkan output 8-bit (0-255) dari input 0-5V.

Bab 14
ALU (Arithmetic Logic Unit)

Komponen di dalam CPU yang bertugas melakukan operasi aritmatika (penjumlahan, pengurangan, perkalian, pembagian) dan operasi logika (AND, OR, XOR, NOT, shift, rotate).

Bab 2
Assembly

Bahasa pemrograman tingkat rendah yang menggunakan mnemonik instruksi prosesor (contoh: MOV, ADD, JMP). Setiap instruksi assembly biasanya berkorespondensi 1:1 dengan instruksi mesin (opcode).

Bab 1
BIU (Bus Interface Unit)

Unit dalam 8086 yang bertugas mengambil instruksi dari memori (fetch), membaca/menulis data, dan menghitung alamat fisik. Bekerja paralel dengan EU.

Bab 2
Baud Rate

Kecepatan transmisi data serial, diukur dalam bit per detik (bps). Contoh umum: 9600 bps, 115200 bps. Ditetapkan oleh pembagi frekuensi di internal UART.

Bab 14
Bus

Jalur komunikasi paralel yang menghubungkan komponen-komponen dalam sistem komputer. Terdiri dari bus alamat, bus data, dan bus kontrol.

Bab 1
CPMK (Capaian Pembelajaran Mata Kuliah)

Kemampuan yang harus dikuasai mahasiswa setelah menyelesaikan mata kuliah. Diukur melalui UTS, UAS, tugas, dan praktikum.

Info MK
CU (Control Unit)

Komponen CPU yang mengendalikan dan mengkoordinasikan seluruh operasi: fetch instruksi, decode, dan generate sinyal kendali untuk ALU, register, dan bus.

Bab 2
DAC (Digital to Analog Converter)

Komponen yang mengkonversi data digital (bilangan biner) menjadi sinyal analog (voltase kontinu). Contoh: DAC0808 menerima input 8-bit dan menghasilkan arus proporsional.

Bab 14
EU (Execution Unit)

Unit dalam 8086 yang bertugas mengeksekusi instruksi. Mengandung ALU, register umum, register flag, dan EU control system.

Bab 2
Flag

Bit-bit status dalam register flag yang menunjukkan kondisi hasil operasi terakhir: CF (carry), ZF (zero), SF (sign), OF (overflow), PF (parity), AF (auxiliary carry). Digunakan oleh conditional jump.

Bab 2
Handshaking

Protokol sinkronisasi antara pengirim dan penerima data. Menggunakan sinyal STB (strobe), IBF (input buffer full), OBF (output buffer full), dan ACK (acknowledge). Digunakan pada 8255 Mode 1.

Bab 13
I/O Mapped I/O

Teknik mengakses perangkat I/O menggunakan instruksi IN/OUT dengan alamat port terpisah dari alamat memori. Digunakan oleh 8086. Memori dan I/O memiliki ruang alamat yang independent.

Bab 13
ISR (Interrupt Service Routine)

Rutin penanganan interupsi — fungsi yang dieksekusi ketika interupsi terjadi. Alamatnya tersimpan di Interrupt Vector Table (IVT). Diakhiri dengan instruksi IRET.

Bab 12
IVT (Interrupt Vector Table)

Tabel di memori (bermula di 0000:0000) yang berisi alamat ISR untuk setiap jenis interupsi. Setiap entri berukuran 4 byte (2 byte segment + 2 byte offset). Total 256 entri (1 KB).

Bab 12
Interrupt

Sinyal yang menghentikan eksekusi program saat ini untuk menangani event tertentu, lalu kembali ke program semula. Ada tiga jenis: hardware interrupt, software interrupt (INT n), dan exception.

Bab 12
Little-Endian

Urutan penyimpanan byte: byte rendah di alamat memori yang lebih rendah, byte tinggi di alamat lebih tinggi. Contoh: nilai 1234H disimpan sebagai 34H di alamat X dan 12H di alamat X+1. 8086 menggunakan little-endian.

Bab 4
Memory Mapped I/O

Teknik mengakses perangkat I/O seolah-olah mereka adalah lokasi memori. Tidak perlu instruksi khusus (cukup MOV). Digunakan oleh banyak mikrokontroler, tapi bukan 8086.

Bab 13
Opcode

Bagian dari instruksi mesin (binary) yang menentukan operasi apa yang dilakukan prosesor. Misalnya opcode untuk MOV berbeda dengan opcode untuk ADD. Biasanya 1 byte, bisa sampai 2 byte.

Bab 6
Operand

Data yang dioperasikan oleh instruksi. Bisa berupa register (AX, BX), alamat memori ([2000H]), atau nilai langsung/immediate (1234H). Setiap instruksi bisa punya 0, 1, atau 2 operand.

Bab 5
Pipeline

Teknik di mana fetch instruksi berikutnya dilakukan bersamaan dengan eksekusi instruksi saat ini. Pada 8086, ini terjadi karena EU dan BIU bekerja paralel melalui instruction queue 6 byte.

Bab 2
Segmentasi

Teknik mengakses memori lebih dari 64KB menggunakan pasangan register segmen (16-bit) dan offset (16-bit). Alamat fisik = Segment × 16 + Offset, menghasilkan alamat 20-bit (1 MB).

Bab 4
Stack

Area memori yang digunakan untuk penyimpanan sementara (LIFO - Last In First Out). SP (Stack Pointer) menunjuk ke elemen teratas. Berkurang 2 saat PUSH, bertambah 2 saat POP. Terletak di segmen SS.

Bab 4
UART (Universal Asynchronous Receiver Transmitter)

Chip yang mengkonversi data paralel menjadi serial dan sebaliknya secara asinkron (tanpa clock bersama). Menggunakan start bit, data bits, parity bit, dan stop bit. Contoh: 8251 USART.

Bab 14
Von Neumann Bottleneck

Keterbatasan performa pada arsitektur Von Neumann di mana CPU tidak bisa mengambil instruksi dan data secara bersamaan karena menggunakan satu bus data yang sama.

Bab 1

Referensi Cepat: Instruksi Penting 8086

Data Movement

MOV dst, src — Pindah data
PUSH src — Simpan ke stack
POP dst — Ambil dari stack
XCHG op1, op2 — Tukar data
LEA reg, mem — Load alamat efektif
LDS reg, mem — Load DS + offset
LES reg, mem — Load ES + offset

Aritmatika & Logika

ADD dst, src — Penjumlahan
SUB dst, src — Pengurangan
INC op / DEC op — +/- 1
MUL src — Perkalian (DX:AX)
DIV src — Pembagian (AL=bagi, AH=sisa)
AND / OR / XOR / NOT
CMP op1, op2 — Bandingkan (ubah flag)

Kontrol Alur

JMP label — Lompat tidak bersyarat
JZ/JNZ — Jump if zero / not zero
JC/JNC — Jump if carry / not carry
JG/JL — Jump if greater/less (signed)
JA/JB — Jump if above/below (unsigned)
LOOP label — CX--, jump if CX != 0
CALL label — Panggil prosedur
RET — Kembali dari prosedur

Interupsi (INT 21H)

AH=01H — Baca 1 karakter (→AL)
AH=02H — Tulis 1 karakter (DL)
AH=09H — Tulis string (DS:DX, akhir $)
AH=0AH — Baca string ke buffer
AH=4CH — Akhiri program
INT 10H — Layar (BIOS)
INT 16H — Keyboard (BIOS)