Anda di halaman 1dari 9

LAPORAN

Praktek Sistem Mikroprosessor

Oleh :
Fitria Anggraini
19063012

Dosen Pengampu:
Juli Sardi, S.Pd.,M.T.

PRODI PENDIDIKAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2021
MIKROPROSESSOR 8086/8088

TUJUAN
1. Mengetahui dan memahami Register pada Mikroprosesor 8086
2. Mempelajari cara menggunakan DOSBox
3. Membuat program sederhana pada Register Mikroprosesor 8086
4. Membuat dan menganalisis program dalam mencari suatu kategori data

DASAR TEORI
Mikroprosesor 8086/8088 memiliki 4 register yang masing-masingnya terdiri dari 16
bit, ditambah 9 register flag. Empat kelompok register 16 bit yaitu Data Register, Pointer
dan Index Register, flag register dan instruction pointer, dan Segment Register. 4 Jenis
kelompok register tersebut sebagai berikut:
1. General Purpose Register
 Accumulator Register AX
Fungsi: Sebagai akumulator dan berhubungan dengan jenis-jenis operasi khusus
seperti Aritmetika, In/Out, Shift,Logic, Rotate, dan operasi desimal berkode biner.
 Base Register BX
Fungsi: Sebagai register base untuk mereferensi alamat memori. Operasi yang
dapat dilakukan adalah Rotate, Logic, Shift, dan Aritmetika.
 Counter Register CX
Fungsi: Sebagai pencacah implisit dengan instruksi tertentu, misalnya terhadap
perintah loop dan operasi string. Counter naik jika direction flag bernilai 0, dan
counter turun jika direction flag bernilai 1.
 Data Register DX
Fungsi: Menyimpan alamat port I/O selama operasi I/O tertentu, baik alamat port
8-bit maupun 16 bit. Digunakan juga dalam operasi perkalian dan pembagian.
2. Pointer dan Index Register
 Register SP (Stack Pointer, 16 bit)
Fungsi: Digunakan untuk operasi stack seperti menyimpan alamat return saat
memanggil subroutine. SP merupakan register yang secara implisit digunakan oleh
perintah PUSH dan POP yaitu menyimpan dan mengambil kembali dari stack.
 Register BP (Base Pointer, 16 bit)
Fungsi: Sebagai penunjuk base dalam stack yang disediakan untuk penyimpanan
data. BP juga digunakan SI dengan bahasa pemrograman misalnya Assembler dan C.
 Register SI (Sourch Index)
Fungsi : digunakan untuk mengalamati sumber data secara indirect untuk
digunakan dalam instruksi string
 Register DI (Destination Index)
Fungsi : secara normal digunakan untuk mengalamati data tujuan dan instruksi
string, dan menyimpan offset suatu operan selama berlangsungnya operasi string.

3. Flag Register dan Instrumen Pointer


 FR : Register Flag adalah sebuah register 2 byte yang berisi Sembilan bit flag yang
digunakan untuk menyatakan berbagai kondisi selama pelaksanaan suatu program.
Bit 0,2,4,6,7 dan 11 berisi flag-flag pengendali. Bit 1,3,5 dan 12-15 tidak digunakan.
 IP : Induksi Pointer digunakan untuk melokasikan posisi dalam code segmen pada
saat yang bersangkutan, maka suatu alamat 20 bit tertentu dalam segmen tersebut
dilokasikan dengan menggunakan IP sebagai offset dari CS.

4. Segment Register
Daerah-daerah memori yang disediakan bagi program data dan stack dialamatkan
secara terpisah, walaupun daerah-daerah ini mungkin saja saling tumpang tindih. Pada
setiap saat tersedia empat blok memori yang dapat dialamatkan, yang dinamakan
segment dan masing-masing panjangnya 64K.
Register segment yang disediakan yaitu :
 Segment kode (CS) : berisi instruksi yang melakukan tugas yang telah didesain,
pasangan register ini adalah register IP.
 Segment Data (DS) : menyimpan informasi yang harus diproses oleh instruksi
segment kode, pasangan register ini adalah register SS dan SP.
 Segment Stack (SS) : bagian dari memori yang digunakan untuk stack, pasangan
register ini adalah register SS dan SP.
 Segment Extra (ES) : segment khusus yang secara normal digunakan hanya untuk
operasi string.

Instruksi MOV
Instruksi mov ini memberitahukan kepada CPU untuk pindah dari operad sumber ke
operan tujuan. Contoh instruksi berpengalamatan register.
MOV tujuan, sumber : Copy operand sumber ke tujuan
MOV DX,CL : Menyalin isi dari register CX ke register DX
MOV AX,BL : Menyalin BL ke AL
MOV CH,CL : Menyalin CL ke CH
MOV AX,CX : Menyalin CX ke AX
MOV SP,BP : Menyalin BP ke SP
MOV SI,DI : Menyalin DI ke SI
MOV BX,ES : Menyalin ES ke BX

Pengalamatan Immediate
Pengamalatan immediate berarti data secara langsung mengalami opcode
heksadesimal dalam memori. Data immediate merupakan data konstan, sedangkan data
yang ditransfer dari register adalah data variable.
Contoh pengamalatan immediate menggunakan instruksi MOV
MOV BL,44 : Menyalin/memindahkan angka decimal 44 (2CH) ke BL
MOV AX,44H : Menyalin 0044H ke AX
MOV SI,0 : Menyalin 0044H ke SI
Interrupt (Int)
DOS Interrupt yaotu Int yang disediakan oleh DOS (disk operating system), yang
termasuk interrupt DOS adalah interrupt diatas Int IF hwxa.
 Int 20h
Tugas Int 20h adalah memberhentikan proses computer terhadap suatu program COM.

 Int 21h service 02h


Int 21h memiliki banyak tugas, yang dibagi-bagi menjadi beberapa bagian. Untuk
memanggil bagian-bagian itu, perlu menyertakan nomor bagiannya yang disebut juga
dengan service number. Int 21h yang bertugas mencetak sebuah huruh ke layar yaitu
Int 21h service 02 dengan beberapa syarat :
[a] Register AH, harus berisi service number dari Int 21h yang akan dijalankan (02h).
[b] Register DL, berisi bilangan hexa dan karakter ASCII yang akan dicetak.
SCREENSHOOT HASIL PERCOBAAN :
1. Ketik dan jalankan program berikut ini untuk mencetak huruf A lima kali

2. Ketik dan jalankan program berikut ini untuk mencetak huruf A-Z terdiri dari 26 huruf
3. Ketik dan jalankan program berikut ini untuk mencetak angka dan huruf dari 0-I

4. Ketik dan jalankan program untuk mencetak huruf C tujuh kali, kode untuk
menampilkan huruf C, MOV DL,43
5. Ketik dan jalankan program untuk mencetak huruf D Empat kali, kode untuk
menampilkan huruf D, MOV DL,44

6. Ketik dan jalankan program untuk mencetak huruf C-Z terdiri dari 24 huruf atau 18
hexa
7. Ketik dan jalankan program untuk mencetak huruf D-W terdiri dari 20 huruf atau 14
hexa

8. Ketik dan jalankan program untuk mencetak huruf Z-A terdiri dari 26 huruf

Anda mungkin juga menyukai