Jumat, 13 April 2012

System Call

Nama  : Adang Suryana
NRP    : 113040234

Kelas   : C
 
Tugas Matakuliah Sistem Operasi
Dosen : Yoseph Ismail ST
Subjek Tugas : 
 Mencari kategori-kategori dari systems call dan macam-macam systems call, serta bagaimana tiap fungsi systems call digunakan dalam sistem operasi.


System Call adalah bagaimana permintaan program layanan dari sistem operasi 's kernel . Ini mungkin termasuk layanan perangkat keras yang berhubungan (misalnya mengakses hard disk), menciptakan dan melaksanakan proses baru, dan berkomunikasi dengan layanan kernel integral (seperti penjadwalan). Sistem panggilan menyediakan antarmuka antara proses dan sistem operasi.
Proses sistem call dapat dilihat di bawah:

Terdapat 3 (tiga) metode yang umum digunakan untuk melewatkan parameter antara program yang sedang berjalan dengan sistem opeasi yaitu :
  • Melewatkan parameter melalui register.
  • Menyimpan parameter pada tabel yang disimpan di memori dan alamat tabel tersebut dilewatkan sebagai parameter di register.
  • Push (menyimpan) parameter ke stack oleh program dan pop (mengambil) isi stack yang dilakukan oleh system operasi.


    Melewatkan parameter melalui tabel
 Pada dasarnya System Call dapat dikelompokkan dalam 5 kategori sebagai berikut
  1. Kontrol Proses.
System calls yang berhubungan dengan kontrol proses antara lain ketika penghentian pengeksekusian program. Baik secara normal (end) maupun tidak normal (abort). Selama proses dieksekusi kadang kala diperlukan untuk meload atau mengeksekusi program lain, disini diperlukan lagi suatu system calls. Juga ketika membuat suatu proses baru dan menghentikan sebuah proses. Ada juga system calls yang dipanggil ketika kita ingin meminta dan merubah atribut dari suatu proses.
Contoh: Sistem operasi pada MS-DOS menggunakan sistem singletasking yang memeiliki command interpreter yang akan bekerja pada saat start. Karena singletasking, maka akan menggunakan metode yang sederhana untuk menjalankan program dan tidak akan membuat proses baru. Sistem operasi UNIX dapat menjalankan banyak program
 
2.          2. Memanipulasi File
o  Membuat dan menghapus berkas
o   Membuka dan menutup berkas
o   Read, write, reposition
o   Mengambil dan mengeset atribut berkas
3. Memanipulasi Device
o   Meminta device, melepaskan device
o   Read, write, reposition
o   Mengambil dan mengeset atribut

4. Information Maintenance
o   Mengambil dan mengeset waktu dan tanggal
o   Mengambil dan mengeset sistem data
o   Mengambil proses, berkas atau atribut device
o   Mengeset proses, berkas atau atribut device

5.           5.  Komunikasi.
o   membuat, menghapus sambungan komunikasi
o   mengirim, menerima pesan
o   Transfer informasi status
o   melampirkan atau melepaskan perangkat remote

  Terdapat dua model komunikasi
·         message-passing
pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi.
·         shared-memory
Proses menggunakan memori yang bisa digunakan oleh berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut.

Mekanisme komunikasi 
Sumber: Silberschatz,et.al, Operating System Concepts,6th e, .2003, New York:John Wiley & Son.Inc, halaman 72
Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi.Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan( message ) agar pertukaran informasi dapat dilakukan.


Sumber:

Jumat, 09 Maret 2012

Mikroarsitektur dan Diagram Processor

Nama  : Adang Suryana
NRP    : 113040234

Kelas   : C

Tugas Matakuliah Sistem Operasi
Dosen : Yoseph Ismail ST
Subjek Tugas :
“Tugas mengumpulkan informasi mengenai Mikroarsitektur dan Diagram Processor”.



Selalu melakukan lebih banyak dengan sedikit


Kemajuan dalam mikroarsitektur memfasilitasi penciptaan yang lebih kecil, lebih tinggi performa perangkat. Mereka juga kekuatan pendorong di belakang model bisnis Intel dan kesuksesan. Melalui komitmen untuk desain yang cerdas dan teknologi proses cerdas, Intel terus memimpin industri ke arah yang selalu lebih kecil transistor, sehingga lebih hemat energi, lebih tinggi performa core prosesor.

