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.
Posted by 8:16 AM and have
1 comments
, Published at
thanks gan sudah share
ReplyDeleteisolasi tahan panas