Penjumlahan dengan Bahasa Rakitan (Debug)

Berhubung ada masalah dengan kelistrikan di lab hardware, berikut ini saya publish cara menjumlahkan dua angka dengan bahasa rakitan (debug). Praktekan dengan komputer yang ada di lab.

Di sini kita harus mengurangi tiap bilangan yang diinputkan dengan 30H untuk keperluan merubah ‘String’ menjadi ‘Numerik’. Sebagai contoh, angka dua dalam ASCII adalah 32H, jika dua ditambah tiga tanpa dikurangi 30H, hasilnya bukan 35H melainkan 65H sehingga hasilnya jauh dari akurat. Untuk memunculkan kalimat ‘Masukkan Angka 1 : ‘ kita gunakan interupt 21 service 09H. Untuk menerima masukan dari keyboard kita gunakan interupt yang sama tetapi dengan servis 01H.

Interupt 21 Servis 09H

Interupt ini bermaksud mencetak satu deretan ‘String’ di layar. Berbeda dengan Servis 02H yang hanya mencetak satu ‘Karakter’, servis ini mencetak isi RAM di alamat offset yang didefinisikan di register DX. Oleh karena itu sebelum program dijalankan, kita harus mengisi terlebih dahulu RAM dengan ‘String’ lewat instruksi ‘f’, singkatan dari ‘fill’. Misal –f200’Masukkan Angka 1 : $’ berarti mengisi RAM di offset 200 dengan kalimat ‘Masukkan Angka 1 : ‘. Perhatikan, selalu diakhiri dengan simbol ‘$’ yang artinya ‘String‘.

Interupt 21 Servis 01H

Interupt DOS ini merupakan servis untuk menangkap masukan dari keyboard yang hasilnya disimpan di register AL. Jadi jika kita masukan angka ‘2’, maka ASCII ‘2’ yang berupa bilangan 32H akan tersimpan di register AL. Karena akan dijumlahkan, maka harus kita konversi terlebih dahulu menjadi 02H dengan cara mengurangi isi register AL tersebut dengan bilangan 30H agar dihasilkan bilangan 02H. Berikutnya isi register AL harus kita pindahkan, misalnya ke register BL, karena AL akan digunakan untuk menampung masukan dari keyboard untuk angka kedua.

Menulis kode di Debug.Exe

Berikutnya kita mulai menuliskan kode program di debug. Masuk ke DOS prompt lewat ‘Start’ – ‘Run’ – ‘Ketik CMD’. Setelah masuk ke DOS, ketik ‘debug’. Kita mulai membuat program di alamat offset ‘100’, dengan mengetik ‘- a100’.

Ketika kita salah mengetik instruksi, debug langsung menunjukkan lokasi kesalahannya (lihat offset 0124). Jika kita jalankan, misal angka pertama 2 dan angka kedua 3 maka dihasilkan angka 5. Untuk menjalankan ketik ‘g’ yang artinya ‘Go’.

Tentang rahmadya

I'm a simple man .. Lahir di Sleman Yogyakarta, 7 Juni 1976 PENDIDIKAN: TK : - (tidak ada TK di tj Priok waktu itu) SDN : Papanggo, Jakarta 83 - 89 SMPN : 129, Jakarta 89 - 92 SMAN : 8, Yogyakarta 92 - 95 Univ. : Fak. Teknik UGM, Yogyakarta 95 - 2001 Pasca. : Tek. Informatika STMIK Nusa Mandiri, Jakarta 2008 - 2010 Doctoral : Information Management Asian Institute of Technology, Thailand 2013 - 2018 PEKERJAAN: Tek. Komputer AMIK BSI Jakarta : 2002 - 2005 IT Danamon Jakarta : 2005 - 2008 Tek. Informatika STMIK Nusa Mandiri Jakarta : 2005 - 2008 Univ. Darma Persada Jakarta: 2008 - 2013 Fakultas Teknik Universitas Islam "45" Bekasi : 2008 - Skrg ( Homebase) Univ. Bhayangkara Jakarta Raya: 2018 - Skrg Univ. Nusa Putra Sukabumi: 2018 - Skrg
Pos ini dipublikasikan di Bahasa Rakitan, Mikroprosesor & Bahasa Rakitan. Tandai permalink.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.