Assalamua'laikum wr.wb.
Dasar Teori
APA ITU MODEL SMALL ?
Tanda
directive ini digunakan untuk memberitahukan kepada assembler bentuk memory
yang digunakan oleh program kita. Supaya lebih jelas model-model yang bisa
digunakan adalah :
Ø TINY
Jika program anda hanya menggunakan
1 segment seperti program COM. Model ini disediakan khusus untuk program COM.
Ø SMALL
Jika data dan code yang digunakan
oleh program kurang dari ukuran 1 segment atau 64 KB.
Ø MEDIUM
Jika data yang digunakan oleh
program kurang dari 64 KB tetapi code yang digunakan bisa lebih dari 64 KB.
Ø COMPACT
Jika data yang digunakan bisa lebih
besar dari 64 KB tetapi codenya kurang dari 64 KB.
Ø LARGE
Jika data dan code yang dipakai oleh
program bisa lebih dari 64 KB.
Ø HUGE
jika data, code maupun array yang
digunakan bisa lebih dari 64 KB.
Mungkin
ada yang bertanya-tanya mengapa pada program COM yang dibuat digunakan model
SMALL dan bukannya TINY ? Hal ini disebabkan karena banyak dari compiler bahasa
tingkat tinggi yang tidak bisa berkomunikasi dengan model TINY, sehingga kita
menggunakan model SMALL sebagai pemecahannya.
APA ITU CODE?
Tanda
directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan
mulai menggunakan Code Segment-nya disini. Code segment ini digunakan untuk
menyimpan program yang nantinya akan dijalankan.
APA ITU ORG 100h ?
Pada program COM perintah ini akan selalu digunakan. Perintah ini
digunakan untuk memberitahukan assembler supaya program pada saat
dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte. Dapat
dikatakan juga bahwa kita menyediakan 100h byte kosong pada saat program
dijalankan. 100h byte kosong ini nantinya akan ditempati oleh PSP(Program
Segment Prefix) dari program tersebut. PSP ini digunakan oleh DOS untuk
mengontrol jalannya program tersebut.
APA ITU PERINTAH MOV ?
Perintah
MOV digunakan untuk mengcopy nilai atau angka menuju suatu register,variabel
atau memory. Adapun syntax untuk perintah MOV ini adalah :
MOV Tujuan,Asal
Sebagai contohnya :
MOV AL,9 ; masukkan nilai 9 pada AL.
MOV AH,AL ; nilai AL=9 dan AH=9
MOV AX,9 ; AX=AH+AL hingga AH=0 dan
AL:=9
Pada
baris pertama(MOV AL,9), kita memberikan nilai 9 pada register AL. Kemudian
pada baris kedua(MOV AH,AL) kita mengcopykan nilai register AL untuk AH. Jadi
setelah operasi ini register AL akan tetap bernilai 9, dan register AH akan
sama nilainya dengan AL atau 9. Pada baris ketiga(MOV AX,9), kita memberikan
register AX nilai 9. Karena AX terdiri atas AH dan AL, maka register AH akan
bernilai 0, sedangkan AL akan bernilai 9.
Perintah
MOV akan mengcopykan nilai pada sumber untuk dimasukan ke Tujuan, nilai sumber
tidaklah berubah. Inilah sebabnya MOV(E) akan kita terjemahkan disini dengan
mengcopy, dan bukannya memindahkan.
APA ITU PERINTAH INT ?
Didalam
pemrograman assambler, kita akan banyak sekali menggunakan interupsi untuk
membantu kita dalam mengerjakan suatu pekerjaan. Untuk menghasilkan suatu
interupsi digunakan perintah INT dengan syntax:
INT NoInt
Dengan
NoInt adalah nomor interupsi yang ingin dihasilkan. Sebagai contohnya bila kita
ingin menghasilkan interupsi 21h, bisa dituliskan dengan: INT 21h, maka
interupsi 21h akan segera terjadi.
Interupsi 20h berfungsi untuk mengakhiri program dan menyerahkan kendali
sepenuhnya kepada Dos. Pada program COM cara ini bukanlah satu-satunya tetapi
cara inilah yang paling efektif untuk digunakan. Bila anda lupa untuk
mengakhiri sebuah program maka program anda tidak akan tahu kapan harus
selesai, hal ini akan menyebabkan komputer menjadi hang.
Untuk mencetak karakter kita bisa
mengunakan interupsi 21h. Bila ingin mencetak karakter harus menggunakan
register AH dengan nilai 2 yaitu nilai servis untuk mencetak karakter dan
meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum
menghasilkan interupsi 21h.
Untuk mencetak karakter kita bisa
mengunakan interupsi 21h. Bila ingin mencetak karakter harus menggunakan
register AH dengan nilai 2 yaitu nilai servis untuk mencetak karakter dan
meletakkan kode ASCII dari karakter yang ingin dicetak pada register DL sebelum
menghasilkan interupsi 21h.
APA
ITU PERINTAH SUB ?
Untuk Operasi pengurangan dapat
digunakan perintah SUB dengan syntax:
SUB Tujuan,Asal
Perintah SUB akan mengurangkan
nilai pada Tujuan dengan Asal. Hasil yang didapat akan ditaruh pada Tujuan,
dalam bahasa pascal sama dengan instruksi Tujuan:=Tujuan-Asal.
Contoh :
MOV AX,15 ; AX:=15
MOV BX,12 ; BX:=12
SUB AX,BX ; AX:=15-12=3
SUB AX,AX ; AX=0
Atau
Mov ah,09h ;nilai servis
untuk mencetak karakter
Mov dl,’Z’ ; cetak
karakter Z
sub dl,1 ;kurangi karakter Z-1 jadi Y , Y-1=x dan seterusnya.
Untuk menolkan suatu register
bisa anda kurangkan dengan dirinya sendiri seperti SUB AX,AX.
Langsung saja ikuti langkah-langkah nya
Belum ada tanggapan untuk "PROGRAM MENCETAK ANGKA 9-0 PADA ASSEMBLY"
Post a Comment