|
Selasa, 17 Desember 2019
Teknik Interface (Perangkat Lunak)
Gambar 36. Program Instruksi OR
*klik teks untuk menuju
Gambar 36. Program dengan Memanfaatkan Instruksi OR
1. Tujuan [kembali]
- Membuat diagram alir dari
- Membuat program pada Emulator 8086
2. Alat dan Bahan [kembali]
- Software Emulator 8086
Teori Bahasa Assembler
Dalam bahasa tingkat rendah tidak dibutuhkan struktur program karena semuanya
diserahkan kepada pemakai.
REGISTER
Register adalah
sebagian kecil memori komputer yang dipakai untuk tempat
penampungan data. Sebagian
besar register yang terdapat pada mikroprosesor 8088 adalah 16 bit.
Ada 5 kelompok Register, yaitu :
1. General Purpose Register
General purpose register dapat dibagi menjadi register low
dan high bits yang masing-masing berkemampuan 8 bit. Seperti register AX, register low-nya adalah
AL dan register high-nya
adalah AH.
Ada empat
macam General purpose register yaitu:
a.
Register AX (AH + AL) atau Accumulator Register adalah register aritmatik untuk dipakai
dalam operasi pertambahan, pengurangan,
perkalian dan pembagian. Register AH dapat
juga digunakan untuk tempat nilai
service
number
untuk beberapa interrupt tertentu.
b.
Register BX (BH + BL) atau
Base register
adalah salah satu dari
dua register base Addressing mode, yang
dapat mengambil atau menulis langsung dari/ke memory.
c.
Register CX (CH + CL) atau Counter Register adalah
suatu counter untuk meletakkan jumlah lompatan pada loop yang dilakukan.
d.
Register DX (DH + DL) atau Data Register mempunyai tiga tugas, yaitu:
1.
Membantu AX
dalam proses perkalian dan pembagian, terutama perkalian dan
pembagian 16 bit.
2.
DX merupakan register offset dari DS
3.
DX bertugas menunjukkan nomor port pada operasi port
2. Segment Register
a.
CS (Code Segment) Register adalah berfungsi menunjukkan segment program berada dengan pasangan register
ini adalah
register IP.
b.
DS (Data Segment) Register adalah berfungsi menunjukkan segment dari segment data. Pasangan dari DS adalah DX.
c.
SS (Stack Segment) Register adalah berfungsi menunjukkan segment dari segment stack. Pasangan dari SS adalah SP
d.
ES (Extra Segment) Register adalah berfungsi untuk
pemograman pada saat melakukan operasi
ke segment lain.
3. Pointer
Register berfungsi menyimpan offset dari relative address.
a.
IP (Instruction Pointer) Register adalah berfungsi untuk
menunjukkan baris perintah program. Pada saat
pertama program dijalankan register ini akan langsung menunjuk pada awal
program.
b.
SP (Stack Pointer) Register adalah merupakan pasangan SS
yang digunakan untuk operasi stack. Pada saat pertama program dijalankan register ini
akan menunjuk pada byte terakhir stack.
c. BP (Base Pointer) Register adalah mempunyai
fungsi sama dengan
register BX, tetapi BX menulis dan membaca dengan segment DS (Data Segment) sedang BP menulis dan membaca dengan segment SS (Stack Segment).
4. Index Register yaitu SI (Source Index) dan DI (Destination Index) adalah berfungsi melakukan operasi STRING. Namun demikian, kedua register ini
sering digunakan untuk menulis dan
membaca ke atau dari memori seperti
halnya BX dan BP.
1. Flag Register adalah berfungsi mengecek apakah sesuatu berfungsi atau tidak.
Contohnya:
a.
Interrupt Flag mengecek apakah pada saat operasi Interrupt
sedang aktif atau tidak, bila tidak
aktif, Interrupt tidak akan dijalankan.
b.
Carry Flag mengecek apakah pada saat operasi terjadi kesalahan atau tidak,
c.
Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak dan sebagainya.
OPERASI
LOGIKA
Tata penulisan: OR/AND/XOR Operandl,Operand2
1.
Operand1 adalah varibael,
register ataupun isi lokasi memory,
2.
Operand2 adalah register, variabel, isi lokasi
memory ataupun suatu angka.
3.
Hasil dari operasi logika tersebut akan
ditampung di Operand1.
Contoh:
OR
AL,BH ; proses OR terhadap
BH ke AL.
Hasilnya
akan ditampung di register AL.
BH= 11000011
AL = 01110110 OR
AL = 11110111
Contoh program memakai instruksi logika OR, seperti ditunjukkan pada gambar 36.
5. Prinsip Kerja [kembali]
· mov dl,5AH
Operator mov digunakan untuk menyalin alamat atau mengisi dengan nilai dalam bilangan heksa, dimana register ‘DL’ digunakan untuk menyimpan 5A (ASCII) atau Z atau 0101 1010 dalam biner.
· mov ah,02H
Register ah disini digunakan untuk mengisi tempat nilai service number yang digunakan sebagai interrupt.
· int 21H ;
int berarti interrupt yang berfungsi untuk menghentikan proses program supaya bisa menampilkan hasil. Apabila tidak ada interrupt, maka hasil akan terus menerus teroutput. Sedangkan 21H berarti ! (tanda perintah).
· or dl,20H
Merupakan operasi logika ‘OR’ yang berarti penambahan antara nilai 5AH dengan 20H yang juga terletak di register ‘DL’. 20H berarti 0010 0000 dalam biner.
· MOV ah,4CH
Register ah disini digunakan untuk mengisi tempat nilai service number yang digunakan sebagai interrupt.
· INT 21H
int berarti interrupt yang berfungsi untuk menghentikan proses program supaya bisa menampilkan hasil. Apabila tidak ada interrupt, maka hasil akan terus menerus teroutput. Sedangkan 21H berarti ! (tanda perintah)