Minggu, 23 November 2014

tugas assembler

1. Sebutkan 8 general purpose register beserta fungsinya?
 )Register yang termasuk dalam kelompok ini adalah register AX,BX,CX dan DX yang masing-masing terdiri atas 16 bit. Register- register 16 bit dari kelompok ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana masing-masing bagian terdiri atas 8 bit, seperti pada gambar 4.1. Akhiran H menunjukkan High sedangkan akhiran L menunjukkan Low.

+ A X + + B X + + C X + + D X +
+-+--+--+-+ +-+--+--+-+ +-+--+--+-+ +-+--+--+-+
| AH | AL | | BH | BL | | CH | CL | | DH | DL |
+----+----+ +----+----+ +----+----+ +----+----+
Gambar 4.1. General purpose Register

Secara umum register-register dalam kelompok ini dapat digunakan untuk berbagai keperluan, walaupun demikian ada pula penggunaan khusus dari masing- masing register ini yaitu : 
)Register AX, secara khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan pengurangan.
-Register BX, biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.
-Register CX, digunakan secara khusus pada operasi looping dimana register ini menentukan berapa banyaknya looping yang akan terjadi.
-Register DX, digunakan untuk menampung sisa hasil pembagian 16 bit.
Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX
dan EDX.


2. Jelaskan tentang proses translasi, phase analysis, syntetis,carry flag,  serta base relative addresing, dan register addresing?
)proses translasi = proses penambahan phase analysis dengan syntesis.
)phase analysis = Phase Analysis : mencari arti dari source text,  dengan menggunakan struktur tatabahasa (literal, syntax, semantic).
)syntetis = pemilihan machine operation code yang sesuai dengan mnemonic code.
)carry flag = Jika terjadi borrow pada operasi pengurangan atau carry pada penjumlahan, bit ini akan bernilai 1.
)base relative addresing = Addressing yang biasanya digunakan untuk mengakses suatu table dengan mengambil alamat efektivenya.
)register addresing = suatu proses pengcopian data antar register. Pengkopian antar register ini harus menggunakan register yang memiliki ukuran yang sama, seperti AL dan BH , CX danAX.

3. Konversikan bilangan berikut ke decimal :
A. 021b = 5 decimal
B. 11001010b = 202 decimal
C. 75o = 61 decimal
D. FCA0h = - 864 decimal
E. 00110111b = 55 decimal

4. Buatlah sebuah program untuk tampilan I H G F E D C ?
.MODEL SMALL .CODEORG 100h AWAL: MOV AX,3 INT 10H
MOV AX,1003H MOV BX,0INT 10H
MOV AX,0B800H MOV DS,AX
MOV [02H],'I' MOV [04H],'H'MOV [06H],'G' MOV [08H],'F' MOV [0AH],'E'MOV [0CH],'D' MOV [0EH],'C'
END

5.Sebutkan macam model dalam pemograman assembler dan perbedaan EXE dan COM ?
)model dalam pemograman assembler = TINY,SMALL,MEDIUM,COMPACT,LARGE,HUGE .
)PROGRAM COM :                                                                                                                                                                - Lebih pendek dari file EXE - Lebih cepat dibanding file EXE -  Hanya dapat menggunakan 1 segmen - Ukuran file maksimum 64 KB (ukuran satu segment) - Sulit untuk mengakses data atau procedure yang terletak pada segment yang lain. - 100h byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut. -  Bisa dibuat dengan DEBUG

)PROGRAM EXE :                                                                                                                                                                - Lebih panjang dari file COM-  Lebih lambat dibanding file COM -  Bisa menggunakan lebih dari 1 segmen -  Ukuran file tak terbatas sesuai dengan ukuran memory. - Mudah mengakses data atau procedure pada segment yang lain. -  Tidak bisa dibuat dengan DEBUG


II. Uraikan dan jelaskan

jelaskan script program berikut Dan hasil OUTPUT dibawah ini :

.MODEL SMALL ; '= Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita.'

.CODE ;'= Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya disini.'

org 100h ;'= Perintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan

(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte.'

text: jmp mulai ;'= Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang ditunjukkan oleh perintah JUMP (lompat ke mulai )'

tulis 'DB STMIK CIKARANG TEKNIK INFORMATIKA'

mulai:

MOV AX,1300h ; =  service 13 sub fungsi 00

MOV BL,10010101b ;= atribut tulisan

MOV BH,00h ;=  halaman tampilan nol

MOV DL,20 ;=  posisi x'

MOV DH,12 ;=  posisi y'

MOV CX,33 ;=  jumlah karakter dalam string yang akan dicetak'

LEA BP tulis ;=  ES:BP (base pointer) alamat string'

INT 10 ;' =  cetak kalimat'

INT 21 ;'=  selesai kembali ke dos'

END text

Tidak ada komentar:

Posting Komentar