Apa mikroarsitektur?


Mikroarsitektur adalah cetak biru elemen chip. Cetak biru ini, bila dikombinasikan dengan nanoteknologi canggih, memungkinkan perangkat komputer untuk lebih mampu dan hemat energi. Tim mikroarsitektur Intel terus membuat lompatan raksasa dalam inovasi, dan baru-baru dialihkan ke lini terbaru dari mikroprosesor 32nm.


Mikroarsitektur prosesor di deskripsi sebagai rangkaian elektrik komponen penyusun mikroprosesor yang menggambarkan selengkapnya opersi dari sistem hardware mikroprosesor itu sendiri. Istilah mikroarsitektur sering di singkat dalam bahasa Inggris dengan tulisan uarch. Mikroarsitektur (arsitektur mikro) bersama aritektur set instruksi (Instruktion Set Architekture = ISA) merupakan dasar arsitektur komponen.

Setiap mikroprosesor pasti dibangun berdasar mikroarsitektur tertentu, baik mikroprosesor produk Intel maupun mikroprosesor AMD. Pada awalnya, semua perusahaan produsen prosesor selalu menggunakan mikroarsitektur milik Intel untuk membangun mikroprosesor produksinya. Namun, pada perkembangan berikutnya, masing-masing perusahaan membuat dan mengembangkan sendiri arsitektur mikroprosesornya. Misalnya perusahaan AMD, sejak merilis mkroprosesor buatannya sendiri, yaitu mikroprosesor keluarga K5, AMD menggunakan mikroarsitektur hasil desainnya sendiri. Tidaklagi adopsi secara penuh milik arsitektur dari perusahaan lain. Sampai April tahun 2008, AMD telah mengaplikasikan desain mikroarsitekturnya yang terus diperbaharui, mulai dari mikroarsitektur K5 hingga mikroarsitektur K10. 


Perusahaan Intel, sejak awal dikenal sebagai pelopor pembuatan mmikroprosesor golongan x86. Perusahaan ini terus-menerus mengembangkan mikroprosesornya. Berikut ini akan disajikan pembahasan mikroarsitektur tersebut, yang dimulai dari mikroarsitektur Intel P6 yang dugunakan untuk membangun mikroprosesor Intel Pentium Pro, Pentium II dan Pentium III, sampai mikroarsitektur terakhir yang digunakan pada tahun 2010. Mikroarsitektur terdahulu, sebelum Intel P6, sengaja tidak dibahas dalam artikel ini, karena sudah tidak digunakan lagi.

Mikroarsitektur Intel P6
Mikroarsitektur Netburst
Mikroarsitektur Intel P6 yang diperbaiki (penggunaan kembali Mikroarsitektur Intel P6)
Mikroarsitektur Intel Core
Mikroarsitektur Nehalem
Mikroarsitektur Westmere
    
Diagram processor
Berikut ini saya tampilkan visula dari diagram prosesor untuk memudahan dalam memahami.

Untuk tujuan ilustrasi Saya menawarkan Anda diagram blok Athlon serta Pentium III. Silakan lihat diagram untuk mengikuti penjelasan mudah.


Istilah:
AGU: Alamat Unit Generasi
Pilih kategori: Unit Pelaksana Integer
SSE: Streaming SIMD Extensions Intel Unit Pelaksana
BTB: Cabang Sasaran Buffer
BHB: Cabang Sejarah Buffer

Ini adalah gambar dari Pentium III, skala yang tidak sama seperti gambar Athlon yang sudah tidak di pakai,  Pentium III (Katmai) juga diproduksi dalam teknologi 0.25μ dan terdiri dari 9,5 juta transistor. 

 
Demikian pembahasan sekilas tentang mikroarsitektur dan diagram prosesor. semoga bermanfaat.  

Kamis, 26 Januari 2012

Bahasa Assembler



Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembler memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program.
Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosessor untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner.

Bagan kerja proses Assembly

Program sumber dibuat dengan program editor biasa, misalnya Note Pad pada Windows atau SideKick pada DOS,  selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Hasil kerja program Assembler adalah “program objek” dan juga “assemly listing”.
Program Objek berisikan kode kode bahasa mesin, kode-kode bahasa mesin inilah yang diumpankan ke memori-program prosessor.
Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis.
Yang perlu diperhatikan adalah setiap prosessor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prossesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosessor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja.

