UTS SMT III PEMROGRAMAN BAHASA RAKITAN
Dosen : Nahar Mardiyantoro,M.Kom
Teori
1. Tahapan dalam mendevelop sebuah sorftware menggunakan bahasa assembley :
1) Coding (membuat coding)
2) Compare (bandingkan)
3) Link (linking merubah file obj)
4) Run (jalankan)
* Langkah pertama lakukan pengcodingan/ buat coding menggunakan notepad. dalam membuat coding ada beberapa ketentuan karena kita menjalankan program assembley menggunakan DOS (Disk Operating System) dimana dalam DOS function service terdapat beberapa pasangan untuk mengerjakan beberapa intruksi , sedangkan DOS memiliki banyak fungction service
sehingga dibutuhkan servis untuk menampilkan perintah. Simpan dalam file asm .
* Langkah ketiga linking, yaitu merubah file objek kedalam bahasa mesin dengan syarat memanggil tLink/t nama file objek.obj
* langkah keempat jalankan program turbo assembler dengan perintah Run ==>nama file.com
2. Perbedaan yang dihasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t dan tanpa /t dapat dilihat pada gambar berikut :
dari hasil diatas dapat ditarik kesimpulan sebagai syarat memanggil file objek jika menggunakan parameter /t maka hasil akan sesuai sedangkan bila tidak menggunakan parameter /t pada tLink hasil tetap sama namun ada peringatan atau warning : No Stack
3. Contoh program yang didalamnya berisikan perulangan
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,65
mov cx,13
ulang:
int 21h
inc dl
loop ulang
int 20h
end mulai
Coding diatas merupakan perintah memunculkan abjad dari A -M .sebanyak 13 huruf maka digunakan mov cx 13 dimana register cx digunakan secara khusus untuk operasi looping yangmana register ini menentukan berapa banyaknya looping yang akan terjadi. Bila program dijalankan menggunakan turbo assembler maka hasilnya seperti gambar berikut, atau bisa juga untuk contoh perintah perulangan menggunakan jawaban soal nomor 4 dibawah ini :
4. Pada program berikut terdapat ketidak sesuaian pada salah satu penggunaan registernya :
.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
bila program dijalankan maka hasilnya seperti gambar berikut :
disini muncul ketidak sesuai dengan munculnya huruf B yang tidak terbatas sedangkan suatu register memiliki batasan karakter bila register yang dipakai sudah sesuai untuk membatasi karakter hanya perlu menambahkan tanda $ namun pada kasus diatas yang tidak sesuai adalah inc cx dimana register cx ini berfungsi untuk melakukan perintah looping yang sudah diminta untuk mengulang sebanyak 8 kali pada mov cx,8. yang benar adalah :
.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
sehingga hasilnya sesuai yang diminta yaitu mengulang cetak huruf B sebanyak 8 kali seperti gambar berikut :
Demikian, semoga bermanfaat serta membawa kesuksesan dan keberuntungan.....amiin..