Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 · Pelajaran

Menyingkap Daftar x86

Fahami tujuan dan fungsi daftar tujuan umum, daftar segmen, penuding arahan dan daftar bendera dalam seni bina x86.

Pelajaran 1 daripada 411 langkah

Menyingkap Daftar x86 ialah pelajaran Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 merangkumi sejumlah 4 pelajaran.

Kenali Daftar x86

Selamat datang ke teras seni bina x86! Hari ini, kita akan memahami daftar, iaitu lokasi storan kecil yang sangat pantas dan berada terus di dalam CPU anda.

  • Daftar menyimpan data yang perlu dicapai dengan pantas oleh CPU.
  • Daftar jauh lebih pantas daripada memori utama (RAM).
  • Anggap daftar sebagai ruang catatan CPU untuk pengiraan dan operasi serta-merta.

Daftar Tujuan Umum (GPR)

Seni bina x86 menyediakan beberapa Daftar Tujuan Umum (GPR). Daftar ini serba guna dan boleh digunakan untuk pelbagai tugas, seperti menyimpan data sementara atau alamat.

GPR utama termasuk:

  • AX (Penumpuk)
  • BX (Asas)
  • CX (Kiraan)
  • DX (Data)
  • SI (Indeks Sumber)
  • DI (Indeks Destinasi)
  • BP (Penuding Asas)
  • SP (Penuding Timbunan)

AX, Penumpuk

Daftar AX (Penumpuk) sering digunakan untuk operasi aritmetik dan fungsi input/output. Daftar ini ialah daftar 16-bit, tetapi anda juga boleh mengakses separuh 8-bitnya: AH (bait tinggi) dan AL (bait rendah).

Beginilah cara anda boleh memasukkan nilai ke dalam AX:

MOV AX, 1234h  ; Move hexadecimal 1234 into AX
MOV AL, 0FFh   ; Move FF into AL (lower 8 bits of AX)

BX, Daftar Asas

Daftar BX (Asas) sering digunakan sebagai penuding asas untuk mengakses memori. Ini bermaksud daftar tersebut boleh menyimpan alamat permulaan bagi satu blok memori.

Daftar ini berguna untuk mengakses struktur data atau tatasusunan dalam memori.

MOV BX, OFFSET myArray ; Load the starting address of myArray into BX
MOV AL, [BX]         ; Load the byte at address BX into AL

CX, Pembilang

Daftar CX (Kiraan) digunakan terutamanya sebagai pembilang dalam gelung. Banyak arahan gelung dalam bahasa himpunan x86 menggunakan CX secara tersirat untuk menjejak lelaran.

Apabila LOOP digunakan, CX dikurangkan secara automatik sehingga mencapai sifar.

MOV CX, 10    ; Set loop count to 10
loop_start:
  ; Do something
  LOOP loop_start ; Decrement CX, jump if not zero

DX, Daftar Data

Daftar DX (Data) mempunyai beberapa kegunaan khusus. Daftar ini sering berfungsi bersama AX untuk operasi aritmetik besar, seperti pendaraban atau pembahagian 32-bit.

Daftar ini juga lazim digunakan untuk operasi port I/O.

MOV AX, 1000h ; Value 1
MOV DX, 0     ; Clear DX for multiplication
MOV BX, 10h   ; Value 2
MUL BX        ; AX * BX. Result (DX:AX) = 10000h

Daftar Indeks dan Penuding

Selain AX, BX, CX dan DX, kita mempunyai GPR khusus:

  • SI (Indeks Sumber): Digunakan sebagai penuding kepada data sumber dalam operasi rentetan.
  • DI (Indeks Destinasi): Digunakan sebagai penuding kepada data destinasi dalam operasi rentetan.
  • BP (Penuding Asas): Menuding kepada asas bingkai timbunan semasa, dan berguna untuk mengakses argumen fungsi serta pemboleh ubah setempat.
  • SP (Penuding Timbunan): Sentiasa menuding kepada bahagian teratas timbunan. Daftar ini penting untuk mengurus panggilan fungsi dan data setempat.

Penuding Arahan (IP)

Penuding Arahan (IP), yang juga dikenali sebagai EIP (Penuding Arahan Lanjutan) atau RIP (Penuding Arahan Relatif) dalam mod 32-bit dan 64-bit, ialah daftar yang sangat istimewa.

  • Daftar ini sentiasa menyimpan alamat memori bagi arahan seterusnya yang akan dilaksanakan.
  • Anda tidak boleh mengubah IP secara terus; sebaliknya, arahan seperti JMP (lompat) atau CALL (panggilan prosedur) mengubah nilainya.
  • Daftar ini menentukan aliran program anda!

Daftar Bendera

Daftar Bendera (FLAGS, EFLAGS atau RFLAGS) ialah himpunan bendera satu bit yang mencerminkan status CPU selepas sesuatu operasi atau mengawal kelakuannya.

Bendera utama termasuk:

  • ZF (Bendera Sifar): Ditetapkan jika hasil operasi ialah sifar.
  • CF (Bendera Bawa): Ditetapkan jika operasi aritmetik menghasilkan bawa atau pinjaman.
  • SF (Bendera Tanda): Ditetapkan jika hasilnya negatif.
  • OF (Bendera Limpahan): Ditetapkan jika operasi aritmetik menghasilkan limpahan.

Bendera ini penting untuk lompatan bersyarat!

Uji Pengetahuan Anda tentang Daftar

Daftar x86 manakah yang digunakan terutamanya sebagai pembilang untuk operasi gelung?

Ulang Kaji Daftar

Syabas! Anda telah mempelajari daftar x86 yang asas:

  • GPR (AX, BX, CX, DX) untuk manipulasi data umum.
  • Daftar Indeks/Penuding (SI, DI, BP, SP) untuk pengurusan memori dan timbunan.
  • Penuding Arahan (IP) yang penting untuk aliran program.
  • Daftar Bendera untuk status CPU dan pelaksanaan bersyarat.

Memahami daftar ini ialah kunci untuk menulis kod bahasa himpunan yang cekap. Seterusnya, kita akan meneroka cara daftar ini berinteraksi dengan memori!

Percuma untuk bermula

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 “Menyingkap Daftar x86” percuma?

Ya — teks penuh “Menyingkap Daftar x86” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86, tingkat taraf kepada CoddyKit PRO. Kursus Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyingkap Daftar x86”?

Fahami tujuan dan fungsi daftar tujuan umum, daftar segmen, penuding arahan dan daftar bendera dalam seni bina x86. Anda berlatih Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 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 Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 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 “Menyingkap Daftar x86” 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 Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 ini?

Ya. Setiap pelajaran Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86 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

  1. Menyingkap Daftar x86
  2. Mod Pengalamatan Memori
  3. Perwakilan dan Jenis Data
  4. Daftar FLAGS dan Bit Status
← Kembali ke Bahasa Himpunan & Pengaturcaraan Sistem Aras Rendah x86