Final Fantasy 7 Cloud Strife
Powered By Blogger

Senin, 10 Oktober 2011

SOAL DAN JAWABAN UJIAN TENGAH SEMESTER TEORI BHS RAKITAN

1.  Sebutkan dan jelaskan tahapan yang di lakukan dalam mendevelop sebuah software   menggunakan     assembly (mulai dari coding sampai dengan software di jalankan). 
    Tahapan yang dilakukan yaitu :
     - Menentukan tujuan yang mau 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 promt 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 !  
Perbedaan yang di hasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t maka tidak akan terjadi penumpukan data ata 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 !
    Contoh kode program yang berisikan perulangan yaitu sebagai berikut :
    Codingnya :
    .model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'A'
    mov cx,4
    lagi:
    int 21h
    inc dl
    loop lagi
    int 20h
end mulai

Output programnya : A B C D

Atau bisa di lihat dalam gambar di bawah ini 


4. Pada sebuah kode pemrograman dibawah ini, ada 1 register yang tidak sesuai penggunaanya. 
    Koreksilah ketidasesuaian tersebut, serta tuliskan outputnya. 
   .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





Dari analisis coding ditemukan kesalahan dan kekurangan yaitu:

  1. Analisis coding terdapat pada 'inc cx' yang seharusnya 'inc al','inc dl' atau tidak ada 'inc cx'. Karena 'cx' berfungsi untuk menentukan jumlah perulangan.
  2. 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

 Hasil perbaikan coding :
  1. 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'.
  2. 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.



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


                                                                                                                                              

       

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls