Asas Assembly x86/x64
Kenali arahan asas dan sintaks bahasa assembly x86 serta x64.
Asas Assembly x86/x64 ialah pelajaran Asas Kejuruteraan Balikan & Analisis Binari percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Asas Kejuruteraan Balikan & Analisis Binari, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Asas Kejuruteraan Balikan & Analisis Binari merangkumi sejumlah 4 pelajaran.
Apakah Bahasa Himpunan?
Selamat datang ke dunia bahasa himpunan! Ini ialah bahasa pengaturcaraan aras paling rendah yang lazimnya dibaca dan ditulis oleh manusia.
Bahasa ini ialah perwakilan simbolik bagi kod mesin, iaitu arahan binari mentah yang difahami dan dilaksanakan secara langsung oleh pemproses komputer (CPU). Anggaplah ia sebagai bahasa ibunda CPU.
Pandangan Aras Rendah Kejuruteraan Balik
Bagi jurutera balik, memahami bahasa himpunan amat penting. Apabila anda menganalisis atur cara yang telah disusun, anda jarang mempunyai kod sumber asal.
Sebaliknya, anda akan melihat perwakilan himpunannya. Mempelajari bahasa himpunan membantu anda:
- Memahami dengan tepat cara atur cara dilaksanakan.
- Mengenal pasti fungsi, data dan aliran kawalan.
- Membongkar tingkah laku tersembunyi atau kerentanan.
x86 berbanding x64: Perbezaannya
Apabila kita bercakap tentang bahasa himpunan x86/x64, kita merujuk kepada set arahan untuk pemproses Intel dan AMD. Perbezaan utama ialah 'lebar' seni bina:
- x86: Merujuk kepada seni bina 32-bit.
- x64: Merujuk kepada seni bina 64-bit, yang juga dikenali sebagai AMD64 atau Intel 64.
Walaupun x64 memperkenalkan lebih banyak daftar dan laluan data yang lebih lebar, banyak arahan asas kekal serupa, selalunya dengan versi lanjutan.
Format Arahan Asas
Arahan Assembly biasanya mengikut format yang ringkas: INSTRUCTION destination, source.
- INSTRUCTION: Operasi yang perlu dilaksanakan (contohnya, memindahkan, menambah atau menolak).
- destinasi: Tempat hasil operasi akan disimpan.
- sumber: Data atau lokasi yang akan dikendalikan.
Sesetengah arahan mungkin mempunyai satu operan atau langsung tiada operan. Susunan (destinasi, sumber) adalah lazim dalam sintaks Intel, yang akan kita gunakan.
Arahan MOV
Arahan MOV ialah salah satu arahan yang paling asas. Ia bermaksud 'move' dan digunakan untuk menyalin data daripada sumber ke destinasi.
Adalah penting untuk diketahui bahawa MOV tidak 'memotong' atau 'mengalih keluar' data daripada sumber; arahan ini hanya menyalinnya, dan sumber kekal tidak berubah.
Bentuk umumnya ialah: MOV destination, source
Contoh MOV (Konseptual)
Mari kita lihat beberapa contoh konseptual MOV. Kita akan menggunakan nama daftar x86/x64 yang lazim seperti EAX, EBX, RCX dan sebagainya, yang merupakan lokasi storan kecil di dalam CPU. Jangan risau tentang fungsi tepatnya buat masa ini!
MOV EAX, EBX: Menyalin nilai daripada daftarEBXke dalam daftarEAX.MOV RCX, RDX: Menyalin nilai daripadaRDXke dalamRCX(versi 64-bit).MOV EAX, 123: Menyalin nilai pemalar123ke dalam daftarEAX.
Aritmetik: ADD dan SUB
Selain hanya memindahkan data, Assembly membolehkan operasi aritmetik asas dilakukan. Dua arahan yang lazim ialah ADD dan SUB.
ADD destination, source: Menambahkan nilaisourcekepada nilaidestination, kemudian menyimpan hasilnya dalamdestination.SUB destination, source: Menolak nilaisourcedaripada nilaidestination, kemudian menyimpan hasilnya dalamdestination.
Operasi ini mengubah operan destinasi secara terus.
Contoh ADD/SUB (Konseptual)
Berikut ialah beberapa contoh konseptual bagi ADD dan SUB:
ADD EAX, EBX:EAX = EAX + EBXSUB RCX, 10:RCX = RCX - 10ADD RDX, R8:RDX = RDX + R8(menggunakan daftar tujuan umum 64-bitR8)
Perhatikan bahawa operan destinasi dikemas kini dengan hasil operasi.
Nilai dan Operan Segera
Dalam Assembly, istilah 'operan' dan 'nilai segera' adalah penting:
- Operan: Nilai atau lokasi yang dikendalikan oleh sesuatu arahan. Ini boleh berupa daftar, alamat memori atau nilai segera.
- Nilai Segera: Nilai pemalar yang dikodkan secara terus dalam arahan itu sendiri. Contohnya, dalam
MOV EAX, 123,123ialah nilai segera.
Memahami istilah ini membantu anda mentafsir jenis data yang dikendalikan oleh sesuatu arahan.
Semakan Asas Assembly
Yang manakah antara berikut paling tepat menerangkan fungsi arahan MOV dalam Assembly x86/x64?
Imbas Kembali: Asas Assembly
Syabas! Anda baru sahaja mengambil langkah pertama ke dalam dunia bahasa Assembly untuk pemproses x86/x64.
Kita telah mempelajari:
- Apakah bahasa Assembly dan sebab bahasa ini penting untuk kejuruteraan songsang.
- Format arahan asas:
INSTRUCTION destination, source. - Arahan asas seperti
MOV(menyalin),ADD(menambah) danSUB(menolak). - Konsep nilai segera dan operan.
Seterusnya, kita akan mendalami daftar dan cara daftar berinteraksi dengan memori!
Pelajari Assembly dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Asas Assembly x86/x64” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Asas Kejuruteraan Balikan & Analisis Binari, termasuk “Asas Assembly x86/x64”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Asas Kejuruteraan Balikan & Analisis Binari merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Asas Assembly x86/x64”?
Kenali arahan asas dan sintaks bahasa assembly x86 serta x64. Anda berlatih Asas Kejuruteraan Balikan & Analisis Binari menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Asas Kejuruteraan Balikan & Analisis Binari?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Asas Kejuruteraan Balikan & Analisis Binari di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Asas Assembly x86/x64” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Asas Kejuruteraan Balikan & Analisis Binari ini?
Ya. Setiap pelajaran Asas Kejuruteraan Balikan & Analisis Binari menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Asas Assembly x86/x64
- Operasi Daftar dan Memori
- Aliran Kawalan dan Panggilan Fungsi
- Tindanan dan Konvensyen Panggilan