Selasa, 14 September 2021

Program Int 21h Service 01h



1. Tujuan[Kembali]
a. Memahami penggunaan aplikasi EMU 8086
b. Mengetahui program input dari keyboard
 
2. Alat dan Bahan[Kembali]
-. Software EMU 8086

3. Dasar Teori[Kembali]
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 mikroprosessor 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 (AX+AL) atau Accumulator Register adalah register aritmatik untuk dipakai dalam operasi pertambahan, pengurangan, perkalian, dan pembagian. Register AH dapat juga digunakan untuk tempat kembali 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 memori.

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. Membantuk 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 berfungsi untuk menunjukkan segment, program yuang berapa dengan pasangan register ini adalah register IP

b. DS (Data Segment) Register berfungsi untuk menunjukkan segment dari segment data. Pasangan dari DS adalah DX

c. SS (Stack Segment) Register berfungsi untuk menunjukkan segment dari segment stack. Pasangan dari SS adalah SP.

d. ES (Extra Segment) Register berfungsi untuk pemograman pada saat melakukan operasi ke segment lain.

3). Pointer Register berfungsi untuk menyimpan offset dari relative address

a.  IP (Insturction Pointer) Register berfungsi untuk menunjukkan baris perintah program. Pada saat program pertama dijalankan register 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 mempunyai fungsi yang sama dengan register BX tetapi BX untuk menulis dan membaca segment DS (Data Segment) sedangkan BP menulis dan membaca segment SS(Stack Segment).

4). Index Register yaitu SI (Source Index) dan DI (Destination Index) berfungsi untuk melakukan operasi STRING. Namun demikian, kedua register ini sering digunakan untuk menulis dan membaca dari atau ke memori seperti halnya BX dan BP.

5). Flag Register berfungsi untuk mengecek apakah program berfungsi atau tidak. Contohnya :

a. Interrupt Flag, untuk mengecek apakah pada saat operasi Interrupt sedang aktif atau tidak, jika tidak aktif maka Interrupt tidak akan dijalankan.

b. Carry Flag, untuk mengecek apakah saat operasi terjadi kesalahan atau tidak.

c. Sign Flag, untuk menunjukkan apakah suatu bilangan bertanda atau tidak dan sebaliknya.


PERINTAH DASAR ASSEMBLER

1. MOV

Adalah perintah untuk mengisi, memindahkan atau memperbaharui isi suatu register, variabel atau suatu lokasi memori.

Syntax : MOV[operand1],[operand2]

a. operand1 berupa register, variabel, lokasi memori

b. operand2 berupa register, variabel, lokasi memori ataupun bilangan

Contoh : 

MOV AH,AL    ; mengkopi isi register AL ke register AH

MOV AH,02    ; mengisi register AH dengan 02


2. Int (Interrupt)

Subrotine yang akan dipanggil setelah tersedia pada memori komputer.

Ada dua jenis yaitu :

a. BIOS Interrupt yaitu 0H hingga 1FH yang disediakan oleh BIOS (Basic Input Output System).

Contoh : Int 16H service 1FH berfungsi untuk mengecek apakah ada tombol keyboard yang ditekan.

b. DOS Interrupt yaitu Int 1FH keatas yang disediakan oleh DOS (Disk Operating System).

Contoh : Int 20H berfungsi menghentukan kerja suatu program.

 Input Per Huruf dengan Echo(tercetak ke layar) Menggunakan Interrupt 21 hexa dengan service number 01 hexa, yaitu: 
a) AH=01H 
Proses dapat diberhentikan dengan menekan tombol control dan tombol break atau C secara bersamaan. 
b) AL=Hasil penekanan input dari keyboard.

4. Percobaan[Kembali]
a. Buka Aplikasi EMU 8086
b. Tulis program pada software seperti gambar diibawah ini

c. Jalankan program tersebut hingga tampil pada layar seperti ini

Listing Program :
;PROGRAM INPUT KEYBOARD
START:  JMP     MULAI
Tanya   db 'Jawablah Pertanyaan Di Bawah Ini !',13,10 
        db 'Apakah Anda Seorang Mahasiswa?(Y/T)',13,10
        db 'Jawaban Anda :$'
Jawab1  db 13,10,'Anda Adalah Seorang Mahasiswa',13,10,'$'
Jawab2  db 13,10,'Anda Adalah Seorang Mahasiswi',13,10,'$'
MULAI:  MOV     AH,09H          ; SERVICE NUMBER = 09h
        MOV     DX,OFFSET Tanya ; MENCETAK TANYA.
        INT     21H
ULANG:  MOV     AH,01H          ; SERVICE NUMBER = 01H
        INT     21H
        CMP     AL,'Y'          ; APAKAH JAWABAN 'y'
        JE  Mahasiswa           ; JIKA SAMA LOMPAT KE Mahasiswa      
        CMP     AL,'y'          ; APAKAH JAWABAN 'y'
        JE  Mahasiswa           ; JIKA SAMA LOMPAT KE Mahasiswa      
        CMP     AL,'T'          ; APAKAH JAWABAN T
        JE  Mahasiswi           ; JIKA SAMA LOMPAT KE Mahasiswi
        CMP     AL,'t'          ; APAKAH JAWABAN 't'
        JNE ULANG               ; JIKA TIDAK SAMA LOMPAT ULANG
Mahasiswi:  MOV     AH,09H
            MOV     DX,OFFSET JAWAB2    ; MENCETAK JAWAB2
            INT     21H
            JMP     SELESAI             ; LOMPAT KE SELESAI
Mahasiswa:  MOV     AH,09H
            MOV     DX,OFFSET Jawab1    ; MENCETAK JAWAB1
            INT     21H
SELESAI:    MOV AH,4CH
            INT     21H                 ; AKHIR PROGRAM

5. Video[Kembali]

6. Link Download[Kembali]
download file program disini
download video simulasi disini
download HTML disini

Tidak ada komentar:

Posting Komentar