Selasa, 01 Februari 2011

Bab III (lanjutan4) Belajar Assembly yuuk ....


huh, benar-benar menyebalkan, ngobrol sama teman yang benar-benar sensitif, ooppss maav, curhat colongan lagi deh ...

well,oya saya udah janji mau ngupas asal usul program dari bab sebelumnya yah, click here

ok kalau begitu kita sama-sama memandangi cerpen berikut ini:




mulai :
mov ah, 02
mov dl, 'A'
mov cx,25

ulang :
int 21h
inc dl
loop ulang


mov dl, 'Y'
mov cx,25

ulangl :
int 21h
dec dl
loop ulangl
int 20h
end mulai

well, kalau dengan move dl kita udah kenalan, tapi kalau yang namanya mov cx, kita baru tau dan biarkan saya sedikit memperkenalkan, karena saya juga belum kenal betul, hehe ...
Mov cx adalah perintah counter, jadi dia akan melakukan perintah counter sebanyak yang kita mau.

mungkin hanya itu yang bisa saya bagikan, mav sebelumnya, minggu ini benar-benar banyak pekerjaan tentang menulis, jadi rada terasa ... bosan dan bingung, karena saking banyak yang di tulis (curhat.com nih). plus internet koneksi yang kurang baik yang menunda tulisan saya dan asya sendiri lupa mau nulis apa dan akhirnya malas untuk memulainya kembali.
(kebiasaan buruk, don't try at home :))

so, sampai mood menulis saya balik lagi, ini mungkin posting terakhir dan yang terburuk saya, tapi pasti akan saya perbaiki setelah mood menulis saya balik lagi hehe...
dan cek blog saya yang lain, pasti seru deh :)

well, jangan lupa buat komen yah, komen anda sangat membantu, semoga bermanfaat ....

Bab III (lanjutan3) Belajar Assembly yuuk ....

Pagi semua, aku baru tidur dua jam untuk melanjutkan artikel ku ini, oops, maksud saya sharing belajar dengan kita semua hehe maav, curhat colongan...




anyway, sebenarnya program yang saya bagi di bab I, II, dan III sudah cukup membantu (cieh bagi, emang gorengan yah dibagi-bagi, hehe), karena itu adalah dasar dari assembly. well, selanjutnya saya hanya akan berbagi program yang diberikan pak dosen pada kami para mahasiswanya.

nah, kali ini kita akan belajar tentang looping, apa itu looping??
looping = perulangan .

di pertemuan sebelumnya kita kan membahas tentang mencetak huruf A, namun hanya sebatas itu seperti yang udah dibahas di artikel sebelumnya click here

nah belajar looping kali ini agak berbeda, kita bisa mencetak huruf dari A - Z begitu pula sebaliknya Z-A, penasaran, ok kita langsung ke TKP yuuk...

nah seperti biasa, kita ketik rumus ajaib di samping di notepad dan jangan lupa simpan di folder asm ok!

setelah itu kita lalu complie, sudah tau juga dong cara meng-compile-nya gimana, masa masih lupa juga sih?? kan ada di artikel sebelumnya, belum inget juga???
silahkan lihat artikel sebelumnya kalau begitu
click here



nah, sekarang udah pada ingetkan???
ok kalau begitu kita lanjut ke obrolan kita, sampai mana tadi??? oh sampai compile yah?
kalau sudah di pastiin nggak ada pesan error, hasil dari compile-lan kita adalah ....
benar sekaleee....
hasilnya adalah, ABCDEFGHIJKLMNOPQRSTUVWXYY(balik lagi ke) A, mav disingkat, malez nulis, hehe, contoh yang tidak baik, Don't try at home, hehe...

well, ngobrol kita smpai pada hasil dulu kali yah, saya akan lanjutkan di obrolan bab selanjutnya, sebenarnya sih, takut postingan kepanjangan, hehe, (maklum belum pake sistem read more) jadi saya potong deh, maav membuat kalian penasaran, tapi saya akan ulas setajam batu karang di bab selajutnya hehehe....

