Laporan Bahasa Assembly

Laporan Bahasa Assembly

LEMBAR PENGESAHAN


No. Percobaan             : 03/IOI/BAHASA ASSEMBLY/IV/2014
Judul Percobaan          :
Nama Praktikan          : REZA RIZKI.
NIM                            : 1220301002
Tanggal Percobaan      : 17 April 2014
Tanggal Penyerahan    : 24 April 2014
Nilai                            :
Keterangan                  :









Mengetahui,

Buketrata, 24 April 2014
Dosen Pembimbing    



                                                                                                Hanafi, M.Eng






PENDAHULUAN

1.      LATAR BELAKANG

Pada bab-bab sebelumnya kita telah melihat, bagaimana perintah "MOV" mengcopykan suatu nilai kepada suatu register atau variabel. Kita bisa mengcopykan nilai pada suatu register, variabel ataupun lokasi memory dengan berbagai cara.

Pada Register Indirect Addressing biasanya digunakan untuk mengakses suatu data yang banyak dengan mengambil alamat efektive dari data tersebut. Register-register yang bisa digunakan pada addressing ini adalah BX,BP,SI dan DI.

Direct Indexed Addressing mengambil alamat efektive dari suatu data dan mengakses data dengan menggunakan register DI atau SI.

Atribut atau warna menggunakan 1 byte memory, yang akan menandakan warna tulisan dan warna dasar dari karakter yang akan tercetak. Byte atribut ini digunakan dengan masing-masing bitnya, dimana setiap bit mencatat warnanya masing-masing.Pelajari bagian ini dengan baik, karena addressing modes merupakan dasar bagi programmer bahasa assembly yang harus dikuasai.


2.      TUJUAN

1.      Dapat memahami dan mengetahui proses register inderect addressing.
2.      Dapat memahami jug bgaimana proses base relative addressing
3.      Dapat memahami dan mengetahui proses register indexed addressing.
4.      Dapat juga mngetahui proses based indexed addressing



3.      DASAR TEORI

Register Addressing adalah suatu proses pengcopyan data antar register. Pengcopyan antar register ini harus digunakan register yang berukuran sama, seperti AL dan BH, CX dan AX. Contah perintahnya: MOV AX,CX .Register Addressing dapat juga dapat juga hanya terdiri atas sebuah register seperti pada perintah INC CX.

Register Indirect Addressing biasanya digunakan untuk mengakses suatu data yang banyak dengan mengambil alamat efektive dari data tersebut. Register-register yang bisa digunakan pada addressing ini adalah BX,BP,SI dan DI. Tetapi bila anda memrogram pada prosesor 80386(Dengan menambahkan directive .386) maka semua register general purpose bisa dipakai.

Untuk mendapatkan alamat efektive dari suatu data bisa digunakan perintah LEA(Load Effective Addres) dengan syntax : LEA Reg,Data.Untuk mengakses data yang ditunjukkan oleh register Reg, setelah didapatkannya alamat efektive harus digunakan tanda kurung siku ('[]').Register BX dijadikan sebagai pencatat offset dari "kalimat". Dengan nilai BX sama dengan nol(0), akan menunjuk pada karakter pertama dari Kalimat(ingat! XOR dengan bilangan yang sama pasti menghasilkan 0). Setelah itu kita memberikan nilai 13 kepada CX sebagai penghitung banyaknya LOOP yang akan terjadi.


4.      LANGKAH KERJA

Ø  Proses Register Indirect Addressing Pertama-tama kita mendefinisikan data untuk variabel 'Kal', dimana data ini nantinya akan disimpan pada memory.
Ø  Untuk percobaan pada Register Indirect Addressing , program ini mengikuti modul bahan ajar. Lalu program dibuat pada TASM. Analisa memory pada program sebelum dan sesudah dijalankan.
Ø  Base relativ addersing pertama-tama kita mendefinisikan suatu tabel yang berisi data 11h,50h,0Ah,14h dan 5Ah
Ø  Pada percobaan Direct Indexed Addressing, program juga mengikuti modul bahan ajar. Lalu analisis dibuat setelah.
Ø  Pada  based indexed addressding akan kita lihat bagaimana memudahkan kita dalam mengakses suatu array record.




5.      HASIL  DAN ANALISIS

·         REGISTER MENGAKSES DATA

