ORGANISASI KOMPUTER
MEMBUAT PROGRAM IDENTITAS KTP
DALAM BAHASA ASSEMBLY
2. Register
Register merupakan sebagian memori dari mikroprosesor yang dapat diakses
dengan kecepatan yang sangat tinggi. Dalam melakukan pekerjaannya mikroprosesor
selalu menggunakan register-register sebagai perantaranya, jadi register dapat
diibaratkan sebagai kaki dan tangannya mikroprosesor.
Register yang digunakan oleh mikroprosesor dibagi menjadi 5 bagian dengan tugasnya
yang berbeda-beda pula, yaitu :
3. Tanda Directive
a. MODEL
Model-model pada program dan codenya:
1) TINY, program hanya akan menggunakan 1 segment seperti program
COM, model ini disediakan untuk program COM.
2) SMALL, data dan code yang digunakan oleh program kurang dari ukuran 1
segment atau 64 KB.
3) MEDIUM, data yang digunakan oleh program kurang dari 64 KB tetapi
code yang digunakan bisa lebih dari 64 KB.
4) COMPACT, data yang digunakan bisa lebih besar dari 64 KB tetapi
codenya kurang dari 64 KB.
5) LARGE, data dan code yang dipakai oleh program bisa lebih dari 64 KB.
6) HUGE, data maupun code array yang digunakan bisa lebih dari 64 KB.
b. CODE
Tanda directive yang digunakan untuk memberikan pemberitahuan
mengenai code segmentnya. Code segment ini digunakan untuk menyimpan
program yang akan dijalankan.
c. .ORG 100h
Tanda directive ini sering digunakan pada program COM. Perintah ini
digunakan untuk memberitahukan kepada assembler supaya program pada saat
dijalankan ditaruh mulai pada offset ke 100h (256) byte. Dapat diartikan juga
bahwa kita menyediakan 100h byte kosong pada saat program dijalankan.
Program kosong ini nantinya akan ditempati oleh PSP (Program Segment Prefix).
d. .JMP
Perintah JMP digunakan untuk melompat menuju tempat yang
ditunjukkan oleh perintah JUMP.
Syntax:
JUMP Tujuan
e. INT 20h
Perintah ini digunakan untuk megakhiri program dan menyerahkannya
kembali ke DOS.
4. Mencetak Kalimat
Mencetak kalimat menggunakan atribut menggunakan interupsi 10h. adapun yang
harus dipersiapkan adalah sebagai berikut:
REGISTER
AX = 1300h
BL = Diisi dengan atribut yang ingin ditampilkan
BH = Diisi dengan halaman tampilan
DL = Diisi dengan posisi X tempat kalimat tersebut akan dicetak
DH = Diisi dengan posisi Y
CX = Banyak karakter dalam kalimat
ES:BP = digunakan untuk mencatat alamat yang ingin dicetak.
Dalam pengaturan atributnya, atribut atau warna menggunakan 1 byte memori
yang menandakan warna tulisan dan warna dasar dari karakter yang akan ditampilkan ke
layar atau yang akan dicetak. Byte atribut ini digunakan dengan masing-masing butnya,
dimana setiap bit mencatat warna masing-masing:
- 4 bit pertama merupakan warna dasar dan 4 bit berikutnya merupakan warna
tulisan.
Warna dasar Warna tulisan
------------------ --------------------
7 6 5 4 3 2 1 0
Keterangan:
1) Bit ke-7 merupakan BL (Blink atau berkedip)
2) Bit ke-6 merupakan R yang kepanjangannya adalah red (merah)
3) Bit ke-5 merupakan G yang berkepanjangan green (hijau)
4) Bit ke-4 merupakan B yang berkepanjangan blue (biru)
5) Bit ke-3 merupakan I (intensitas warna)
6) Bit ke-2 adalah R
7) Bit ke-1 adalah G
8) Bit ke-0 adalah B
B. TUJUAN PERCOBAAN
1) Mengetahui dan memahami syntax yang ada dalam program cetak huruf A sampai
Z ataupun sebaliknya dan juga program cetak KTP.
2) Memahami mengenai interrupt yang digunakan dengan service dan pemakaian
interrupt gabungan untuk menampilkan perintah yang sesuai dengan keinginan.
3) Mengenal dan memahami perbedaan-perbedaan register masukan dan keluaran
untuk setiap interrupt dan service yang dipakai.
C. LISTING PROGRAM
1. A – Z
3. Identitas (KTP)
D. ANALISA PROGRAM
1. A – Z
- Mov ah,02h = Ketentuan untuk memcetak huruf atau karakter.
- Mov dl,’A’ = Mencetak huruf atau karakter A.
- Mov cx,26 = Mencetak berapa jumlah karakter yang di
inginkan.
- pengulangan = Melooping semua yang ada pada ulang.
- Int 21h = Interrupt untuk mencetak huruf.
- Mov dl,1 = Menambah 1 pada register dl yang nanti akan
mencetak maju.
- Loop pengulangan = Melooping semua yang ada pada lagi.
- Int 20h = Interrupt untuk kembali ke DOS.
Gambar 8 Mencetak Huruf A-Z
2. Z – A
- Mov ah,02h = Ketentuan untuk memcetak huruf atau karakter.
- Mov dl,’Z’ = Mencetak huruf atau karakter Z.
- Mov cx,26 = Mencetak berapa jumlah karakter yang di
inginkan.
- pengulangan = Melooping semua yang ada pada ulang.
- Int 21h = Interrupt untuk mencetak huruf.
- Sub dl,1 = Mengurangi 1 pada register dl yang nanti akan
mencetak mundur.
- Loop pengulangan = Melooping semua yang ada pada lagi.
- Int 20h = Interrupt untuk kembali ke DOS.
3. Identitas (KTP)
- Mov ah,02h = Ketentuan untuk memcetak huruf atau karakter.
- Mov dl,’ ’ = Mencetak huruf atau karakter apa saja.
- Int 21h = Interrupt untuk mencetak huruf.
- Mov dl,0Dh = Membuat jarak atau enter antar baris.
- Mov dl,0Ah = Membuat jarak atau enter antar baris.
- Int 20h = Interrupt untuk kembali ke DOS.
Gambar 10 Mencetak KTP
E. KESIMPULAN
Dalam membuat program cetak karakter ini, digunakan interrupt 21h dengan
service 02h yang berfungsi untuk mencetak kalimat. Register yang digunakan
adalah AH, CX, BX, dan DX. Selain interrupt yang digunakan, digunakan juga
tanda directive .MODEL SMALL, .CODE dan .ORG 100h yang masing-
masingnya digunakan untuk mengalokasikan program ke segment dan offset.
F. DAFTAR PUSTAKA
S’to. 2001. Pemrograman Dengan Bahasa Assembly [Online] Tersedia di
http://dinus.ac.id/repository/docs/ajar/assembly.pdf. Diakses pada 27 Februari 2019.