Sabtu, 15 Oktober 2011

PEMROGRAMAN BAHASA RAKITAN


 UJIAN TENGAH SEMESTER
Pemrograman Bahasa Rakitan
Dosen : Nahar Mardiyantoro, M.Kom

TEORI
1.       Tahapan yang dilakukan dalam mendevelop sebuah software menggunakan bahasa assembly :
-                     -Coding  (membuat intruksi)
      -Coding (membuat instruksi) dalam bahasa asembly menggunakan notepad. Perlu diperhatikan dalam menjalankan program assemblu menggunakan DOS (disk operating system) dimana dalam DOS function service terdapat beberapa pasangan intruksi. File dalam notepad disimpan dalam file asm
-                    -Compare (membandingkan)
Membandingkan coding (instruksi) yang dibuat dalam file txt dalam notepad dengan yang ada di turbo assembler.  Sebelum menjalankan program harus mempunyai file asm yang terdiri dari RTM.EXE,TASM.EXE, TASM.HLP, TLINK.CFG dan TLINK.EXE sebagai syarat untuk menjalankan program.
-          Link
Yaitu merubah file objek kedalam bahasa mesin dengan memanggil tLink/t diikuti dengan nama file.obj
-          Run (menjalankan)
Menjalankan program dalam turbo assembler dengan perintah run.

2.       Perbedaan yang dihasilkan jika melakukan linking terhadap sebuah file OBJ menggunakan parameter /t dan tanpa t :
Setelah saya mencobanya dengan turbo assembler, ternyata jika menggunakan parameter /t, hasilnya akan sesuai dengan apa yang diharapkan, berbeda dengan tidak menggunakan parameter /t pada tLink , hasil akan tetap muncul, namun ada pemberitahuan / peringatan : warning : No Stack. Dapat dilihat dalam gambar :
 

3.       Contoh program yang didalamnya berisikan perulangan :
Berikut adalah contoh program yang menggunakan perulangan untuk menampilkan bilangan genap dari 0 sampai dengan 9 :

.model small
.code
org 100h
 mulai:
mov ah,02h
mov dl,48
mov cx,5
ulang:
int 21h
inc dl
inc dl
loop ulang
int 20h
 end mulai

mov dl,48 adalah perulangan dimulai dari ascii 48 yaitu 0. Mov cx,5 artinya perulangan terjadi sampai 5 kali perulangan. Jika coding diatas dijalankan menggunakan turbo assembler, maka hasilnya sebagai berikut :

4.       Pada contoh program dibawah ini ada 1 register yang tidak sesuai penggunaannya.
 .model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc cx
loop lagi
int 20h

end mulai

pada coding tersebut diatas, jika dijalankan menggunakan turbo assembler, maka hasilnya sebagai berikut :
 pada contoh coding tersebut, setelah dijalankan ternyata huruf B tercetak terus menerus dan tiada terbatas. Padahal dalam sebuah program seharusnya memiliki batasan karakter jika karakter yang diharapkan telah sesuai dengan menambahkan tanda $. Dalam contoh program diatas, yang tidak sesuai adalah inc cx . perintah ini ditulis didalam blok looping sehingga melakukan perintah looping yang terus menerus tanpa batasan, padahal perintah looping sudah ada dalam mov cx,8 yang artinya lakukan perulangan sebanyak 8 kali. Jika inc cx  ini kita hapus, maka :

.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
loop lagi
int 20h

end mulai

hasilnya jika dijalankan sebagai berikut :




0 komentar:

Posting Komentar

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | Best Buy Printable Coupons