Konsep-konsep dasar bahasa Assembler
Informasi Unit
Dalam rangka untuk PC untuk memproses informasi, maka perlu bahwa informasi ini berada di sel khusus yang disebut register. Register adalah kelompok 8 atau 16 sandal jepit.
Sebuah flip-flop adalah suatu perangkat yang mampu menyimpan dua tingkat tegangan, satu rendah, teratur 0,5 volt, dan satu sama lain, biasanya dari 5 volt. Rendahnya tingkat energi dalam flip-flop ditafsirkan sebagai off atau 0, dan tingkat tinggi atau 1. Negara-negara ini biasanya dikenal sebagai bit, yang merupakan unit informasi terkecil dalam komputer.
Sekelompok 16 bit ini dikenal sebagai kata; kata dapat dibagi dalam kelompok-kelompok dari 8 bit disebut byte, dan kelompok 4 bit disebut camilan.

Sistem numerik
Sistem numerik yang kita gunakan sehari-hari adalah sistem desimal, tetapi sistem ini tidak nyaman untuk mesin karena informasi ditangani dikodifikasikan dalam bentuk on atau off bit, ini cara kodifikasi membawa kita ke perlunya mengetahui perhitungan posisi yang akan memungkinkan kita untuk mengekspresikan nomor di setiap pangkalan di mana kita membutuhkannya.
Hal ini dimungkinkan untuk mewakili nomor yang ditentukan dalam basis apapun melalui rumus berikut:
Dimana n adalah posisi awal digit dari kanan ke kiri dan penomoran dari nol. D adalah digit di mana kita beroperasi dan B adalah basis angka yang digunakan.

 Metode representasi data di komputer.
Kode ASCII
ASCII singkatan dari American Standard Kode untuk Informasi Interchange. Kode ini memberikan huruf-huruf alfabet, angka desimal dari 0 sampai 9 dan beberapa simbol tambahan bilangan biner 7 bit, bit ke-8 menempatkan dalam keadaan off atau 0. Dengan cara ini setiap huruf, angka atau karakter khusus menempati satu byte dalam memori komputer.
Kita dapat mengamati bahwa metode representasi data yang sangat tidak efisien pada aspek numerik, karena dalam format biner satu byte tidak cukup untuk mewakili angka 0 sampai 255, tapi di sisi lain dengan kode ASCII satu byte dapat mewakili hanya satu digit . Karena inefisiensi ini, kode ASCII ini terutama digunakan dalam memori untuk mewakili teks.
Metode BCD
BCD adalah akronim dari Kode Biner Desimal. Dalam kelompok notasi dari 4 bit digunakan untuk mewakili setiap digit desimal dari 0 sampai 9. Dengan metode ini kita dapat mewakili dua digit per byte informasi.
Bahkan ketika metode ini jauh lebih praktis untuk representasi angka dalam memori dibandingkan dengan kode ASCII, hal itu masih kurang praktis daripada biner karena dengan metode BCD kita hanya dapat mewakili angka 0-99.
Di sisi lain dalam format biner kita dapat mewakili semua angka dari 0 sampai 255.
Format ini terutama digunakan untuk mewakili angka yang sangat besar dalam aplikasi perdagangan karena memfasilitasi operasi menghindari kesalahan.
Representasi floating point
Representasi ini didasarkan pada notasi ilmiah, ini, untuk mewakili nomor di dua bagian: dasar dan eksponen.
Sebagai contoh, nomor 1234000, dapat direpresentasikan sebagai 1,123 * 10 ^ 6, dalam hal ini notasi eksponen terakhir menunjukkan kepada kami jumlah ruang yang titik desimal harus dipindahkan ke kanan untuk memperoleh hasil yang asli.
Dalam kasus eksponen negatif, akan menunjukkan kepada kita jumlah ruang yang titik desimal harus dipindahkan ke kiri untuk mendapatkan hasil yang asli.

