soal latihan uts organisasi komputer
TRANSCRIPT
WAKTU PENGERJAAN : 180 MENIT
JAWABAN DISERTAI ALASAN
MATERI 1
1. Berapakah hasil penjumlahan bilangan berikut ini:
(1010)2 + (111)2
a. 10011 c. 00011 e. 10001
b. 10010 d. 10000
2. Konversikan bilangan berikut ke dalam bentuk decimal :
(10011110)2
a.100 c. 168 e. 200
b.158 d. 178
3. Rubahlah bilangan biner di bawah ini ke dalam bentuk decimal: [Al]
(1001)2
a. 9 c. 11 e. 13
b. 10 d. 12
4. Berapakah hasil dari pengurangan bilangan berikut :
(BACD)16 - (75DF)16
a.55FF c. 33DD e.22CC
b.44EE d. 66EF
5. Hitunglah perkalian dari bilangan hexadecimal berikut ini :
(AB)16 X (CD)16
a.ABCD c. BC98 e. FF12
b.A1B6 d. 88EF
6. Konversikan bilangan decimal ke biner berikut in:
2002
a.11111010010 c.10010100001 e.11100100001
b.10000110101 d.10100010011
7. Pada bilangan heksadesimal huruf A itu sama dengan angka berapa?
a.11 c.10 e.15
b.12 d.14
8. Pada bilangan heksadecimal 1 angkanya itu menggunakan berapa bit?
a.8 bit c.16 bit e.5 bit
b.4 bit d.2 bit
9. Disebut apa kalau bilangan bertanda bit terakhir(bit ke 16) bernilai 1?
a.bilangan positif c.bilangan negative e.bilanganoktadecimal
b.bilangan decimal d.bilangan berpangkat
10. Berapakah hasil pengurangan bilangan heksadecimal berikut :
(DCDE)16-(21B5)16
a.CD21 c.BB24 e.BE44
b.BB29 d.1224
MATERI 2
11. Accumulator sering digunakan untuk operasi aritmatika dan data movement.
AX,AL,AH operasi lain terkadang lebih efisien dengan register ini.Berapa Bit
untuk masing – masing register ini..( secara berurut )
a. 14 bit, 6 bit terendah, 5 bit teratas
b. 6 bit, 6 bit teratas, 12 bit terendah
c. 16 bit, 8 bit terendah, 8 bit teratas
d. 16 bit terendah, 8 bit teratas, 8 bit
e. 14 bit, 8 bit, 8 bit
12. Alamat memory dapat dinyatakan dalam dua format heksadesimal. Manakah di
bawah ini yang termasuk alamat memory seacra 2 format?
a.16-bit Absolute address dan 32 bit segment address
b. 32 bit segment-offset address dan 20-bit absolute address
c. 16-bit segment-offset address dan 32 bit absolte address
d. 32 bit segment address dan 128 bit absolute address
e. 32 bit absolute adress dan 16 bit absolute address
13. Berapa jenis register index yang berisi ofset dari variabel?
a. 1
b. 4
c. 3
d. 5
e. 1
14. Bagaimana Implementasi dari pengalamatan memori ?
a. Alamat memori dinyatakan dengan bilangan mulai dari 0 sampai ke lokasi
memori tertinggi.
b. Alamat memori dinyatakan dengan bilangan mulai dari 1 sampai ke lokasi
memori tertinggi.
c. Alamat memori dinyatakan dengan bilangan mulai dari tertinggi sampai ke
lokasi memori terendah.
d. Alamat memori dinyatakan dengan bilangan biner mulai dari 0 sampai ke
lokasi memori tertinggi.
e. Alamat memori dinyatakan dengan bilangan mulai dari tertinggi sampai ke
lokasi memori seimbang .
15. Kegunaan dari Segment Registers adalah untuk menyimpan base locations dan
digunakan untuk intruksi intruksi tertentu. intruksi intruksi tersebut adalah…….
a. Program, Data, dan Stack.
b. Tasm, Tlink, dan Stack.
c. Program, Tasm, Data.
d. Data, stack, Tlink.
e. Data, Stack, Tasm, Tlink, dan Program.
16. sebutkan jenis Registers Index…..
a. SI, DI, BP
b. SI, DX, BP
c. SI, DI, BX
d. SX, DI, BB
e. AX, BX, DX
17. Sebuah alamat memory menunjukkan lokasi memori sepanjang…..
a. 8 bit b. 16 bit c. 20 bit d. 32 bit e. 64 bit
18. Alamat memori bisa dinyatakan dalam 2 format heksadesimal,yaitu:
A. 32-bit segment-absolute adress dan 20-bit absolute address
B. 32-bit absolute address dan 20-bit segment-absolute address
C. 32-bit segment-offset address dan 20-bit absolute address
D. 23-bit segment-absolute address dan 20-bit absolute address
E. 23-bit segment-offset address dan 20-bit absolute address
19. Dibawah ini ada 4 jenis segment register yang terdapat pada IBM-PC dan
kompatibelnya. Kecuali….
a. CS (Code Segment )
b. DS (Data Segment )
c. SS (Stack Segment )
d. BP (Base Pointer )
20. Menyimpan alamat-alamat source dari data string dalam instruksi-intruksi string
adalah pengertian dari:
a. SI
b. DI
c. BP
d. CS
e. IP
MATERI 3
21. Apa fungsi dari perintah MOV ?
a. Menyalin atau mengcopy data dari suati operator untuk operand lain.
b. Untuk mengisi alamat pada perintah debug.
c. Untuk menghapus data dari suatu operand ke operand lain.
d. Mendefinisikan isi dari dua register.
e. Untuk menukarkan isi dari dua register atau sebuah register dengan memori /
variabel
22. Apa fungsi dari perintah XCHG ?
a. Menyalin atau mengcopy data dari suati operator untuk operand lain.
b. Untuk mengisi alamat pada perintah debug.
c. Untuk menghapus data dari suatu operand ke operand lain.
d. Mendefinisikan isi dari dua register.
e. Untuk menukarkan isi dari dua register atau sebuah register dengan memori /
variabel
23. Apa instruksi untuk menyalin isi register atau operand ke dalam stack ?
a. PUSH
b. MOV
c. POP
d. XCHG
e. COPY
24. Apa fungsi dari perintah INT 20 ?
A Menyimpan data pada akhir program
B Menuliskan karakter ke layar
C Menghentikan program
D Keluar dari debug
E Menjalankan program
25. Pada perintah G (GO) apakah arti dari perintah “-G = 200 240” ?
a. Untuk menjalankan program yang ada dalam memori
b. Untuk melihat isi program ke alamat 240
c. Untuk menjalankan program mulai CS : 200 dan berakhir pada alamat CS : 240
d. Untuk menampilkan program mulai CS : 200 dan berakhir pada alamat CS : 240
e. Menjalankan program sambil menampilkan register yang dipakai
26. Apa perintah untuk mengulangi satu atau lebih nilai ketika mengalokasikan memori ?
a. LOOP
b. DUP
c. MOV
d. DD
27.
A 100
Mov cx, 0A
Mov dl, 39
Mov ah, 02
Int 21
Dec dl
Loop 105
Int 20
G
Apa output dari program di atas ?!
a. 10 9 8 7 6 5 4 3 2 1
b. 9 8 7 6 5 4 3 2 1 0
c. 8 7 6 5 4 3 2 1 0 -1
d. 7 6 5 4 3 2 1 0 -1 -2
e. 6 5 4 3 2 1 0 -1 -2 -3
28. Apa maksud dari perintah push ax pada perintah debug!
a. Untuk mengisi alamat pada perintah debug.
b. Untuk menjalankan program yang ada dalam memori
c. Untuk memasukkan nilai ax ke stack
d. Untuk menyimpan data pada akhir program
e. Untuk menyalin isi ax dari stack
29. Apa perintah untuk keluar dari debug tanpa melakukan perekaman ?
a. E
b. Exit
c. Q
d. Cls
e. T
30.
A 100
Mov ax, 10
Inc ax
Dec ax
Int 20
R
T
T
T
Apakah output dari program di atas ?!
a. 11
b. 10
c. 13
d. 9
e. 12
MATERI 4
31.Ada berapa banyak instruksi boolean….
a. 6 d. 3
b. 4 e. 2
c. 5
32.Manakah yang merupakan insruksi Bolean XOR yang benar:
a op1 = XOR op1 op2
b op2 = XOR op1 op2
c op1 = op1 XOR op2
d. op2 = op1 XOR op2
e. op1 = op2 XOR op1
33.Manakah yang merupakan pengertian dari MUL source:
a Operasi perkalian 8-bit atau 16-bit operand dengan AL atau AX
b Operasi perkalian 32-bit atau 16-bit operand dengan AL atau AX
c Operasi penjumlahn 8-bit atau 16-bit operand dengan AL atau AX
d Operasi pembagian 32-bit atau 16-bit operand dengan AL atau AX
e Operasi pembagian 8-bit atau 16-bit operand dengan AL atau AX
34.Op1 dan op2 pada AND, OR, dan XOR adalah suatu instrksi boolean, yang memiliki
ukuran yang sama,dan berapakah yang boleh menjadi memory operand:
A 1 C. 4 E 3
B 2 D. 5
35.Operasi pembagian 8-bit atau 16-bit operand dengan AL atau AX,merupakan pengertian
dari……….
f. DIV c. Loop e. Null
g. DRV d. Mull
36.Untuk membuat perbandingan pada operasi aritmatika maka,harus menggunakan
perintah…
h. Mull source d. Null
i. DIV source e. Dmp source
j. CMP destination source
37.Perintah yang digunakan untuk memasukkan nilai ax ke stack adalah….
k. Push ax d. Pusha ax
l. Push al e. Pushf ax
m. Pop ax
38.mov ax,0083
mov bl,2
div bl
Dari contoh soal operasi pembagian di atas termasuk dalam operasi DIV dengan reg
berapa bit?
a. 6 bit
b. 8 bit
c. 17 bit
d. 18 bit
e. 7 bit
39.Output hasil bagi dan sisa dari DIV reg 16 adalah…
a. hasil bagi : AL
sisa : LX
n. hasil bagi : AX
sisa : DX
o. hasil bagi : AL
sisa : AH
p. hasil bagi : DX
sisa : AX
q. hasil bagi : DL
sisa : AH
40.Operasi yang digunakan untuk menyalin (copy)data dari satu operand ke operand yang lain
disebut...
a. MOV d. PUSH
b. DUP e. POP
c. LOOP
MATERI 5
41.Perintah yang digunakan untuk melompat ke Instruksi selanjutnya untuk bilangan yang tidak
bertanda setelah dibandingkan antara operand 1 dan operand 2 jika operand 1 > operand 2
adalah :
a. JB
b. JNE
c. JC
d. JA
e. JCXZ
42.Perintah yang digunakan untuk melompat ke Instruksi selanjutnya setelah dibandingkan
antara operand 1 dan operand 2 jika operand 1 tidak sama dengan operand 2 adalah :
a. JB
b. JNE
c. JC
d. JA
e. JBE
43.Perintah yang digunakan untuk melompat ke Instruksi selanjutnya setelah dibandingkan
antara operand 1 dan operand 2 jika operand sama dengan operand 2 adalah :
a. JB
b. JNE
c. JE
d. JA
e. JBE
44.Perintah yang digunakan untuk melompat ke Instruksi selanjutnya setelah dibandingkan
antara operand 1 dan operand 2 jika operand lebih besar atau sama dengan operand 2 adalah :
a. JB
b. JNE
c. JC
d. JAE
e. JBE
45.Perintah yang digunakan untuk melompat ke Instruksi selanjutnya setelah dibandingkan
antara operand 1 dan operand 2 jika carry flag sama dengan 1 adalah :
a. JBE
b. JNZ
c. JZ
d. JC
e. JA
46.Manakah Pilihan di bawah ini yang merupakan sintaks instruksi jump tanpa syarat (lompat
tanpa syarat):
a. JG tujuan
b. JMP tujuan
c. JNE tujuan
d. JE tujuan
e. JB tujuan
47.Perhatikan Intruksi di bawah ini !
a 100
13A1:0100 mov al,3F
13A1:0102 mov bl,35
13A1:0104 xor bl,FF
13A1:0107 test al,3
13A1:0109 jz 10F
13A1:010B mov al,1
13A1:010D jmp 111
13A1:010F mov bl,1
13A1:0111 int 20
Apakah hasil dari instruksi di alokasi memory 13A1:010D :
a. melakukan instruksi selanjutnya
b. melompat ke alokasi memory 13A1:0111 dan mengeksekusi perintah int 20
c. membandingkan dengan instruksi selanjutnya
d. pilihan a dan b salah
e. semuanya salah
48.Jika intruksi di atas dijalankan berapa nilai akhir dari AL :
a. 00CA
b. 003F
c. 0001
d. 0000
e. 0111
49.Dekarasikan instruksi pada alokasi memory 13A1:0109 jz 10F:
a. lompat ke alamat 010F jika nilai operandnya = 0
b. lompat ke alamat 010F jika nilai operand1 > dari operand2
c. lompat ke alamat 010F jika nilai operandnya = 1
d. lompat ke alamat 010F jika nilai operand1 < dari operand2
e. lompat ke alamat 010F jika tidak terjadi overflow
50.Apa maksud dari conditional JAE :
a. lompat jika operand1 >= operand2 untuk bilangan tidak bertanda
b. lompat jika operand1 = operand2 untuk bilangan bertanda
c. lompat jika operand1 = operand2 ke exit
d. lompat jika operand1 <= operand2 untuk bilangan bertanda
e. lompat jika operand1 = 0
MATERI 6
51.Untuk menjalankan suatu program tasm prosedur yang benar adalah sebagai berikut:
a) Source – Linking - Execute - Compiler
b) Source – Execute – Linking - Compile
c) Source – Linking – Compiler - Execute
d) Source – Compiler – Linking - Execute
e) Source – Compiler – Execute - Linking
52.Perbedaan antara program com dan exe adalah:
a) Program com Ukuran file tak terbatas sesuai dengan ukuran memory
b) Program exe lebih pendek dari com
c) Program com Bisa menggunakan lebih dari 1 segmen
d) Program exe bisa dibuat dengan DEBUG
e) Program com sulit untuk mengakses data atau procedure yang terletak pada
segment yg lain
53.Perintah MOV pada program tasm digunakan untuk:
a) Menghasilkan suatu interupsi menuju suatu register
b) Mengcopy nilai atau angka menuju suatu register, variabel, atau memory
c) Untuk memberikan label suatu variabel
d) Untuk melompat menuju tempat yang ditunjukkan
e) Untuk mencetak huruf pada program
54.Jika data yang digunakan bisa lebih besar 64 Kb tetapi kodenya kurang dari 64 Kb,
maka Model Small yang digunakan adalah:
a) Small
b) Huge
c) Large
d) Compact
e) Tiny
DOSSEG
.MODEL SMALL
.CODEmain proc near
Proses :MOV AH,02hMOV DL,'A'MOV CX,8
55. Fungsi int20h dalam program tasm adalah:
a) Memberitahukan assembler supaya program pada saat dijalankan ditaruh mulai
pada offset 100h
b) Mengakhiri program dan menyerahkan kendali sepenuhnya kepada DOS
c) Mencetak karakter beserta atribut
d) Melakukan suatu proses yang berulang-ulang
e) Mencetak huruf
56.Perintah yang berfungsi sebagai compiler pada program Turbo Assembler adalah
a) TLINK
b) TASM
c) ASM
d) INT 21
e) COM
57.Dari soal No.9, input mana yang menunjukan banyaknya pengulangan yang akan
dilakukan?
a. MOV AH,02h
b. INC DL
c. MOV CX,10h
d. INT 20h
e. LOOP Ulang
58. Input apa yang digunakan apabila ingin memberikan atribut atau warna dari karakter
yang akan dicetak?
a. AL
b. CX
c. BL
d. AH
DOSSEG
.MODEL SMALL
.CODEmain proc near
Proses :MOV AH,02hMOV DL,'A'MOV CX,8
e. BH
59.Perhatikan program disamping ini.
Apabila dieksekusi akan menghasilkan ouput apa?
A ACFILORU
B ACGJMQSV
Sc ADGKMPTV
D ADGJMPSV
E ADHJMOT
60.Jika Program di bawah ini dijalankaMaka akan menghasilkan output?
a. PONMLKJIHGFEDCBA
b. 123456789
c. ABCDEFGHIJKLMNOP
d. ABCDEFGHIJ
e. JIHGFEDCBA
Mov AH,02hMov DL,’A’Mov CX,10h
INT 21hINC DLLOOP Ulang
INT 20hEND Proses
1. Ada banyak Flags Register yang digunakan untuk menunjuk status dari
CPU dan mengendalikan operasi pada CPU. Tuliskan dan jelaskan Flags
Register yang Anda ketahui, (min 3 Flag Register)!!!!!
Jawab:
1. Bit I dengan arti Interrupt yang berfungsi untuk mengendalikan operasi
pin input INTR (interrupt requeet)dan dikendalikan dengan perintah STI
(set I flag).
2. Bit Z dengan arti Zero yang berfungsi untuk menunjukkan bahwa hasil
operasi aritmatika bernilai Nol.
3. Bit A dengan arti Auxiliary Carry yang berfungsi untuk menyimpan nilai
carry pada penjumlahan atau borrow pada pengurangan.
2. Ada 2 special Register, yaitu IP (Instruction Register) dan SP (Stack
Pointer). Tuliskan apa yang anda ketahui tentang register ini!!!!
Jawab:
1. IP (Instruction Pointer), berisi offset dari intruksi berikutnya
yang akan dieksekusi. Register CS dan IP akan membentuk alamat
memori langkap dari intruksi berikutnya yang akan dieksekusi.
2. SP (Stack Pointer), berisi offset/jarak awal stack segment sampai ke
puncak stack. Register SS dan SP akan membentuk alamat lengkap
Dari puncak stack.
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; PROGRAM : CBA0.ASM ;
; FUNGSI : MENCETAK KARAKTER ;
; "Z".."A" DENGAN ;
; INT 21h SERVIS 02 ;
;==========================S’to=;
.MODEL SMALL
.CODE
ORG 100h
Proses :
MOV AH,02h ; Nilai servis
MOV DL,'Z' ; DL=5Ah
MOV CX,26 ; Banyaknya pengulangan yang akan
; dilakukan
Ulang:
INT 21h ; Cetak karakter !!
DEC DL ; Kurang DL dengan 1
LOOP Ulang ; Lompat ke Ulang
INT 20h
END Proses
Program 8.3. Mencetak karakter "Z".."A"
bila dijalankan akan mencetak karakter "Z" sampai "A" sebagai berikut :
ZYXWVUTSRQPONMLKJIHGFEDCBA