Program Instruksi OR uP dan uC







Program Instruksi OR

1. Tujuan B  A  C  K   ]

 a. Agar mengetahui instruksi gerbang logika OR.
 b. Agar dapat menjalankan logika OR pada emu 8086.

2. Alat dan Bahan [  B  A  C  K   ]

  1. 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 SegmentRegister 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 BXtetapi 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


a. Listing Program
org 100h

MOV DL,5Ah;mengisi register DL dengan 5A hexa
MOV AH,02h;Mengisi Register AH dengan interrupt
INT 21h;menjalankan interrupt 21 hexa/mencetak huruf ke layar

OR DL,20h;melaksanakan operasi logika OR pada Register DL antara 5A hexa dan 20 hexa

INT 21h;menjalankan interrupt 21 hexa/mencetak huruf ke layar

MOV AH,4Ch;mengisi register AH dengan 4C hexa
INT 21h; menjalankan interrupt 21 hexa / Akhir program

ret

b. Prinsip Kerja

 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)

c. Video Simulasi





d. Link Download

File Program                                                  Download  
Video Simulasi                                               Download 






Tidak ada komentar:

Posting Komentar