1. Tujuan [kembali]
2. Dasar Teori [kembali]
3. Listing Program [kembali]
4. Video Simulasi [kembali]
5. Link Download [kembali]
1. Video Simulasi [klik disini]
2. Kode Program Simulasi [klik disini]
1. memahami tentang bahasa assembler.
2. mampu menggunakan aplikasi emu8086.
2. Dasar Teori [kembali]
PERINTAH DASAR ASSEMBLER :
1. MOV
Perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel ataupun suatu lokasi memori.
Tata penulisan: MOV [operand1],[operand2]
a. Operand1 berupa register, variabel, lokasi memory dan
b. Operand2 berupa: register, variabel, lokasi memory ataupun bilangan.
Contoh :
MOV AH,AL ; mengkopi isi register AL ke register AH.
MOV AH, 02 ; mengisi register AH dengan 02
2. Int (Interrupt)
Subrotine yang akan dipanggil sudah tersedia pada memori komputer.
Ada dua jenis yaitu :
a. Bios Interrupt yaitu Int 0H hingga 1FH yang disediakan oleh BIOS (Basic Input Output System).
Contoh: Int 16H service 01H berfungsi untuk mencek apakah ada tombol keyboard yang ditekan.
b. DOS Interrupt yaitu Int 1FH keatas yang disediakan oleh DOS (Disk Operating System).
Contoh: Int 20H berfungsi menghentikan kerja suatu program.
3. Int 20h dan Int 21h service 02h
a. Int 20h
Bertugas memberhentikan proses komputer terhadap suatu program COM. Bila pada setiap program COM yang dibuat tidak terdapat Int 20h, maka akan terjadi hanging pada komputer. Hal ini terjadi karena komputer tidak menemukan perintah pemberhentian proses.
b. Int 21h Service 02
Seperti Int 20h, Int 21h adalah salah satu Int yang termasuk DOS Interrupt, karena Int 21h mempunyai banyak sekali tugas, maka tugasnya dibagi-bagi menjadi beberapa bagian. Untuk memanggil bagian-bagian itu, perlu menyertakan nomor bagiannya yang disebut juga dengan service number. Contoh Int 21h yang bertugas mencetak sebuah huruf ke layar yaitu fungsi kedua dari Int 21h.
Untuk menjalankan fungsi Int 21h service 02 harus dipenuhi beberapa syarat yaitu :
a) Register AH, harus berisi service number dari Int 21h yang akan dijalankan (02h).
b) Register DL, harus berisi bilangan hexa dari karakter ASCII (American Standard Code for Information Interchange) yang akan dicetak.
3. Listing Program [kembali]
#fasm#
MOV CX,0Ah ;counter sebanyak 10 kali
MOV DL,39h ;kode ASCII dari angka 9
ulangi:
MOV AH,02h
INT 21h ;mencetak kode ASCII
DEC DL ;DL-1=karakter berikutnya
LOOP ulangi ;ulangi sampai angka 0
MOV AH,4CH
INT 20h ;hentikan program
Penjelasan per baris program adalah :
a)MOV CX,0Ah ; Pada baris program ini, mengisikan jumlah loop yang ingin dilakukan dengan perincian 0 - 9 terdiri dari 10 angka. Bila 10 dikonversikan ke bilangan hexa, maka akan didapat angka A hexa.
b) MOV DL,30h ; Bilangan ASCII yang sama dengan 30 hexa adalah '0' yang akan dicetak dahulu dan dimasukkan dalam DL sesuai dengan Int 21 hexa service 02 hexa.
c) MOV AH, 02h ; AH diisi dengan service number dari Interrupt.
d) INT 21h ; Menjalankan Interrupt 21 hexa.
e) INC DL ; Menambahkan DL dengan 1 menjadi 31 hexa yang berarti '1'.
f) LOOP ulangi ; Lompat ke arah MOV AH,02h dan dilakukan sebanyak 10 kali, setiap kali isi CX dikurangi satu hingga akhirnya mencapai nol (0).
g) INT 20h ; Perintah INT 20h untuk mengakhiri program
4. Video Simulasi [kembali]
5. Link Download [kembali]
1. Video Simulasi [klik disini]
2. Kode Program Simulasi [klik disini]
Tidak ada komentar:
Posting Komentar