Bab III (lanjutan2) Belajar Assembly yuuk ....


SKS memang tak enak, inilah hasil dari menunda pekerjaan, humft.... SEMANGAD!!!
meski ngantuk menghantui ......

ok deh, pagi ini kita akan belajar tentang analisis .......

analisis program yang sudah kita buat, mmm, kita sebut dengan debug, bagaimana kita menjalankannya, sama, kita masih menjalankan di command prom, kita tinggal mengetikkan debug dan disertai dengan program yang mau kita analisis.
contoh : debug nyoba.com
setelah kita ketikan rumus diatas, kita tekan enter alu setelah muncul krusor berkeip kita ketikkan r setelah itu kita ketikkan t sampai ada pesan NOP yang artinya proses debug telah selesai.




















sebenarnya apa sih gunanya debug ini?????

dengan debug, kita bisa mengetahui jalannya perintah demi perintah yang diberikan secara detil,
akan cukup membantu kita kemana arah program yang kita buat berjalan....
contoh: diatas terlihat langkah pertama program kita adalah megeksekusi perintah mov ah 02, kemudian langkah selanjutnya di mengeksekusi perintah mov dl, 41 , 41 disini adalah nilai aschii untuk A yang berarti mov dl, 41 berisi perintah untuk mencetak karakter 41 alias A.
dan langkah selanjutnya dia mengeksekusi perintah INT 21 yang berarti perintah untuk menampilkan ke layar perintah yang diberikan di register dl tadi, yaitu menampilkan kareakter 41 atau A.
yang terakhir adalah NOP atau INT 2oh, yaitu perintah untuk menyudahi program.
jika sebuah program lupa diberi INT 20h akan berakibat, program itu tidak akan berhenti dan akhirnya error.

begitu kilasan berita yang bisa saya laporkan, hehe, maksud saya, itulah yang saya tahu sedikit tentang yang namanya paman debug, semoga bisa dipahami dan bermanfaat ....

oya, jangan lupa, komentar yah, kritik dan saran anda sangat bermanfa'at buat kami ....

Bab III (lanjutan) Belajar Assembly yuuk ....

hoho, episode sebelumnya kita belajar buat program yang namanya nyoba.asm .....
sekarag dhyvha akan menjelaskan sedikit tentang kenapa hasil dari complie-lan program nyoba.asm hasilnya A.

kenapa hasilnya hanya A???
kenapa nggak kita coba perintah mencetak kalimat sekalian???
well, silahkan kalian coba utak utik move dl nya, oya jika mau di ganti sebuah kalimat anda mesti menggunakan petik untuk menuliskannya, contoh : 'AMIN' .
ok silahkan mencoba, saya akan menunggu, jangan lupa untuk meng-compile ya, caranya ada di artikel sebelumnya click here


ok, udah dicoba?, kalau begitu mari kita lanjutkan obrolan kita, well, hasilnya apaan???
error???
wah anda benar, hasilnya memang eror, kenapa???
karena, model yang kita pakai adalah model small, perintah move mov ah 02 berisi 8 bit dan jika kita menuliskan kalimat atau angka lebih dari satu akan melebihi 8 bit dan komputer nggak akan mencetaknya. well, penasaran gimana sih kita cetak kalimat dengan semau kita tanpa ada batasan???
weits, be patient guys, aku akan share di contoh program di bab selanjutnya.
dan ini sedikit rincian penjelasan tentang bahasa aneh tersebut ...
  • .model small adalah program yang kita buat membutuhkan memory yang kecil
  • .code adalah pasangan org100h artinya memberitahukan kepada computer bahwa kita menggunakan kode segmen sebesar 100h/sebesar 256)
  • org 100h
  • mulai : adalah label awal
  • mov ah, 02 adalah pasangan int 20h (arti : pindahkan nilai 02 ke register AH, mov adalah opcode / mnemonic dan ah,02 adalah parameter)
  • mov dl, 'A' artinya cetaklah karakter “A”
  • int 21h artinya mengerjakan perintah DOS untuk menampilkan ke layar
  • int 20h artinya stop
  • end mulai artinya label akhir
