laporan praktikum orkom pertemuan 5

9
LAPORAN PRAKTIKUM ORGANISASI KOMPUTER “PENGANTAR ASSEMBLY” Kelas : A Praktikum 2 Nama : Hikman Kamil NIM : J3D115012

Upload: adi-wijaya

Post on 10-Jul-2016

658 views

Category:

Documents


54 download

DESCRIPTION

dont forget to ptay

TRANSCRIPT

LAPORAN PRAKTIKUMORGANISASI KOMPUTER

“PENGANTAR ASSEMBLY”

Kelas : A Praktikum 2

Nama : Hikman Kamil

NIM : J3D115012

PROGRAM KEAHLIAN TEKNIK KOMPUTERPROGRAM DIPLOMA

INSTITUT PERTANIAN BOGORBOGOR

2016

I. TUJUAN PRAKTIKUM1. Mahasiswa mampu menggunakan serta memahami cara membuat

program COM assembly di emulator 80862. Mahasiswa dapat memahami cara membuat program dengan assembly.

II. TEORI PENUNJANGProgram COM merupakan bahasa tingkta rendah yang prosesnya lebih cepat dan lebih mudah digunakan oleh berbagai bahasa tingkat tinggi lainnya (Turbo Pascal dan C). Model SMALL memiliki model-model yang bisa digunakan yaitu TINY yang hanya menggunakan 1 segmen seperti program COM, SMALL yang digunakan kurang dari ukuran 1 segmen atau 64 KB, MEDIUM yang digunakan kurang dari 64KB tetapi bisa lebih dari 64 KB, COMPACT yang digunakan lebih besar dari 64 KB tetapi codenya kurang dari 64KB, LARGE code yang dipakai oleh program bisa lebih dari 64 KB, HUGE code maupun array yang digunakan bisa lebih dari 64 KB. Alasannya kenapa digunakan model SMALL pada program COM dan bukan TINY karena banyak dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY, sehingga kita menggunakan model SMALL sebagai pemecahnya. Ciri dari program COM adalah lebih pendek , lebih cepat, hanya dapat menggunakan 1 segmen memori, ukuran file maksimum 64KB (ukuran satu segmen), sulit untuk mengakses data atau prosedur yang terletak pada segment yang lain, 100h byte pertama merupakan PSP (programsegmen prefik) dari program tersebut dan bisa dibuat dengan DEBUG.1. Perbedaan Program COM dan EXE

Pada program assembler memiliki dua ekstansi yaitu COM dan EXE yang memiliki perbedaan sangat mencolok, yaitu:Program COMa. Lebih pendek dari file EXE.b. Lebih cepat dibanding file EXE.c. Hanya dapat memnggunakan 1 segmen memori.d. Ukuran maksimum 64 KB(ukuran satu segmen).e. Sulit untuk mengakses data/ prosedur yang terdapat ada segmen lainf. 100h byte pertama merupakan PSP(Program Segment Prefix) dari

program tersebut.g. Bisa dibuat dengan DEBUG.Beberapa hal yang perlu diperhatikan pada saat membuat program COM:.MODEL SMALLJika data dan code digunakan oleh program kurang dari ukuran 1 segmen.CODECode segmen ini digunakan untuk menyimpan program yang nantinya akan dijalankan.

ORG 100hPerintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan (diload ke memory) ditaruh mulai pada offset (program segment prefix) dari program tersebut. PSP ini digunakan oleh DOS untuk mengontrol jalannya program tersebutJMPPerintah JMP (JUMP) ini digunakan untuk melompat menuju ke tempat yang ditunjukkan oleh perintah JUMP Program EXEa. Lebih panjang dari file COM.b. Lebih lambat dibanding file CIM.c. Bisa menggunakan lebih dari 1 segmen memori.d. Ukuran file tidak terbatas sesuai dengan ukuran memori.e. Mudah mengakses data atau prosedur pada segmen yang lain.f. Tidak bisa dibuat menggunakan DEBUG.

2. Bentuk AngkaAssembler mengijinkan penggunaaan beberapa bentuk angka, yaitu:a. Desimal, untuk menuliskan angka dalam bentuk desimal bisa

