Yah, balik ke materi kuliah. Setelah sehari - dua harian ane posting diluar kuliah, sekrng balik lagi. Mahasiswa kalo tanpa tugas bagai sayur tanpa garam. Hambar banget gan. Hehehehehe :D
Masih inget kode yang ini khan gan?
Kalo masih inget, ane jelasin bagian demi bagian kode tersebut. Pada bagian
.model small, bagian ini digunakan sebagai yang ngasih tau komputer tentang besaran memori yang akan digunakan buat menjalankan program yang kita bikin. Berikut besaran memori yang sering digunakan
.model small, bagian ini digunakan sebagai yang ngasih tau komputer tentang besaran memori yang akan digunakan buat menjalankan program yang kita bikin. Berikut besaran memori yang sering digunakan
Tiny
Tiny digunakan saat pembuatan program hanya menggunakan 1 segment saja.
Small
Small digunakan saat pembuatan program kode dan data yang digunakan kurang dari 1 segment atau 64 KB.
Medium
Medium digunakan saat pembuatan program data yang digunakan kurang dari 1 segment namun kodenya bisa lebih dari 1 segment.
Compact
Compact digunakan saat pembuatan program data yang digunakan lebih dari 1 segment sedangkan kodenya kurang dari 1 segment.
Large
Large digunakan saat pembuatan program data dan kodenya lebih dari 1 segment.
Pada bagian .code, bagian ini digunakan sebagai yang ngasih tau komputer bahwa kita akan meletakkan kode segmentnya yang sudah berisi program-program yang nanti bakal dijalankan. Pada bagian org 100h, bagian ini digunakan sebagai yang ngasih tau kalo pas programnya dijalankan atau diload ke dalam memori dimasukkan dari offset sampai 100h / 256 bytes. Pada bagian mulai, yang menjadi identitas dari kumpulan-kumpulan perintah inti. Bagian dari mov ah,02h sampe end mulai ini yang jadi tempat untuk menulis perintah-perintah yang akan dijalankan.
Setelah selesai, kita liat lagi kodenya. Di dalam kode tersebut berisi instruksi-instruksi yang dapat dijalankan.
Di dalam kode tersebut terdapat instruksi yang mirip, makanya ane tuliskan satu aja yang mirip. Ane pecah lagi instruksinya jadi beberapa bagian. Mov adalah suatu perintah yang memiliki fungsi memindahkan suatu nilai dari satu sumber ke sumber yang lain. Ah ini adalah salah satu jenis register. Apaan tuch register? Register adalah memori yand berada di dalam prosessor.
Jenis-jenis Register
Segment Register
Register
ini digunakan untuk menunjukan alamat dari suatu segment. Beberapa contoh register segment ini
adalah CS, DS, ES dan ES yang masing-masing berukuran 16 bit.
POINTER
dan INDEX REGISTER
Register ini digunakan sebagai petunjuk atau
pointer terhadap suatu lokasi memori. Beberapa contoh register ini adalah SP, BP,SI,DI
yang masing-masing berukuran 16 bit.
FLAGS
REGISTER
Register ini akan digunakan sebagai tempat
penyimpanan tanda. kaya namanya, FLAGS
register ini akan menyimpan data yang berupa keadaan 1 atau 0, ya atau tidak.
OF (Overflow Flag) = jika
terjadi overflow pada operasi aritmatika, register ini akan bernilai 1.
SF (Sign Flag) = register
ini akan bernilai 1 jika digunakan bilangan bertanda.
ZF (Zero Flag) = register
ini akan bernilai 1 jika operasi bernilai nol.
CF (Carry Flag) = akan bernilai 1 jika terjadi carry pada operasi penjumlahan
dan borrow pada operasi pengurangan.
GENERAL
PURPOSE REGISTER (GPR)
Beberapa register yang masuk kedalam kategori
GPR yaitu AX, BX, CX, DX yang masing-masing berukuran 16 bit. register ini bisa
dipisah jadi 2 kondisi High (akhiran H) dan kondisi Low (akhiran L).
GBR dibagi menjadi beberapa bagian :
Accumulator Register. Beberapa fungsi dari register ini :
- AH, Tempat
menyimpan nomor service (untuk memesan layanan interupsi)
- AL, AX, EAX (Extra AX) tempat menyimpan bilangan pada operasi aritmatika
Base Register. fungsi register ini tempat menyimpan alamat offset
data yang treletak pada memori selain itu juga dapat digunakan sebagai operasi
aritmatika dan logika.
Counter Register. fungsi dari register ini adalah
- CX, ECX Sebagai
pencacah pada operasi perulangan (loop)
- CL sebagai
pencacah untuk operasi shift dan rotate
- CX sebagi pencacah operasi shift pada operasi string
Data Register, fungsinya sebagai berikut :
- Tempat
penyimpanan setengah bagian terbesar hasil dari perkalian bilangan 16bit
(DX-AX) dan 32bit (EDX-EAX)
- Tempat
penyimpanan setengah bagian terbesar suatu bilangan yang akan
dikenai operasi pembagian (DX-AX dan EDX-EAX), serta suatu pembagian (DX
dan EDX)
- DL Tempat penyimpanan data hexadesimal (kode ASCII) yang akan dicetak ke layar monitor.
02h adalah number service yang berpasangan dengan interupsi sehingga komputer dapat mejalankan perintah
yang ada sesuai dengan number service yang diberikan. Int adalah singkatan dari Interupsi. Kalo mau lebih banyak buka aja postingan ane yang ini Pembahasan Tugas PBR Kedua. 21h ini yang sebagai penentu prosesor untuk melakukan yang diperintahkan.
Cukup sekian postingan ane kali ini. Semoga bisa bermanfaat buat agan-agan semua. Dan seperti biasa, tunggu postingan ane selanjutnya.
Tidak ada komentar:
Posting Komentar