Teknik Interface (Perangkat Lunak) (emu86) (Operasi Pertambahan)
I. Teori
1. Perangkat Lunak
2. Teori Bahasa assembler
Register
Register adalah sebagian kecil memori komputer yang dipakai untuk tempat penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut.
Secara umum register dapat dibagi dalam lima golongan yaitu :
1. General Purpose Register, terdiri dari :
- AX (AH + AL) = Accumulator Register
- BX (BH + BL) = Base register
- CX (CH + CL) = Counter Register
- DX (DH + DL) = Data Register
2. Segment Register
- CS = Code Segment Register
- DS = Data Segment Register
- SS = Stack Segment Register
- ES = Extra Segment Register
3. Pointer Register
- IP = Instruction Pointer Register
- SP = Stack Pointer Register
- BP = Base Pointer Register
4. Index Register
- SI = Source Index Register
- DI = Destination Index Register
5. Flag Register
Register DX Secara pokok register DX mempunyai tiga tugas yaitu :
- Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
- DX merupakan register offset dari DS
- DX bertugas menunjukkan nomor port pada operasi port
3. Perintah dasar Assembler
MOV
Perintah MOV adalah perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel ataupun suatu lokasi memory. Adapun tata penulisan perintah MOV adalah:
MOV [operand A],[operand B]
dengan ketentuan operand A berupa : register, variabel, lokasi memory dan ketentuan isi operand B berupa : register, variabel, lokasi memory ataupun bilangan. Operand B merupakan bilangan asal yang akan diisikan ke operand A ataupun dengan kata lain, Operand A merupakan tujuan pengisian atau penduplikatan dari Operand B.
contoh:
MOV AH, 02
Operand A dari perintah di atas adalah register AH. Operand B dari perintah di atas adalah bilangan 02. Hal yang dilakukan oleh komputer untuk perintah di atas adalah memasukkan 02 ke register AH.
Int (Interrupt)
Subrotine yang akan dipanggil sudah tersedia pada memori komputer. Ada dua jenis yaitu :
- Bios Interrupt yaitu Int 0H hingga 1FH yang disediakan oleh BIOS (Basic Input Output System). Contoh: Int 16H service 01H berfungsi untuk mencek apakah ada tombol keyboard yang ditekan.
- DOS Interrupt yaitu Int 1FH keatas yang disediakan oleh DOS (Disk Operating System). Contoh: Int 20H berfungsi menghentikan kerja suatu program.
II. Pembahasan
Operasi Aritmatik
1. Operasi Pertambahan
Terdapat dua macam perintah pertambahan, yaitu pertambahan dengan 1 dan pertambahan dengan selain 1.
a. Pertambahan dengan 1
Dilakukan dengan perintah seperti:
A = A + 1, yang bermaksud pertambahan dengan 1, seperti pada program yang ditunjukkan pada gambar 25.
Tata penulisan: INC [Register/Variabel]
b. Pertambahan selain 1
Dilakukan dengan 'ADD' dapat menambahkan berapa saja pada suatu register ataupun variabel.
Tata penulisan: ADD [operand1],[operand2]
dimana isi operand1 adalah register atau variabel dan operand2 berupa register, variabel atau bilangan. Hasil pertambahan disimpan di operand1, seperti pada contoh berikut ini.
Contoh:
ADD AH,AL dengan isi AH adalah 10 dan AL adalah 5, maka komputer melaksanakan perintah tersebut sebagai berikut:
AH......... 10
AL.......... 5 +
AH......... 15
Untuk perintah ADD kedua operand harus mempunyai besar kemampuan yang sama seperti AH dan AL yang sama sama 8 bit.
Gambar 25. Program Aplikasi INC untuk Tampilkan angka 0 s/d 9 |
Penjelasan per baris program sebagai berikut:
- MOV CX,0Ah ; Pada baris program ini untuk mengisikan jumlah loop yang ingin dilakukan dengan perincian 0 s/d 9 terdiri atas 10 angka. Bila 10 dikonversikan ke bilangan hexa, maka menjadi angka A hexa.
- MOV DL,30 ; Bilangan ASCII yang sama dengan 30 hexa adalah '0' yang akan dicetak dahulu dan dimasukkan dalam DL sesuai dengan Int 21 hexa service 02 hexa.
- MOV AH, 02h ; AH diisi dengan service number dari Interrupt.
- INT 21h ; Menjalankan Interrupt 21 hexa.
- INC DL ; Menambahkan DL dengan 1 menjadi 31 hexa yang berarti '1'.
- LOOP ulangi ; Lompat ke arah MOV AH,02h dan dilakukan sebanyak 10 kali, setiap kali isi CX dikurangi satu hingga akhirnya mencapai nol (0).
- INT 20h ; Perintah INT 20h untuk mengakhiri program
Comments
Post a Comment