digunakan tanda ‘D’ pada akhir angka tersebut atau bisa juga tidak diberi tanda sama sekali.

b. Biner, untuk menuliskan angka dalam bentuk biner (1,0) harus ditambahkan tabda ‘B’ pada akhir angka tersebut.

c. Hexadesimal, untuk menuliskan angka dalam bentuk hexadesimal(0..9 A..F) harus ditambahkan tanda ‘H’ pada akhir angka tersebut. Perlu diperhatikan bahwa bila ngka pertama dari hexa berupa karakter (A..F) maka angka nol harus ditambahkan didepannya. Bila tidak ditambahkan assembler akan menggap sebagai suatu label, bukan sebagai niali hexa.

d. Karakter, penulisan karakter atau string diapit oleh tanda petik dua (“) atau tanda petik satu (‘).

3. LabelLabel bisa didefinisikan dengan ketentuan akhir dari nama label tersebut harus berupa tanda titik dua(:) pemberian nama label dapat menggunakan:a. Huruf : A.....Z (Huruf besar dan kecil tidak dibedakan).b. Angka : 0....9c. Karakter khusus : @ . _ $Nama pada label idak boleh terdapat spasi dan didahului oleh angka dan nama yang dapat dikenali oleh assembeler sepanjang 31 karakter.

4. Komentar Untuk memberikan komentar pada source file digunakan tanda ‘;’ apapun yang ddituliskan di belakan tanda ‘;’ dianggap sebagai komentar.

5. Perintah MOVPerintah MOV digunakan untuk mengcopy nilai atau ngka menuju suatu register, variabel atau memori.

6. Perintah INTDalam program assembler, banyak sekali menggunakan interupsi untuk membantu dalam mengerjakan suatu pekerjaan.

III. LATIHANBuatlah program assembly di emulator 8086, baris bilangan fibbonaci berikut: 1,1,2,3,5,8,.....

IV. LISTING PROGRAMKode Program bilangan fibbonaci

Gambar 1 Kode Program fibonacci di emmulator 8086

V. ANALISA PROGRAMPada program ini, diinputkan pada register AX dan BX masing masing 1, seperti pada gambar 2 dan gambar 3.

Gambar 2 Memasukan nilai 1 pada register AX

Gambar 3 Memasukan niali 1 pada register BX

Resource dengan warna kuning akan trus pindah ke posisi selanjutnya, bahwa langkah sebelumnya telah berhasil dilaksanakan. Kemudian pada baris selanjutnya akan menyalin nilai register AX untuk CX, jadi setelah operasi ini register AX bernilai tetap dan register CX akan sama nilainya dengan AX, seperti pada gambar 4.

Gambar 4 Penyetaraan nilai AX dan CX

Kemudian dilakukan penjumalah nilai AX dan BX, kemudian hasilnya disimpan pada register AX, terlihat pada gambar 5. Dapat dilihat sebelumnya nilai AX yaitu 1 lalu ditambahkan dengan nilai yang ada pada register BX, sehingga nilai AX sekarang menjadi 2.

Gambar 5 Penjumalahan nilai AX dan BX

Kemudian perintah selanjutnya akan mengcopykan nilai register AX untuk BX, jadi setelah operasi ini register AX bernilai tetap dan register BX akan sama nilainya dengan AX, seperti pada gambar 6.

Gambar 6 Penyetaraan niali AX dan BX

Kemudian dilakukan lagi penjumlahan nilai register pada BX dan CX, yang hasilnya disimpan pada register BX, dapat dilihat pada gambar 7.

Gambar 7 Penjumlahan nilai register BX dan CX

Lalu dilakukan lompatan pada step 2, yaitu untuk melakukan penjumlahan selanjutnya. Perintah ini digunakan untuk melompat ketempat yang ditunjukan sehingga meleati tempat data program.

VI. KESIMPULANJadi, dapat disimpulkan bahwa membuat program COM hanya bisa menggunakan 1 segmen. Pada program COM pun yang dibuat hanyalah model SMALL dikarenakan banyak dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY.

VII. Daftar PusakaNovianty Inna. 2016. Modul Praktikum Arsitektur Komputer. Bogor. Program Diploma Institut Pertanian Bogor.