Featured

Z4 Phreaker Tool

0 Assembler Dasar : Bit, Byte, dan Register

Assembler Dasar : Bit, Byte, dan Register 

 

I. Satuan, Bit, dan Byte
BIT - merupakan satuan data terkecil. Terdiri dari 1 atau 0. Biasa disebut dengan “Binary”.
BYTE – terdiri dari 8 bit. Memiliki nilai maksimal 225 (0-225). Biasa disebut sebagai “base 16 system” sedangkan binary disebut “base 2 system”.
WORD – merupakan 2 byte atau 16 bit. Word memiliki nilai maksimal 0FFFFh atau 65535d.
DOUBLE WORD – terdiri dari 2 word atau 32 bit. Nilai maksimal = 0FFFFFFFF atau 4294967295d.
KILOBYTE – 1000 bytes?? Bukan. 1 kilobyte tidak sama dengan 1000 bytes. 1 kilobyte sama dengan 1024 (32 * 32) bytes.
MEGABYTE – 1 Megabyte tidak sama dengan 1000000 bytes, tetapi 1024 * 1024 atau 1048578 bytes.
II. Register
Register adalah tempat khusus pada komputer, dimana kita bisa melakukan penyimpanan data. Kita bisa melihat register sebagai sebuah “kotak”, dimana di dalamnya kita bisa menyimpan sesuatu seperti : nama, nomor, kalimat. Kita bisa melihat register sebagai tempat penyimpanan.
Saat ini, kebanyakan komputer menggunakan 9 register 32bit. Yaitu :
EAX: Extended Accumulator Register
EBX: Extended Base Register
ECX: Extended Counter Register
EDX: Extended Data Register
ESI: Extended Source Index
EDI: Extended Destination Index
EBP: Extended Base Pointer
ESP: Extended Stack Pointer
EIP: Extended Instruction Pointer
Umumnya, ukuran register adalah 32 bit (4 bytes). Bisa menampung data dari 0 – 0FFFFFFFF. Pada awal, kebanyakan register mempunyai fungsi utama yang memiliki nama yang berarti, seperti ECX = Counter, tetapi saat ini kita bisa menggunakan register apapun yang kita sukai sebagai counter. Fungsi EAX, EBX, ECX, EDX, ESI, dan EDI akan dijelaskan saat saya menjelaskan fungsi tertentu yang digunakan pada register tersebut.

EBP : EBP paling banyak berhubungan dengan stack dan stack frames.
ESP : ESP menunjuk ke stack dari proses yang sedang terjadi. Stack adalah tempat dimana data disimpan, dan akan digunakan nantinya (untuk lebih detail, kita pelajari dahulu proses pop/push)
EIP : EIP selalu menunjuk kepada instruksi berikutnya yang akan dieksekusi.
Ada 1 hal penting yang perlu kita ketahui tentang register : walaupun besarnya 32bit, tapi beberapa bagian (16bit bahkan 8bit) tidak bisa diakses secara langsung. Yang memungkinkan yaitu :
32bit Register 16bit Register 8bit Register
EAX AX AH/AL
EBX BX BH/BL
ECX CX CH/CL
EDX DX DH/DL
ESI SI —–
EDI DI —–
EBP BP —–
ESP SP —–
EIP IP —–
Sebuah register terlihat seperti berikut :
|—————————— EAX: 32bit (=1 DWORD =4BYTES) ————————-|
|——- AX: 16bit (=1 WORD =2 BYTES) —-|
|- AH:8bit (=1 BYTE)-|- AL:8bit (=1 BYTE)-|
Jadi EAX adalah nama dari register 32 bit, AX adalah “Low Word” (16 bit) dari EAX dan AL/AH (8 bit) adalah nama dari “Low Part” dan “High Part” dari AX. Btw, 4 bytes adalah 1 DWORD dan 2 bytes adalah WORD. Masih ingat kan :D ?
Pengelompokkan berdasarkan ukuran
1. Byte-size-register : Seperti namanya, register ini memiliki ukuran tepat 1 byte. Hal ini tidak berarti 32 bit diisi semuanya dengan data. Register yang kosong diisi dengan 0. Berikut adalah register-register byte-size, semuanya berukuran 1 byte atau 8 bit.

* AL dan AH
* BL dan BH
* CL dan CH
* DL dan DH

2. Word-size-register : berukuran 1 word (= 2 bytes = 16 bit). Sebuah register word-size terdiri dari 2 register byte-size. Kita bisa mengelompokkannya berdasarkan tujuan yaitu :
a. Umum

* AX (word-size) = AH + AL -> “+” bukan berarti menjumlahkan. AH dan AL bersifat independent., tapi mereka bersama berada pada AX. Hal ini berarti jika kita mengubah AL atau AH, secara otomatis kita juga mengubah AX. :)
* AX -> accumulator, sering digunakan untuk operasi matematika
* BX -> base , digunakan sebagai konjungsi pada stack
* CX -> counter
* DX -> data , kebanyakan digunakan sebagai reminder pada operasi matematika disimpan
* DI -> Destination Index , sebagai contoh sebuah string dicopykan pada DI
* SI -> Source Index, sebagai contoh sebuah string dicopykan dari SI