C:\Users\reza>c:

C:\>cd tasm

C:\TASM>cd bin

C:\TASM\BIN>tasm huruf1.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International

Assembling file:   huruf1.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  419k

C:\TASM\BIN>tlink /t huruf1.obj
Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

C:\TASM\BIN>huruf1.com
ABCDEF

Membuat data di notepad
Kita harus mengedit dan mengetik data di notepad sesuai apa yang ingin kita buat, lalu kita harus menjalankan program  pada windows run.Agar kita bisa menjalankan tasm Pada windows run, masuk ke program .ketik c: , cd tasm,cd bin setelah itu Pada saat di tasm, jalankan program seperti yang telah di buat di atas  dengan langkah yang berurutan. Lalu setelah selesai tampilkan program pada .com, seperti huruf1.com  maka akan keluar hasil ABCDEF seperti yang terlihat di atas.


·         REGISTER KEBALIKAN MENGAKSES DATA

C:\TASM\BIN>tasm huruf2.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International
Assembling file:   huruf2.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  419k


C:\TASM\BIN>tlink /t huruf2.obj
Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

C:\TASM\BIN>huruf2.com
FEDCBA

Membuat data di notepad

Harus mengedit dan mengetik data tetapi pada data ini huruf “ABCDEF di ubah/di balik mejadi ‘FEDCBA’ lalu program di jalankan lagi seperti yang tadi pada windows run. Agar kita bisa menjalankan tasm Pada windows run, masuk ke program .ketik c: , cd tasm,cd bin setelah itu Pada saat di tasm, jalankan program seperti yang telah di buat di atas  dengan langkah yang berurutan. Lalu setelah selesai tampilkan program pada .com, seperti huruf2.com  maka akan keluar hasil FEDCBA seperti yang terlihat di atas.


·         REGISTER MENCETAK KALIMAT

C:\TASM\BIN>tasm nyamuk.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International

Assembling file:   nyamuk.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  419k

C:\TASM\BIN>tlink /t nyamuk.obj
Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

C:\TASM\BIN>nyamuk.com
NYAMUK GORENG

Membuat data pada notepad

Kita harus mengetik data program dulu pada notepad, lalu kita menjalankan program  pada windows run. Pada windows run, masuk ke program tasm. Pada saat di tasm, jalankan program seperti yang telah di lakukaan pada register mengakses data tapi di sini kita membuat  register mecetak kalimat.kita harus melakukan langkah diatas dengan berurutan supaya program tasm nya berjalan Lalu setelah selesai tampilkan program pada .com, supaya hasil  dapat kita tampilkan. Hasil data dapat di liat di atas di situ terlihat jelas langkah-langkah untuk membuat register mecetak kalimat ‘NYAMUK GORENG’.


·         REGISTER KEBALIKAN MENCETAK KALIMAT

C:\TASM\BIN>tasm KUMAYN.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland Internationa

Assembling file:   KUMAYN.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  419k


C:\TASM\BIN>tlink /t KUMAYN.obj
Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland Internationa

C:\TASM\BIN>KUMAYN.com
GNEROG KUMAYN

Mengedit Data program pada notepad, pada data ini kita harus membalik huruf ‘NYAMUK GORENG’ menjadi ‘GNEROG KUMAYN’, kemudian kita save supaya data terubah.Lalu program dijalankan kembali pada windows run.seperti yang telah di lakukan tadi,Pada windows run, masuk ke program tasm. Dengan cara ketik c:,cd tasm,cd bin.lalu Pada saat di tasm, jalankan program seperti pada data diatas dengan langakah yang berurutan. Lalu setelah selesai tampilkan program pada .com, supaya hasil dapat terlihat. Hasil data dapat yang telah di hasilkan dapat di lihat di atas.

·         REGISTER MENGAKSES DATA MAHASISWA

C:\TASM\BIN>tasm biodata.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International

Assembling file:   biodata.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  418k


C:\TASM\BIN>tlink /t biodata.obj
Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

C:\TASM\BIN>biodata.com
NAMA : REZA RIZKI
NIM : 1220301002
KELAS : K2
PROGRAM STUDI : IOI
JURUSAN : TEKNIK ELEKTRO
POLITEKNIK NEGERI LHOKSEUMAWE

