STMIK WIDYA UTAMA
UJIAN TENGAH SEMESTER (TEORI)
Mata Kuliah : Pemrograman Bahasa Rakitan NAMA : MOHAMAD NASIRUDIN
SKS : 2 NIM : SIA200926
Program Studi : S1 Teknik Informatika
Dosen : Nahar Mardiantoro,M.Kom
1. Sebutkan dan jelaskan tahapan yang di lakukan dalam mendevelop sebuah software menggunakan assembly (mulai dari coding sampai dengan software di jalankan).
Jawab :
ü Tentukan tujuan yang akan di kerjakan atau tujuan pembahasan pembuatan program tersebut.
ü Menyusun Script/Coding sesuai dengan tujuan yang telah ditetapkan dan di tulis dalam Notepad kemudian di simpan dengan file berekstensi "ASM".
ü Setelah dibuat kemudian di jalankan pada DOS apakah program yang kita buat berhasil atau tidak.
ü File yg berkestensi "ASM" tadi di compile menjadi file yang berekstensi "OBJ" dengan perintah "tasm nama file".
ü Lihat hasil compile apakah terdapat error Coding, jika terdapat error coding perbaiki file yang berekstensi "ASM" tadi pada Notepad.
ü Ulangi langkah k-4. - Jika sudah tidak ada error coding selanjutnya compile file "OBJ" menjadi file berkestensi "COM" dengan perintah "TLINK/T".
ü Uji program tersebut dengan cara memanggil nama file tersebut apakah sudah sesuai dengan tujuan pembuatan program.
2. Apakah perbedaan yang di hasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t dan tanpa /t !
Jawab:
Perbedaan yang akan di hasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t maka tidak terjadi penumpukan data dan data bisa secara urut, dan jika Tanpa /t maka terjadi penumpukan data (stack) yaitu tidak bisa menentukan urutan/prioritas eksekusi compile program (program eror)
3. Berikan contoh kode program yang di dalamnya berisikan perulangan !
Jawab :
Jawab :
.model small
.code
org 100h
jalan:
mov ah,02h
mov dl,'A'
mov cx,4
lagi:
int 21h
inc dl
loop lagi
int 20h
end jalan
Output programnya : A B C D
.code
org 100h
jalan:
mov ah,02h
mov dl,'A'
mov cx,4
lagi:
int 21h
inc dl
loop lagi
int 20h
end jalan
Output programnya : A B C D
Lihat gambar:
|
4. Pada sebuah kode pemrograman dibawah ini, ada 1 register yang tidak sesuai penggunaanya.
Koreksilah ketidasesuaian tersebut, serta tuliskan outputnya.
Jawab :
- Analisis coding terdapat pada 'inc cx' yang seharusnya 'inc al','inc dl' atau tidak ada 'inc cx'. Karena 'cx' berfungsi untuk menentukan jumlah perulangan.
- Coding program kurang perintah mengakhiri yaitu 'end mulai'.
maka codinya sebagai berikut
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc dl
loop lagi
int 20h
end mulai
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc dl
loop lagi
int 20h
end mulai
Hasil perbaikan coding :
- Jika 'inc cx' diganti dengan 'inc al' hasilnya mencetak huruf 'B' sebanyak 8 kali. Dengan demikian fungsi 'inc al' tidak ada fungsinya karena salah pengalamatan yang seharusnya pengalamtanya ke 'inc dl'.
- Jika 'inc cx' diganti dengan inc dl hasilnya 'B C D E F G H I' yang artinya looping sebanyak 8 kali dan penambahan 1 (satu) kode ASCII
untuk jelasnya lihat hasilnya sebagai berikut:
===>>> Jika 'inc cx' diganti dengan 'inc al' hasilnya mencetak huruf 'B' sebanyak 8 kali.
Codingnya sebagai berikut.
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc al
loop lagi
int 20h
end mulai
======>>>>Jika 'inc cx' diganti dengan inc dl hasilnya 'B C D E F G H I' yang artinya looping sebanyak 8 kali dan penambahan 1 (satu) kode ASCII.
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc al
loop lagi
int 20h
end mulai
======>>>>Jika 'inc cx' diganti dengan inc dl hasilnya 'B C D E F G H I' yang artinya looping sebanyak 8 kali dan penambahan 1 (satu) kode ASCII.
Codinya sebagai berikut :
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc dl
loop lagi
int 20h
end mulai
.model small
.code
org 100h
mulai:
mov ah,02h
mov dl,'B'
mov cx,8
lagi:
int 21h
inc al
inc dl
loop lagi
int 20h
end mulai



Rudy





0 komentar:
Posting Komentar