kurang lebih alur ceritanya seperti itu, semoga bisa di pahami...
setelah ini kita akan belajar bahasa aneh lainnya, semoga kita semua bisa memahami dan menikmatinya, hehehe ....

Bab II (perkenalan) Belajar Assembly yuuk ....

Pengenalan Assembly dan Run Program



kita mesti tau pokok permasalahannya, eh, isi pokok dari program Assembly ...
pertama-tama, kita mesti punya yang namanya program compiler, ini membantu kita meng-complie program assembly yang kita buat pake notepad ke file .exe/ .com ...
file ini terdiri dari file RTM, TASM, TLINK.
well untuk lebih jelasnya kita pelototin eh maaf, kita liat gambar ini deh ya, hehe ...






nah, program2 diatas tuh, kita simpan dalam satu folder dan beri nama asm.
simpan dimanapun kita mau, tapi buat enaknya, saya simpan di C:/ saja ok.
nah sekarang, kita buka notepad, itu lho yang buat nyatet, yang letaknya ada di, start --> all program --> accessories --> notepad ...
kalo udah di buka kita ketik rumus ajaib seperti ini :

.model small
.code
org 100h
mulai :

mov ah, 02
mov dl, 'A'
int 21h
int 20h

end mulai

simpan dengan nama terserah semau anda, tapi aq mau simpan file ini dengan nama nyoba.asm, oya pas kita mau nyimpen file ini kan muncul kotak dialog tuh, pas kita tulis nyoba.asm di bawahnya ada tulisan save as type :, nah kita pilih all files lalu kita simpan di folder asm yang tadi kita simpan di C:/



















nah, setelah file notepad kita tersimpa dengan ama di folder asm, kita tinggalin dulu sementara, sekarang kita beralih ke start --> all program --> accessories --> command prom ...
setelah command prom terbuka, secara otomatis partisi yang aktif adalan C:/
























nah, setelah command prom menunjukkan dirinya seperti gambar diatas, lalu kita panggil folder asm yang kita simpan di C:/ tadi dengan mengetik perintah ini, cd asm ..


















setelah itu kita mulai proses peng-compile-lan ....
kita pangil program peng-compile dengan disertai nama file ang kita akan compile ...
yaitu, tasm nyoba.asm



















setelah kita ketik perintah seperti diatas itu, program .TASM akan meng-compile file nyoba.asm kita menjadi file nyoba.obj ...

nah setelah di pastikan tidak ada pesan error, kita lanjutkan proses peng-compile-lan kita, kali ini kita panggil dengan mengetik tlink/t nyoba.obj, bukan nyoba.asm lagi dan setelah proses selesai kita lalu paggil file .COM nya, nyoba.com dan hasilnya akan muncul..





















dan hasilnya adalah A, saya akan jelaskan kenapa pda bab selanjutnya ....
^.^

Bab I (perkenalan) Belajar Assembly yuuk ....

Assembly apaan yak????
pertamanya sih aq juja nggak tau apaan tuh assembly, sejenis bakwan kah atau keripik, hehe ...
tapi setelah ditelusuri, tanya mbah google and having re-search dari beberapa ustadz search engine ..
boong ding, aq cuma cari di google doang, hehe ......
assembly itu nama lain dari bahasa rakitan alias bahasa mesin .....
yang aq tau juga, kalo kita mau bikin sesuatu yang fantastis, bahasa sederhananya sih, jam beker, kita bisa pake assembly ini ....
berhubung aku belum belajar sejauh itu, alias masih cetek ....
disini aq mau bagi2 hadiah, oops, bukan ding, cuma mau bagi sedikit ilmu yang aq dapet dari kuliah semester tiga di STMIK Widya Utama Purwokerto, tapi sebelumnya mohon maaf yah, aq ini nggak terlalu pintar dalam soal jelas menjelaskan, jadi saya coba jelaskan semampu saya, hehehe ...

kalau begitu, ayoo kita lanjut ke bab selanjutnya ....