Membuat/mengetik program pada notepad,memasukkan data mahasiswa,setelah datanya terbuat lalu di simpan.lalu kita mejalankan program lagi dengan masuk ke windows run dengan cara tekan windows R lalu keluar cmd tekan ok.lalu masuk ke tasm seperti yang telah di lakukan tadi cara nya sama cuma data yang di buat beda, data ini untuk membuat biodata kita sediri.lalu jalankan program tasm nya dengan langkah yang berurutan supaya bisa tampil data yang di buat.untuk menampilkan kita harus malakukan cara mengetik biodata.com habis itu hasil data akan di tampilkan sesuai apa yang kita buat tadi.hasil nya dapat kita lihat di atas.itulah hasil biodata yang di buat di notepad.


·         REGISTER KALIMAT DENGAN ATRIBUTNYA

C:\TASM\BIN>tasm kalimat.asm
Turbo Assembler  Version 4.1  Copyright (c) 1988, 1996 Borland International
                                                        DOLAR MENUNGGU ANDA
Assembling file:   kalimat.asm
Error messages:    None
Warning messages:  None
Passes:            1
Remaining memory:  419k

C:\TASM\BIN>tlink /t kalimat.obj

Turbo Link  Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International

C:\TASM\BIN>jenis.com


 Mengetik data program dalam notepad seperti di bawah ini.

.MODEL SMALL
.CODE
ORG 100h
TData : JMP Proses
            Kal0 DB 'DOLAR MENUNGGU ANDA'
Proses:
            MOV AX,1300h ; Servis 13h subfungsi 00
            MOV BL,11100000b ; Atribut tulisan
            MOV BH,00 ; Halaman tampilan 0
            MOV DL,25 ; Posisi X
            MOV DH,12 ; Posisi Y
            MOV CX,19 ; Banyaknya karakter dalam string
            LEA BP,Kal0 ; ES:BP alamat string
            INT 10h ; Cetak kalimat !

            INT 20h ; Selesai, kembali ke DOS
END TData


Pada data ini akan menampilkan warna huruf dan backround yang berbeda,setelah notepad di buat lalu kita save.lalu kita mejalankan lagi pada windows Run.lalu masok ke tasm.lalu kita menjalankan prorgam dengan langkah yang benar seperti yang kita buat di atas.setelah siap tampilakn lagi program pada .com kita melakukan ini supaya data bisa di tampilkan,hasil nya dapat kita lihat di atas.








SIMPULAN


v  Register Indirect Addressing biasanya digunakan untuk mengakses suatu data yang banyak dengan mengambil alamat efektive dari data tersebut.

v   Pada Mencetak kalimat dengan Base Relative Addressing
Pada program ini register BX dijadikan sebagai pencatat offset dari "kalimat". Dengan nilai BX sama dengan nol(0), akan menunjuk pada karakter pertama dari Kalimat(ingat! XOR dengan bilangan yang sama pasti menghasilkan 0).
            Sete

v  Pada bagian sebelumnya kita mencetak kalimat dengan fungsi DOS yang mencetak kalimat tanpa atribut. Untuk mencetak kalimat dengan atributnya bisa digunakan fungsi dari BIOS, melalui interupsi 10h. Adapun yang harus anda persiapkan adalah: register AX diisi dengan 1300h, BL diisi dengan atribut yang ingin ditampilkan, BH diisi dengan halaman tampilan, DL diisi dengan posisi X tempat kalimat tersebut akan tercetak sedangkan DH diisi dengan posisi Y-nya. Karena fungsi ini tidak mengenal batas tulisan "$" seperti interupsi 21h servis 9, maka kita harus mengisikan CX dengan banyaknya karakter dalam kalimat. Register ES:BP digunakan untuk mencatat alamat dari kalimat yang ingin dicetak.

v  Dari semua data yang telah siap ini, kita bisa membuat sebuah program data berurutan maupun yang dibalik dari aslinya secara berurutan. Lalu kita juga bisa membuat program penulisan data yang warnanya dapat diubah dan backgroundnya juga dapat   kita ubah warnanyadengan menggunkan code warna tersendiri.kita juga dapat membuat sebuah programn dengan mecetak kalimat tanpa atribut.




share this article to: Facebook Twitter Google+ Linkedin Technorati Digg
Posted by Unknown, Published at 8:16 AM and have 1 comments

1 comments:

Total Pageviews

Followers