- Register AX terdiri dari register AH dan register AL yang secara khusus berfungsi untuk operasi aritmatika terutama dalam operasi pembagian dan pengurangan.
- Register BX terdiri dari register BH dan register BL berfungsi untukmenunjukan suatu alamat offset dari suatu segmen.
- Register CX terdiri dari register CH dan register CL secara khusus berfungsi untuk operasi looping dimana register ini menentukan berapa banyak nya looping yang akan terjadi.
- Register DX terdiri dari register DH dan register DL berfungsi untuk menampung sisa hasil pembagian 16 bit.
2. Jelaskan tentang proses translasi, phase analysis, systhesis, carry flag serta Base Relative Addressing dan Register Addressing!
- Proses Translasi : proses pengubahan
- Phase Analysis : mencari arti dari source text, dengan menggunakan struktur tatabahasa (literal, syntax, semantic)
- Synthesis : pemilihan machine operation code yang sesuai dengan mnemonic code
- Carry Flag : register untuk menampung kelebihan bit yang didapat dari proses penjumlahan atau perkalian dua register 16 bit dan didapat hasil 17 bit
- Base Relative Addressing : addressing yang biasanya digunakan untuk mengakses suatu table dengan mengambil alamat efektifnya
- Register Addressing : suatu proses pengcopyan data antar register
3. Konversikan bilangan berikut ke decimal!
a. D21h = 3361 d
1 x 16^0 = 1
2 x 16^1 = 32
D/13 x 16^2 = 3328
b. 11001010b = 202 d
0 x 2^0 = 0
1 x 2^1 = 2
0 x 2^2 = 0
1 x 2^3 = 8
0 x 2^4 = 0
0 x 2^5 = 0
1 x 2^6 = 64
1 x 2^7 = 128
c. 75o = 61 d
5 x 8^0 = 5
7 x 8^1 = 56
d. FCA0h = 64672 d
0 x 16^0 = 0
A/10 x 16^1 = 160
C/12 x 16^2 = 3072
F/15 x 16^3 = 61440
e. 00110111b = 55 d
1 x 2^0 = 1
1 x 2^1 = 2
1 x 2^2 = 4
0 x 2^3 = 0
1 x 2^4 = 16
1 x 2^5 = 32
0 x 2^6 = 0
0 x 2^7 = 0
4. Buatlah sebuah program untuk menampilkan : I H G F E D C!
.MODEL SMALL
.CODE
ORG 100h
MULAI :
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. Sebutkan macam model dalam pemrograman assembler, dan perbedaan Exe dan Com!
- Tiny : program hanya menggunakan 1 segment
- Small : data dan kode yang digunakan oleh program kurang dari 1 segment atau 64 kb
- Medium : data yang digunakan kurang dari 64 kb tetapi kode yang digunakan lebih dari 64 kb
- Compact : data yang digunakan lebih dari 64 kb tetapi kode yang digunakan kurang dari 64 kb
- Large : data dan kode yang digunakan lebih dari 64 kb
- Huge : data dan code maupun array yang digunakan lebih dari 64 kb
Perbedaan :
PROGRAM COM | PROGRAM EXE |
Program lebih pendek | Program lebih panjang |
Program lebih cepat | Program lebih lambat |
Hanya dapat menggunakan 1 segmen | Bisa menggunakan lebih dari 1 segmen |
Bisa dibuat dengan DEBUG | Tidak bisa dibuat dengan DEBUG |
6. Jelaskan script program dan hasil output di bawah ini:
.MODEL SMALL = model yang digunakan small
.CODE = tempat menuliskan kode
ORG 100h = Program menggunakan offset 100h
TEXT: JMP MULAI = Lompat ke MULAI
TULIS DB ‘STMIK CIKARANG TEKNIK INFORMATIKA’ = Isi dari TULIS
MULAI: = Label MULAI
MOV AX,1300h = Beri nilai register AX=1300h
MOV BL,10010101b = Beri nilai register BL=10010101b
MOV BH,00h = Beri nilai register BH=00h
MOV DL,20 = Beri nilai register DL=20 (posisi X)
MOV DH,12 = Beri nilai register DH=12 (posisi Y)
MOV CX,33 = Looping sebanyak 33 kali
LEA BP,TULIS = Ambil alamat offset TULIS ke BP
INT 10h = Cetak kalimat
INT 20h = Kembali ke DOS
END TEXT = Selesai
Tidak ada komentar:
Posting Komentar