Buka folder proyekmu
Pilih folder kerja yang berisi sumber C-mu, salinan berkas hasil kompilasi, dan nanti listing hasil ekspor.
Pilih satu fungsi kecil dari program C yang kamu kompilasi sendiri dan pelajari dari instruksi pertama sampai return terakhir. Hukum dan syarat lisensi berbeda di tiap negara, jadi pakai hanya kodemu sendiri atau berkas latihan. Empat langkah ada di bawah.
Pilih folder kerja yang berisi sumber C-mu, salinan berkas hasil kompilasi, dan nanti listing hasil ekspor.
Biarkan Shell menjalankan perintah ekspor disassembler-mu pada salinan, atau simpan listing sendiri, sehingga hasilnya berupa berkas teks.
Minta agen membaca listing dan menjelaskan fungsinya baris demi baris, lalu simpan catatan dengan write_file.
Bandingkan catatan dengan kode sumber dan listing-mu, baca diff di Ask first, dan uji hasilnya di lab jika itu sah.
add_numbers.asmteks terbacaedx add_numbers.asm2 kecocokannotes/add_numbers.mdtersimpannotes/add_numbers.md+4 baris; add_numbers.asm - teaching listing, x64 Windows
; Returns the sum of its first two integer arguments.
; Argument 1 arrives in ecx (low half of rcx).
; Argument 2 arrives in edx (low half of rdx).
add_numbers:
mov eax, ecx ; copy argument 1 into eax
add eax, edx ; add argument 2, the sum stays in eax
ret ; return to the caller, result in eaxFungsi ini menjumlahkan dua bilangan bulat. Menurut konvensi Windows x64, argumen tiba di ecx dan edx, jumlahnya dibentuk di eax, dan ret mengembalikan kendali ke pemanggil.
Pertanyaan pemula yang umum adalah bagaimana memulai assembly, dan jawabannya adalah fungsi yang kamu tulis sendiri. Tulis fungsi C pendek, kompilasi, dan ekspor listing sebagai teks. read_file membuka listing dan agen menjelaskan tiap instruksi: register mana yang menyimpan tiap argumen, apa yang dilakukan stack, dan ke mana hasilnya kembali. write_file menyimpan penjelasan itu di notes/begin.md. Di Plan only, agen lebih dulu mendaftar langkah-langkah ini. Belum ada yang dijalankan. Lalu ganti ke Ask first dan baca diff sebelum tiap penyimpanan. Terakhir, bandingkan catatan dengan kode sumbermu dan, jika sah, uji fungsi hasil kompilasi di lab.
Latihan yang bagus dalam rekayasa balik API adalah mendaftar fungsi yang diekspos pustakamu sendiri dan menuliskan apa yang dilakukan tiap argumen. Simpan daftar fungsi yang diimpor dan diekspos dari alat milikmu sebagai teks, lalu agen memakai grep untuk menemukan setiap pemanggilan satu fungsi dan read_file untuk membuka baris di sekitarnya. Ia menyusun draf tabel di notes/api.md, dan edit_file menampilkan setiap perubahan sebagai diff. Mulai dengan satu fungsi. Metode yang sama membantumu memulihkan cara kerja kodemu yang lama. Agen bisa keliru soal tipe atau tujuan, jadi bandingkan tiap baris dengan kode sumbermu dan ujimu sendiri sebelum menerimanya.