Selasa, 18 November 2014

tugas jawaban uts assembler

soal
1.    sebutkan 8 general purpose register beserta fungsinya.

2.    jelaskan proses tranlasi,phase analysis,syntetis,carry flag,serta base relative addresing dan  register addresing

3.      konversikan bilangan di bawah ini ke decimal

         a.D21h    b.11001010b  c.75o  d.FCA0h  e.00110111b

4.      Buatlah sebuah program untuk tampilan:I H G F E D C

5.      Sebutkan macam model dalam pemrogramaan assembler dan perbedaan exe dan com

 II. Uraikan dan jelaskan

 jelaskan scrip program dan hasil output di bawah berikut:

.model small

code

org 100h

text: jmp mulai

tulis DB  'STMIK CIKARANG  TEKNIK INFORMATIKA'

mulai

MOV AX,1300h

MOV BL,10010101b

MOV BH,00h

MOV DL,20

MOV DH,12

MOV CX,33

LEA BP tulis

INT 10

INT 21

END text

jawaban

1. 8 general purpose

    a.) Register AX (Accumulator register) berfungsi sebagai tempat:

       Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)

                        Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
                        Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
                        Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX).

    b.)Register BX (Base Register)

     Base register adalah register untuk menyimpan alamat offset data yang terletak di memori (BL,  BH, BX dan EBX)

   c.)Register CX (Counter Register)

      Counter register adalah register serbaguna yang berfungsi sebagai:

                        Pencacah untuk operasi loop (CX dan ECX)
                        Pencacah untuk operasi shift dan rotate (CL)
                        Pencacah (counter) untuk operasi string (CX)

  d.)Register DX (Data register)

     Data register adalah register serbaguna yang berfungsi sebagai :

         a. Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).  

         b.Penyimpan hasil pembagian (DX-AX dan EDX-EAX)

         c.Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.

2.
Phase Analysis : mencari arti dari source text, dengan menggunakan    struktur tatabahasa (literal, syntax, semantic)
Phase Synthesis : pemilihan machine operation code yang sesuai dengan mnemonic code
base relative addresing => mengakses suatu tabel dengan mengambil alamat efektifnya.

Register Addressing

Merupakan penyalinan data antar register (transfer register)
MOV reg1, reg2

3.

A. 021b = 5 decimal

B. 11001010b = 202 decimal

C.75o = 61 decimal

D. FCA0h = - 864 decimal

E.00110111b = 55 decimal

4.)

.MODEL SMALL
.CODE
ORG 100h
AWAL:
MOV AX,3
INT 10H

MOV AX,1003H
MOV BX,0
INT 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) model pemrograman 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

jelaskam 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 '

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