1. Sebutkan 8
general purpose register beserta fungsinya
Jawaban:
AX - the accumulator register (dibagi
menjadi AH / AL). secara
khusus digunakan pada operasi aritmatika terutama dalam operasi pembagian dan
pengurangan
BX - the base address register (dibagi
menjadi BH / BL). Biasanya
digunakan untuk menunjukansuatu alamat offset dari suatu segmen.
CX - the count register (dibagi menjadi
CH / CL). Digunakan secara khusus
pada operasi looping dimana register ini menentukan berapa banyaknya looping
yang akan terjadi.
DX - the data register (dibagi menjadi
DH / DL). Digunakan untuk
menampung sisa hasil pembagian 16 bit
SI - source index register, merupakan register indeks sumber yang berfungsi
sebagai :
1.
Digunakan
sebagai penunjukkan alamat data
2.
Digunakan
sebagai target dalam beberapa proses instruksi STRING
3.
Dijadikan
alamat relatif Offset pada register DS(Data Segment)
DI - destination index register, merupakan register indeks tujuan berfungsi
sebagai :
1.
Digunakan
untuk penunjukan alamat data
2.
Digunakan
sebagai target dalam beberapa proses instruksi STRING
3.
Dijadikan
alamat relatif Offset pada register ES(Extra Segment)
BP - base pointer, merupakan register penunjuk dasar berfungsi
sebagai :
1.
Fungsi
utamanya digunakan untuk mengakses pelewatan parameter melalui STACK
2.
Dijadikan
alamat relatif Offset pada register SS(Stack Segment)
SP - stack pointer, merupakan
register penunjuk stack yang berfungsi
sebagai :
1.
Selalu
menunjukkan posisi teratas dari sebuah STACK
2.
Dijadikan
alamat relatif Offset pada register SS (Stack Segment)
3.
Selalu
menunjuk pada word (byte pada alamat genap)
2. Jelaskna
tentang proses translasi, phase analysis, systhesis, carry flag serta Base
Relative addreessing dan register addressing
Jawaban:
·
Translasi
adalah penggabungan antara analysis of source text dan synthesis of target text.
· Phase analysis
adalah mencari arti dari source text, dengan
menggunakan struktur
tatabahasa (literal, syntax, semantic).
· Systhesis
adalah 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
addressing adalah adalah addressing yang biasanya digunakan untuk mengakses
suatu table dengan mengambil alamat efektivenya.
. Register
addressing adalah suatu pengcopian data antar register. Pengcopian antar
register ini harus menggunakan register yang memiliki ukuran yang sama, sepreti
AL dan BH, CX dan AX.
3. Konversikan bilangan berikut ke decimal
a.
D21h = 3361
b. 110001010b
= 394
c. 75o
= 61
d. FCA0h
= 64672
e. 00110111b
= 55
4.
Buatlah
sebuah program untuk menampilkan : I H G F E D C
Jawaban:
.model small
.code
org 100h
proses:
mov ah,02h
mov dl,'I'
mov cx,7
ulang:
int 21h
dec dl
loop ulang
int 20h
end proses
5.
Sebutkan
macam model dalam pemrograman assembler, dan perbedaan Exe dan Com
Jawaban:
·
Macam-macam
model
a)
TINY
b)
SMALL
c)
MEDIUM
d)
COMPACT
e)
LARGE
f)
HUGE
· Perbedaan Exe
dan Com
* Program EXE
Ø Lebih panjang dari file COM
Ø Lebih lambat dIbanding file COM
Ø Bisa menggunakan lebih dari 1 segmen
Ø Ukuran file tidak terbatas sesuai dengan ukuran
memory
Ø Mudah mengakses data atau procedure pada segmen
yang lain
Ø Tidak bisa dibuat dengan DEBUG
* Program COM
Ø Lebih pendek dari file EXE
Ø Lebih cepat dibanding file EXE
Ø Hanya dapat menggunakan 1 segmen
Ø Ukuran file maksimum 64 KB (ukuran satu segmen)
Ø Sulit untuk mengakses data atau procedure yang
terletak pada segmen yang lain
Ø 100h byte pertama merupakan PSP (Program Segmen
Prefix) dari program tersebut
Ø Bisa dibuat dengan DEBUG
II. Jelaskan script program dan hasil output dibawah berikut:
.model small ; Bentuk memori yang digunakan
.code ; menggunakan code segmennya
disini
org 100h ; Program yang dijalankan
disimpan pada offset 100h
Text: JMP mulai ; lompat ke mulai
Tulis DB 'STMIK
CIKARANG TEKNIK INFORMATIKA'
Mulai:
mov ax,1300h ; servis 13h subfungsi 00
mov bl,10010101b ; atribut tulisan
mov bh,00h ; halaman tampilan 0
mov dl,20 ; posisi X
mov dh,12 ; posisi Y
mov cx,33 ; banyaknya karakter dalam
string
LEA BP,Tulis ; ES:BP alamat string
int 10h ; cetak kalimat !
int 20h ; selesai, kembali ke DOS
No comments:
Post a Comment