Menggunakan program Debug
Program proses penciptaan
Untuk pembuatan program perlu mengikuti lima langkah:
Desain algoritma, tahap masalah yang akan dipecahkan adalah dibentuk dan solusi terbaik adalah diusulkan, menciptakan squematic
diagram digunakan untuk usulan solusi yang lebih baik. Coding algoritma, terdiri dalam menulis program dalam beberapa bahasa pemrograman, bahasa assembly dalam kasus khusus ini, mengambil sebagai basis solusi yang diajukan pada langkah sebelumnya. Terjemahan ke bahasa mesin, adalah penciptaan program objek, dengan kata lain, program ditulis sebagai urutan nol dan
orang yang dapat diinterpretasikan oleh prosesor. Menguji program, setelah program terjemahan ke dalam bahasa mesin, jalankan program dalam mesin komputer. Tahap terakhir adalah penghapusan kesalahan terdeteksi pada
program pada tahap uji. Koreksi kesalahan biasanya membutuhkan pengulangan dari semua langkah dari pertama atau kedua.

CPU register
CPU memiliki 4 register internal, masing-masing 16 bit. Empat yang pertama, AX, BX, CX, DX adalah dan penggunaan umum register dan juga dapat digunakan sebagai register 8 bit, jika digunakan dalam sedemikian rupa maka perlu untuk merujuk kepada mereka sebagai contoh seperti: AH dan AL, yang merupakan byte tinggi dan rendah dari AX register. Nomenklatur ini juga berlaku untuk BX, CX, dan register DX.
Register dikenal dengan nama khusus mereka:
AX Akumulator
Base register BX
Menghitung CX mendaftar
DX data mendaftar
DS segmen data mendaftar
Segmen ES mendaftar Ekstra
Baterai SS segmen mendaftar
CS Kode segmen mendaftar
Dasar pointer BP mendaftar
Indeks Sumber SI mendaftar
Indeks Takdir DI mendaftar
Baterai SP pointer mendaftar
Selanjutnya pointer instruksi IP mendaftar
F Bendera mendaftar

Debug program
Untuk membuat sebuah program dalam assembler ada dua pilihan, yang pertama adalah dengan menggunakan TASM atau Turbo Assembler, Borland, dan yang kedua adalah dengan menggunakan debugger - pada bagian pertama kita akan menggunakan yang terakhir karena ditemukan di setiap PC dengan MS-DOS, yang membuatnya tersedia untuk setiap pengguna yang memiliki akses ke mesin dengan karakteristik ini.
Debug hanya dapat membuat file dengan ekstensi. COM, dan karena karakteristik jenis-jenis program yang mereka tidak dapat lebih besar bahwa 64 kb, dan mereka juga harus mulai dengan perpindahan, offset, atau 0100H arah memori dalam segmen tertentu.
Debug menyediakan satu set perintah yang memungkinkan Anda melakukan sejumlah yang berguna
operasi:
Sebuah Merakit instruksi simbolis ke dalam kode mesin
D Tampilan isi dari area memori
E Masukkan data ke dalam memori, dimulai pada lokasi tertentu
G Jalankan program dieksekusi dalam memori
N Nama program
P Lanjutkan, atau mengeksekusi satu set instruksi yang terkait
Q Keluar dari program men-debug
R Menampilkan isi dari satu atau lebih register
T Trace isi dari satu instruksi
U unassembled kode mesin ke dalam kode simbolik
W Menulis program ke disk
Hal ini dimungkinkan untuk memvisualisasikan nilai-nilai register internal dari CPU menggunakan program Debug. Untuk mulai bekerja dengan Debug, ketik prompt berikut di komputer Anda:
C: /> Debug [Enter]
Pada baris berikutnya dasbor akan muncul, ini adalah indikator Debug, pada saat ini petunjuk Debug dapat diperkenalkan dengan menggunakan perintah berikut:
-R [Enter]
AX = 0000 BX = 0000 CX = 0000 DX = 0000 SP = ffee BP = 0000 SI = 0000 DI = 0000
DS = 0D62 = 0D62 ES SS = 0D62 = 0D62 CS IP = 0100 NV EI PL NZ NA PO NC
0D62: 2E 0100 CS:
0D62: 0101 CMP BYTE PTR 803ED3DF00 [DFD3], 00 CS: DFD3 = 03
Semua isi dari register internal dari CPU yang akan ditampilkan, sebuah
alternatif melihat mereka adalah dengan menggunakan "r" perintah menggunakan sebagai parameter
nama register yang nilainya ingin dilihat. Sebagai contoh:
-RBX
BX 0000
:
Instruksi ini hanya akan menampilkan isi dari register BX dan indikator berubah Debug dari "-" untuk ":"
Ketika prompt seperti ini, adalah mungkin untuk mengubah nilai dari register yang terlihat dengan mengetikkan nilai baru dan [Enter], atau nilai lama dapat dibiarkan dengan menekan [Enter] tanpa mengetik nilai lain.