b. Index

* BP -> Base Pointer, menunjuk pada posisi tertentu pada stack
* SP -> Stack Pointer, menunjuk pada posisi tertentu pada stack

c. Segment

* CS -> Code Segment, instruksi aplikasi yang dieksekusi
* DS -> Data Segment, data yang dibutuhkan
* ES -> Extra Segment

d. Spesial

* IP -> Instruction Pointer , menunjuk ke instruksi berikutnya

3. DoubleWord-size-register
2 words = 4 bytes = 32 bits. EAX, EBX, ECX, EDX, EDI, …
Jadi kalau ada huruf “E” di depan 16bit, itu berarti 32 bit. Jadi AX = 16 bits, dan EAX adalah versi 32bit.
Sumber : Woodmann
Read more

0 Pikir -pikir dulu sebelum jadi Programmer !

Kenapa perlu dipikir-pikir kalo mau jadi programmer ?
mungkin itu yang anda pikirkan dalam benak anda, so mau tau jawabannya, simak dan baca artikel ini...

Menjadi programmer bukanlah pilihan yang menjanjikan, suer!!!,  anda ingin merasakan kehidupan jadi seorang programmer? jika anda suka nonton jason bourne itulah programmer, di kejar kejar oleh waktu, bos, client dan orang orang yang selalu “ingin membunuh anda”, penuh dengan bertanya ” sudah selesaikah programnya?” sampai mana? kapan program selesai ? dstnya, namun biar lebih jelas mengapa sebaiknya andda tidak jadi programmer sekalipun anda mahasiswa jurusan IT dengan IP 4.0, sangat tidak disarankan jadi programmer,
tulisan ini saya tulis untuk anak anak IT yang mau lulus atau sedang menyelesaikan Tugas akhir, skripsi Kerja praktek atau apaun, setelah lulus jangan berpikir jadi programmer, sebaiknya anda lebih memikirkan masa depan yang lebih baik, misal jadi PNS, Pegawai kantor,  atau menjadi istri milyader jika anda perempuan atau yang lebih keren dan ngetrend sebaiknya anda menjadi hacker, punya reputasi, terkenal hebat, keren dan canggih walaupun sebenarnya anda ga sehebat itu. ingat pencitraan itu lebih penting dari kemampuan.
nih daftar alasan mengapa sebaiknya anda tidak jadi programmer!
1. terus menerus belajar 
Jika anda jadi programmer , anda harus lebih lebih hebat dari superman. Pekerjaan superman aslinya cuma wartawan, dan kemampuan supernya sudah ada secara default dari lahir, sedangkan jika anda jadi programmer, anda harus mendapatkan “kekuatan super” anda sedikit demi sedikit, dan jangan dikira anda hanya balajar bahasa pemrograman saja itu cukup, anda harus belajar apapun yang diminta client, misalnya anda membuat program untuk bank, anda harus belajar perbankan, penjualan, anda harus berpikir sebagai penjual, membuat program perhitungan nuklir, anda harus paham rumus nuklir, apapun yang diminta oleh client atau bos anda, artinya anda siap  jadi apa saja.
sebagai contoh real anda adalah programmer web dengan php, dulu anda cukup bisa php mysql, sekarang itu saja ga cukup, anda harus menguasai ajax, Jquery, json, xml, web API,framework, cloud dan segudang istilah teknis yang keluar hampir tiap hari!, muntah deh pokoknya!
2. berpikir 24 jam nonstop
Anda pikir programmer (terutama programmer yang kerja di kantor) hanya berpikir selama 8 jam sehari? tidak, apalagi programmer freelance, Programer berpikir 24 jam nonstop, saat makan, saat di Wc bahkan saat sholat anda masih memikirkan program yang tadi ga jalan, dan “BINGO” setan memberi tahu kesalahan atau solusi  persis saat anda berusaha khusuk dalam sholat. Kalau sudah akut, bahkan mimpi anda juga berisi code program yang anda begitu senangnya bahwa program selesai dibuat tapi saat bangun, weeeh…programnya masih error!
3. Menjadi Budak !
Anda harus siap jadi  budak bos anda, atau client anda, bayangkan anda jadi programmer dan bos anda didatangi client untuk membuat program ” sederhana” .programnya sederhana memang , cukup membuat program android satu tombol yang jika di klik tombolnya maka  BOM Nuklir di Iran akan meluncur ke negara yahudi, gampang kan cuman 1 tombol. Tentunya bos anda akan senang hati menerima proyek gampang tersebut dengan nilai duit yang besar, semantara anda  hanya  bisa  membenturkan kepala anda berkali kali ke tembok. :P ingat, cuman satu tombol, gampang koK!
4. Berasa jadi Buronan tiap hari  
Jason bourne, itulah gambaran yang tepat untuk programmer, hampir tiap 5 menit sms datang tanya” dah selesai mas programnya”, webnya dah jadi belum mas, kemarin revisinya gimana mas, mas cuman revisi dikit kok lama ya, terror terus berdatangan bahkan saat anda tidur, itu kalau anda freelance, tapi kalo anda programmer kantoran itu juga ga jauh beda, cuman yang bertanya bos yang tiba tiba muncul dibelakang anda dan bertanya:” Sampaimana proggressnya?”
Banyak mahasiswa stres dan pusing setengah mati ketika deadline pengumpulan naskah dan programnya belum selesai padahal kurang dari 1 minggu lagi, programmer hampir tiap hari di deadline, kata teman saya,berasa pendadaran tiap hari, dan jika anda gagal saat deadline, anda dipecat, tidak dibayar atau client membatalkan perjanjian, mereka menganggap pekerjaan programmer tuh gampang, tinggal ketik, copy paste code, terus jalan, apa susahnya  eh… ,!
5. Bayarannya dikit
jangan mimpi kalau programmer di indonesia hidup makmur, tinggal buat program , duit mengalir, jutaan atau puluhan juta, ingat itu cuman di dunia mimpi, kenyataan dilapangan, programmer indonesia cuman mendapat gaji kurang dari 10% dari teman temannya di amerika sono, Programmer itu diperas habis habisan otaknya namun dibayar seperti buruh bangunan, makanya banyakan programmer itu kurus,  jarang mandi, mata belo dan kamar brantakan karena kerja dari bangun tidur sampai mau tidur lagi!
6. Susah dapat cewek
Berbeda dengan pemain bola atau HACKERSSS, yang selalu  di gandrungi cewek cewek, dengan penampilan dekil dan jarang mandi serta mata belo, jarang yang suka ma programmer, ingat , secara programmer itu hidup sendiri dengan teman setia komputer, makanya jarang bergaul dengan manusia, saat programmer mulai menghidupkan komputer, itulah saatnya dia Masuk “real life” sedangkan saat bersosial itu hal yang sulit, programmer kurang pintar dari sisi sosial jadi inget, anda lebih baik menjadi olahragawan yang memperbesar otot anda karena secara default dari jaman purba sampai besok kiamat keknya cewek dah disetting  suka dengan laki laki yang bebadan tegap, sixpack, ganteng ya walaupun otak kosong itu ga masalah!
7. masa depan ga jelas!
sekarang sudah banyak program generator, seperti php generator, visual GUI generator dan CMS CMS bertebaran di internet, masa depan programmer itu suram, ga enak, ga jelas, kalau pingin hidup aman , jadilah PNS, bahkan saat anda tidur atau ungkang ungkang baca koran, anda ttap dibayar, sekali lagi, masa depan ga jelas,
8. Tidak ada hari libur,
Berbeda dengan pegawai kantor yang selalu berbunga bunga ketika akhir weekend, menikmati hari libur bersama keluarga, tidak ada yang namanya hari libur bagi programmer, senin,minggu, libur tahun baru, valentine itu sama saja,hari itu flat, datar dan seandainya  presiden membuat acara didepan rumah programmer ttersebut , itu juga tidak akan mengalihkannya dari coding, ingat koding dan keyboard sudah menyatu dengan badan programmer.
9. (dianggap) ga punya perasaan
MEmang sih pernyataan diatas  tidak selamanya bnar, tapi dengan bekerja secara logic tiap hari, maka semuanya dipikir secara logic, kadang berbicara kasar, ga sabar dan kadang seperti orang gila teriak teriak sendiri, benturin kepala ketembok atu tepok jidat itu tiap hari dilakukannya hanya gara gara 1 baris kode erorr!,ingat kadang proggramer itu lebih menyeramkan daripada bulldog!.jika ingin ketemu dengan programer, carilah saat yang tepat, misal saat yang tepat ketmeu programmer adalah saat dimana dia nonton film comedy atau anime jepang. karena itulah satu satunya hiburan yang menarik bagi dia!
10. Dianggap tidak tepat janji!
ada stereotipe yang menganggap programmer adalah orang yang tidak tepat janji, misal janji kalau program selesai besok, eh ternyata blum jadi, anda pikir programmer itu malas, buang jauh jauh pikiran itu, kadang programer memang tidak menulis kode, karena bingun mo nulis apa,  namun otaknya jalan terus, mencari solusi itu bisa berhari hari, anda pikir nulis program itu seperti nyusun batu bata seperti tukang bangunan, TIDAK programmer tidak menepati janjinya karena programming adalah bidang yang paling tidak pasti dalam hal “Kapan selasai”nya. anda mungkin berpikir, ah masa, loe aja kale yang ga profesional? Sekali lagi pikir dulu sebelum ngomong! perusahaan sekelas microsoft kadang menunda rilis produk selama 6 bulan lebih karena proyek program yang rencanya dirilis belum sempurna, programmernya malas?JELAS TIDAK. proggramer di microsoft itu kelas wahid, begitu juga di peruasahaan besar lainnya, Oracle, Google, Apple semuanya sering menunda rilis produk karena fitur yang dijanjikan kadang lebih sulit dari yang diduga. Berpikir positiflah jika program anda belum selesai dibuat oleh programmer!.

Read more

Delete this element to display blogger navbar

 
© Berbagi Itu Indah | Design by Blog template in collaboration with Concert Tickets, and Menopause symptoms
Powered by Blogger