CODE NAMA
00 Nul
01 Start of heading
02 Start of text
03 End of text
04 End of transmission
05 Enquiry
06 Acknowledge
07 Bel
08 Backspace
09 Horizontal tabulation
10 Line feed
11 Vertical tabulation
12 Form feed
13 Carriage return
14 Shift out
15 Shift in
16 Data link escape
17 Device control
18 Negative acknowledge
19 Synchronous table
Tabel 2 karakter kontrol
Jika ingin mencetak string beserta atribut bisa digunakan interupsi 10h dengan
nilai service 1300h. Nilai service diisikan ke register AX. Atribut atau warna diisikan
ke register BL dalam bentuk kode biner atau hexadecimal. String yang akan dicetak
disimpan pada register BP sebagai penampung variabel.
Jika ingin mencetak pesan dengan atribut digunakan int 10h dengan nilai
service 1300h dengan aturan:
Input
AX = 1300h
BH = nomor halaman
BL = atribut warna
DH = posisi sumbu x pesan akan dicetak
DL = posisi sumbu y pesan akan dicetak
CX = panjang kalimat (dalam karakter)
II Tujuan Percobaan
1 Membuat tabel dengan bahasa assembly
tabel:
jmp proses
kal0 db
218,'-----',194,'---------------',194,'--------',194,'-
-------',194,'-------------',194,'----------------',191
,13,10,'$'
kal db '| No. | NPM | Nama | Nilai |
Nilai UAS | Total(UTS+UAS)|',13,10,'$'
kal1 db '| | | | UTS |
| |',13,10,'$'
kal2 db
195,'-----',197,'---------------',197,'--------',197,'-
-------',197,'-------------',197,'----------------',180
,13,10,'$'
kal3 db '| 1. | J3D116 | Dimas | 90 |
60 | 150 |',13,10,'$'
kal4 db '036',13,10,'$'
kal5 db 13,10,'| 2. | J3D116 | Theo | 60
| 50 | 110 |',13,10,'$'
kal6 db '137',13,10,'$'
kal7 db 13,10,'| 3. | J3D116 | Arman | 50
| 60 | 110 |',13,10,'$'
kal8 db '016',13,10,'$'
kal9 db 13,10,'| 4. | J3D116 | Nadiah| 70
| 70 | 140 |',13,10,'$'
kal10 db '104',13,10,'$'
kal11 db 13,10,'| 5. | J3D116 | Wina | 60
| 70 | 130 |',13,10,'$'
kal12 db '144',13,10,'$'
kal13 db
13,10,192,'-----',193,'---------------',193,'--------',
193,'--------',193,'-------------',193,'---------------
-',217,13,10,'$'
proses:
mov ah,09h
lea dx,kal0
int 21h
lea dx,kal
int 21h mov ax,1300h
lea dx,kal1 mov dl,16
int 21h mov dh,6
lea dx,kal2 lea bp,kal8
int 21h int 10h
lea dx,kal3 mov ah,09h
int 21h lea dx,kal9
mov ax,1300h int 21h
mov bl,00000100b mov ax,1300h
mov bh,00h mov dl,16
mov dl,16 mov dh,7
mov dh,4 lea bp,kal10
mov cx,3 int 10h
lea bp,kal4 mov ah,09h
int 10h lea dx,kal11
mov ah,09h int 21h
lea dx,kal5 mov ax,1300h
int 21h mov dl,16
mov ax,1300h mov dh,8
mov dl,16 lea bp,kal12
mov dh,5 int 10h
lea bp,kal6 mov ah,09h
int 10h lea dx,kal13
mov ah,09h int 21h
lea dx,kal7 int 20h
int 21h end tabel
IV Analisa Program
Nama_var DB ,isi_string,13,10,$.
Pada program diatas. DB digunakan ke variabel kal1 sampai kal13 yang masing-
masing variabel berisi nilai string data yang berbeda-beda. Pada setiap variabel selain
kalimat juga diisi beberapa karakter garis yang berfungsi untuk membentuk tabel. Pada
variabel kal4, kal6, kal8, kal10, dan kal12 berisi data NIM tiga digit terakhir. Data tiga
digit terakhir harus berwarna merah sehingga interupsi yang digunakan berbeda dengan
yang lain. Untuk itu digunakan interupsi 10h service 1300h untuk memberi warna pada
string dan mengontrol posisi dari string tersebut dengan mengatur nilai pada register DL
dan DX. Pada baris perintah ini kita juga dapat menambahkan karakter kontrol untuk
mengontrol kursor yang ingin string yang ingin ditampilkan. Karakter kontrol yang
digunakan adalah 13 dan 10. 13 adalah karakter kontrol untuk memindahkan kursor ke
awal baris dan 10 untuk memindahkan kusor satu baris kebawah. Pada program diatas
juga terdapar karakter $ (dollar) yang berfungsi sebagai akhir sebuah string. sehingga
karakter dibelakang $ tidak akan tercetak.
Pada bagian proses digunakan dua jenis interupsi yaitu int 21h service 09h dan int 10h
service 1300h. Int 21h digunakan untuk mencetak kalimat tanpa atribut warna. Pada
bagian perintah lea dx,kal0 memiliki fungsi untuk mengambil alamat offset dari variabel
kal0 untuk mencetak string yang yang berada pada variabel kal0. Fungsi int 21h untuk
mencetak string yang sudah diambil dan disimpan pada register DX. Int 10h digunakan
untuk mencetak string dan mengatur atribut warna dan posisi string akan dicetak. Pada
bagian mov bl,00000100b digunakan untuk mengisi nilai register bl dengan kode biner
warna merah untuk mewarnai string NIM 3 digit terakhir. Perintah mov dl, 16
digunakan untuk mengatur posisi string yang dicetak pada sumbu x=16 dan perintah
mov dh, 16 digunakan untuk mengatur posisis string yang dicetak pada sumbu y=4.
Perintah lea bp,kal4 berfungsi untuk mengambil alamat offset dari variable kal4 lalu
disimpan di register bp.
Gambar 3 Register AX
2. Alamat offset dari variable kal0 diambil dan disimpan di register DX.
Gambar 4 Register DX
3. Program menjalankan int 21h untuk mencetak string pada alamat offset
yang disimpan pada register DX
4. Alamat offset dari variable kal diambil dan disimpan di register DX.
Gambar 6 Register DX
5. Program menjalankan int 21h untuk mencetak string pada alamat offset
yang disimpan pada register DX
Gambar 8 Register DX
7. Program menjalankan int 21h untuk mencetak string pada alamat offset
yang disimpan pada register DX
8. Alamat offset dari variable kal2 diambil dan disimpan di register DX.
Gambar 10 Register DX
9. Program menjalankan int 21h untuk mencetak string pada alamat offset
yang disimpan pada register DX
10. Alamat offset dari variable kal3 diambil dan disimpan di register DX.
Gambar 12 Register DX
11. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
Gambar 14 Register AX
Gambar 19 Register CX
Gambar 20 Register BP
19. Program menjalankan int 10h untuk mencetak string beserta atribut warna dan
posisinya pada alamat offset yang disimpan pada register BP
Gambar 22 Register AH
21. Alamat offset dari variable kal5 diambil dan disimpan di register DX.
Gambar 23 Register DX
22. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
Gambar 25 Register AX
Gambar 26 Sumbu x
Gambar 27 Sumbu y
Gambar 28 Register BP
27. Program menjalankan int 10h untuk mencetak string beserta atribut warna dan
posisinya pada alamat offset yang disimpan pada register BP
Gambar 29 String tercetak
Gambar 30 Register AH
29. Alamat offset dari variable kal7 diambil dan disimpan di register DX.
Gambar 31 Register DX
30. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
Gambar 33 Register AX
Gambar 35 Sumbu y
Gambar 36 Register BP
35. Program menjalankan int 10h untuk mencetak string beserta atribut warna dan
posisinya pada alamat offset yang disimpan pada register BP
Gambar 38 Register AH
37. Alamat offset dari variable kal9 diambil dan disimpan di register DX.
Gambar 39 Register DX
38. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
Gambar 41 Register AX
Gambar 42 Sumbu x
Gambar 43 Sumbu y
Gambar 44 Register BP
43. Program menjalankan int 10h untuk mencetak string beserta atribut warna dan
posisinya pada alamat offset yang disimpan pada register BP
Gambar 45 String tercetak
Gambar 46 Register AH
45. Alamat offset dari variable kal11 diambil dan disimpan di register DX.
Gambar 47 Register DX
46. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
Gambar 49 Register AX
Gambar 51 Sumbu y
Gambar 52 Register BP
51. Program menjalankan int 10h untuk mencetak string beserta atribut warna dan
posisinya pada alamat offset yang disimpan pada register BP
Gambar 54 Register AH
53. Alamat offset dari variable kal13 diambil dan disimpan di register DX.
Gambar 55 Register DX
54. Program menjalankan int 21h untuk mencetak string pada alamat offset yang
disimpan pada register DX
V Kesimpulan
Dari percobaan kali ini dapat disimpulkan bahwa untuk membuat tabel dapat
digunakan interupsi 21h service 09h dan interupsi 10h service 1300h. Karakter garis
bisa disisipkan antara string yang dibuat pada variabel untuk membentuk tabel. Untuk
memberi warna pada NIM 3 digit terakhir dapat digunakan int 10h dengan memberi
kode warna pada register BL.
VI Daftar Pusaka
Novianty Inna. 2013. Modul Praktikum Arsitektur Komputer. Bogor. Program Diploma
Institut Pertanian Bogor.
Sto. 2001. Pemrograman Bahasa Assembly. Jakarta. ELEX MEDIA KOMPUTINDO.
Yudhanti Okti. 2010. Bahasa Rakitan. Jakarta. Sekolah Tinggi Manajemen Informatika
dan Komputer.
LAPORAN PRAKTIKUM
ORGANISASI KOMPUTER
MEMBUAT TABEL