Assembler struktur
Dalam bahasa assembly baris kode memiliki dua bagian, yang pertama adalah nama dari instruksi yang akan dieksekusi, dan yang kedua adalah parameter dari perintah. Sebagai contoh: add ah bh
Berikut "menambahkan" adalah perintah yang akan dieksekusi, dalam hal ini sebuah tambahan, dan "ah" serta "bh" adalah parameter.
Sebagai contoh: mov al, 25
Dalam contoh di atas, kita menggunakan instruksi mov, itu berarti memindahkan nilai 25 dengan al mendaftar.
Nama dari instruksi dalam bahasa ini terbuat dari dua, tiga atau empat huruf. Instruksi-instruksi ini juga disebut nama atau kode mnemonik operasi, karena mereka mewakili fungsi prosesor akan melakukan.
Kadang-kadang instruksi yang digunakan sebagai berikut:
tambahkan al, [170]
Kurung dalam parameter kedua menunjukkan kepada kita bahwa kita akan bekerja dengan isi sel memori nomor 170 dan tidak dengan nilai 170, ini dikenal sebagai pengalamatan langsung.
Membuat program assembler dasar
Langkah pertama adalah untuk memulai Debug, langkah ini hanya terdiri dari mengetik men-debug [Enter] pada sistem operasi prompt.
Untuk merakit sebuah program pada Debug, "a" (merakit) Perintah ini digunakan; ketika perintah ini digunakan, alamat di mana Anda ingin untuk memulai perakitan dapat diberikan sebagai parameter, jika parameter ini diabaikan perakitan akan dimulai pada wilayah yang ditentukan oleh CS: IP, biasanya 0100h, yang merupakan lokasi di mana program dengan COM ekstensi harus.
dimulai. Dan itu akan menjadi tempat kita akan digunakan sejak Debug hanya dapat membuat jenis spesifik dari program.
Meskipun pada saat ini tidak perlu untuk memberikan "sebuah" perintah parameter, maka dianjurkan untuk melakukannya untuk menghindari masalah setelah CS: register IP yang digunakan, karena itu kita ketik:
sebuah 100 [enter]
mov ax, 0002 [masukkan]
mov bx, 0004 [masukkan]
tambahkan kapak, bx [enter]
nop [enter] [enter]
Apa program ini lakukan?, Memindahkan nilai 0002 ke register kapak, memindahkan nilai 0004 ke register bx, menambahkan isi dari kapak dan register bx, instruksi, operasi tidak ada, untuk menyelesaikan program.
Dalam program debug. Setelah melakukan ini, muncul di layar beberapa seperti baris berikut:
C: \> men-debug
-A 100
0D62: 0100 mov ax, 0002
0D62: 0103 mov bx, 0004
0D62: 0106 menambahkan kapak, bx
0D62: nop 0108
0D62: 0109
Ketik perintah "t" (trace), untuk mengeksekusi setiap instruksi dari program ini,
contoh:
-T
AX = 0002 BX = 0000 CX = 0000 DX = 0000 SP = ffee BP = 0000 SI = 0000 DI = 0000
DS = 0D62 = 0D62 ES SS = 0D62 = 0D62 CS IP = 0103 NV EI PL NZ NA PO NC
0D62: 0103 BB0400 MOV BX, 0004
Anda melihat bahwa nilai 2 pindah ke AX mendaftar. Ketik perintah "t" (trace),
lagi, dan Anda melihat instruksi kedua dijalankan.
-T
AX = 0002 BX = 0004 CX = 0000 DX = 0000 SP = ffee BP = 0000 SI = 0000 DI = 0000
DS = 0D62 = 0D62 ES SS = 0D62 = 0D62 CS IP = 0106 NV EI PL NZ NA PO NC
0D62: 0106 01D8 ADD AX, BX
Ketik perintah "t" (jejak) untuk melihat menambahkan instruksi dijalankan, Anda akan melihat baris berikut:
-T
AX = 0006 BX = 0004 CX = 0000 DX = 0000 SP = ffee BP = 0000 SI = 0000 DI = 0000
DS = 0D62 = 0D62 ES SS = 0D62 = 0D62 CS IP = 0108 NV EI PL NZ NA PE NC
0D62: 90 NOP 0108
Kemungkinan bahwa register mengandung nilai yang berbeda ada, tapi AX dan BX harus sama, karena mereka adalah orang-orang kita hanya dimodifikasi.
Untuk keluar Debug menggunakan "q" (berhenti) perintah.

