Anda di halaman 1dari 18

WAKTU PENGERJAAN : 180 MENIT JAWABAN DISERTAI ALASAN

MATERI 1 1. Berapakah hasil penjumlahan bilangan berikut ini: (1010)2 + (111)2 a. 10011 b. 10010 c. 00011 d. 10000 e. 10001

2. Konversikan bilangan berikut ke dalam bentuk decimal : (10011110)2 a.100 b.158 c. 168 d. 178 e. 200

3. Rubahlah bilangan biner di bawah ini ke dalam bentuk decimal: [Al] (1001)2 a. 9 b. 10 c. 11 d. 12 e. 13

4. Berapakah hasil dari pengurangan bilangan berikut : (BACD)16 - (75DF)16 a.55FF b.44EE c. 33DD d. 66EF e.22CC

5. Hitunglah perkalian dari bilangan hexadecimal berikut ini : (AB)16 X (CD)16 a.ABCD b.A1B6 c. BC98 d. 88EF e. FF12

6. Konversikan bilangan decimal ke biner berikut in: 2002 a.11111010010 b.10000110101 c.10010100001 d.10100010011 e.11100100001

7. Pada bilangan heksadesimal huruf A itu sama dengan angka berapa? a.11 b.12 c.10 d.14 e.15

8. Pada bilangan heksadecimal 1 angkanya itu menggunakan berapa bit? a.8 bit b.4 bit c.16 bit d.2 bit e.5 bit

9. Disebut apa kalau bilangan bertanda bit terakhir(bit ke 16) bernilai 1? a.bilangan positif b.bilangan decimal c.bilangan negative d.bilangan berpangkat e.bilanganoktadecimal

10. Berapakah hasil pengurangan bilangan heksadecimal berikut : (DCDE)16-(21B5)16 a.CD21 b.BB29 c.BB24 d.1224 e.BE44

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 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 ? d. XCHG e. COPY

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 b. 4 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 d. 3 e. 2

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: A1 C. 4 E3

B2

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 i. DIV source j. CMP destination source 37.Perintah yang digunakan untuk memasukkan nilai ax ke stack adalah. k. Push ax l. Push al m. Pop ax d. Pusha ax e. Pushf ax d. Null e. Dmp source

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 b. DUP c. LOOP d. PUSH e. POP

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

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 .CODE main proc near Proses : MOV AH,02h MOV 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 INT 21h INC DL LOOP Ulang INT 20h END Proses Mov AH,02h Mov DL,A Mov CX,10h

1. Ada banyak Flags Register yang

digunakan untuk menunjuk status dari Flags

CPU dan mengendalikan operasi pada CPU. Tuliskan dan jelaskan 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 ; ;==========================Sto=; .MODEL SMALL .CODE ORG 100h Proses : MOV MOV MOV Ulang: INT 21h DEC DL LOOP Ulang END INT 20h Proses Program 8.3. Mencetak karakter "Z".."A" ; Cetak karakter !! ; Kurang DL dengan 1 ; Lompat ke Ulang AH,02h DL,'Z' CX,26 ; ; ; ; Nilai servis DL=5Ah Banyaknya pengulangan yang akan dilakukan

bila dijalankan akan mencetak karakter "Z" sampai : ZYXWVUTSRQPONMLKJIHGFEDCBA

"A" sebagai berikut