PERINTAH DASAR ASSEMBLER
 ¨             Mov
Perintah untuk mengisi, memindahkan, memperbaharui isi suatu register, variabel ataupun suatu lokasi memori.
Penulisan perintah:
MOV [operand A],[operand B]

Dengan ketentuan operand A merupakan register, variabel, lokasi memori dan ketentuan isi operand B berupa register, variabel, lokasi memori ataupun bilangan.
Operand B merupakan bilangan asal yang akan diisikan ke operand A, dengan kata lain operand A merupakan tujuan pengisian atau penduplikatan dari operand B.

Contoh:
MOV AH, AL
 Operand A dari perintah diatas adalah register AH
Operand B dari perintah diatas adalah register AL
Hal yang dilakukan dari perintah diatas adalah menduplikatkan isi register AL ke register AH

MOV AH,02
 Operand A dari perintah diatas adalah register AH
Operand B dari perintah diatas adalah bilangan 02
Hal yang dilakukan dari perintah diatas adalah memasukkan 02 ke register AH

¨             Int (Interrupt)
Perintah Int (Interrupt) mempunyai cara kerja yang sama dengan perintah GOSUB pada BASIC, hanya pada Int, subrotine yang akan dipaggil sudah tersedia pada memori komputer.
Subrotine yang dipanggil menggunakan perintah Int (interrupt) terdiri dari 2 jenis, yaitu:
1.  Bios Interrupt yaitu Int yang disediakan oleh BIOS (Basic Input Output System). Interrupt yang termasuk dalam Interrupt BIOS adalah Int 0 hingga Int 1F hexa.
2.  DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operating System). Interupt yang termasuk dalam Interrupt DOS adalah Interrupt diatas Int 1F hexa. Misal: Interrupt 20 hexa, Interrupt 21 hexa dll.

ü Int 20
Int 20h merupakan salah satu dari DOS Interrupt. Tugas Int 20h adalah memberhentikan proses komputer terhadap suatu program COM. Bila pada semua program Com tidak terdapat Int 20h, maka sudah bisa dipastikan bahwa bila program diproses, maka akan terjadi hanging pada komputer. Hal ini terjadi karena komputer tidak menemukan perintah pemberhentian proses.
ü Int 21h Service 02
Int 21h juga merupakan salah satu dari DOS Interrupt. Int 21h mempunyai banyak tugas, maka tugasnya dibagi-bagi menjadi beberapa bagian. Untuk memanggil bagian-bagian itu, perlu disertakan nomor bagiannya yang disebut Service Number.
Untuk menjalankan fungsi Int 21h service 02 harus dipenuhi beberapa syarat:
-       Register AH, harus berisi service number dari Int 21h yang akan dijalankan (02h)
-       Register DL, harus berisi bilangan hexa dari karakter ASCII yang akan dicetak

¨             Q (Quit)
Bila kita mengetik Q dan menekan Enter, maka akan segera kembali ke DOS Prompt.
Contoh:

A>DEBUG
-Q
A>

¨             H (Hexa)
Perintah yang melaksanakan penjumlahan dan pengurangan terhadap dua bilangan hexa.
Bentuk Umum Instruksi:
H operand1  operand2

Contoh:

-H  2204   2012
4216 01F2

Pada perintah diatas terdapat dua bilangan. Bilangan sebelah kiri adalah penjumlahan kedua bilangan tersebut dan sebelah kanan adalah pengurangan kedua bilangan tersebut.

¨             R (Register)
Perintah ini adalah untuk mengetahui isi masing-masing register pada saat mengetik R dan menekan Enter.
Contoh:

-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=CE2E BP=0000 SI=0000 DI=0000
DS=0FD8 ES=0FD8 CS=0FD8 IP=0100     MV  UP  DI  PL  MZ  MA  PO  NC
0FD8:0100  E603                        OUT   03,AL

 ¨             A (Assembler)
Perintah ini berguna untuk tempat menulis program Assembler.
Contoh:

-A100
0fD8:100

Pada sebelah kiri bawah huruf A terdapat angka yang merupakan pernyataan segment dan offset dimana anda menempatkan program.

¨             N (Name)
Perintah ini untuk memasukkan nama program setelah program dibuat.
Bentuk Umum Instruksi:
N [Drive]: [nama program]

Contoh:

-N B:COBA.COM

¨             RCX (Register CX)
Perintah untuk mengetahui dan memperbaharui isi register CX yang merupakan tempat penampungan panjang program yang sedang aktif sebelum dijalankan (running).
Contoh:

-RCX
CX  0000
.

¨             RIP (Register IP)
Peirntah yang memberitahu komputer untuk memulai proses program dari titik tertentu (selalu dimulai dari 100 hexa).
Contoh:
 -RIP
IP 0100
.

¨             W (Write)
Setelah selesai membuat program dan menentukan RCX dan RIP dari program yang dibuat, adalah menulis program itu dahulu sebelum memprosesnya.
 Contoh:
 -W
Writing 0008 bytes

¨             G (Go)
Untuk memproses di dalam DEBUG ketik huruf G dan tekan Enter, maka program yang ditulis akan dijalankan.
Contoh:
 -G
A
Program terminated normally

¨             T (Trace)
Perintah ini untuk memproses sebaris program saja.
Contoh:
 -T
AX=0200 BX=0000 CX=0008 DX=0000 SP=CE2E BP=0000 SI=0000 DI=0000
DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8 IP=0102 MV UP DI PL NZ NA PO NC
0FD8:0102 B241                        MOV   DI,41

¨             U (Unassemble)
Fungsi ini sama dengan fungsi LIST pada BASIC, yaitu untuk melihat ptogram yang sedang aktif saat itu, maka yang ditampilkan adalah program sepanjang 21h.
Contoh:
 -U
0FD8:0102  B241                       MOV                           DI,41
0FD8:0104  CD21                       INT                             21
0FD8:0106  CD20                       INT                             20
0FD8:0108  D9B90300  FSTCW                     [BX+DI+0003]
0FD8:010C F3                             REPZ
0FD8:010D A4                            MOVSB
0FD8:010E B020                        MOV                           AL,20
0FD8:0110 AA                             STOSB
0FD8:0111 C3                             RET
0FD8:0112 3C80                        CMP                           AL,80
0FD8:0114 7214             JB                               012A
0FD8:0116 2C80                        SUB                           AL,80
0FD8:0118 1E                             PUSH                         DS
0FD8:0119 53                              PUSH                         DX
0FD8:011A BE1E9142              MOV                           DS:[4291]
0FD8:011E C51E040C              LDS                            BX,[0C04]
Untuk menentukan sendiri panjang program yang ingin dilihat dapat digunakan perintah L (Length) dibelakang U.

Bentuk Umum Instruksi:
U [tempat memulai Unassemble]  L [panjang program]
 Contoh:
 -U100  L 0D
0FD8:0100  B910000                     MOV               CX,0010
0FD8:0103  B402                            MOV               AH,02
0FD8:0105  B241                            MOV               DL,41
0FD8:0107  CD21                           INT                 21
0FD8:0109  E2F8                            LOOP 0103
0FD8:010B  CD20                           INT                 20




UTILITY ASSEMBLER
Ø   Menjalankan Assembler
Untuk memulai pembuatan program, harus dijalankan DEBUG.COM terlebih dahulu.
Contoh:
 A>Debug
-A100
0FD8:0100
 Pada saat mengetik A100 berarti bahwa kita memulai sebuah program Assembler dengan byte pertama program yang diletakkan pada posisi 100 hexa.
 
Demikian sedikit pengenalan bahasa mesin atau assemblay semoga bisa menambah pengetahuan kita mengenai bahasa mesin.